HC-SR04 ultraheli kaugussensor saadab välja kõrge tooniga lühikese helisignaali ja kuulab, kui palju aega läheb selle tagasipeegeldumiseni. Tagasijõudmiseni kulunud ajast arvutatakse lähima heli peegeldava keha kaugus andurist. Mõõdetav vahemik on ca 5 sentimeetrist kuni 4 meetrini. Heli levib sensori ees umbkaudu koonuse kujuliselt, seetõttu on mõõdetav piirkond suunatud, aga mitte väga kitsas.
Sensoril on terve hulk komponente sees. Töötamiseks vajab sensor 5V ja GND ühendusi, ning 2 Arduino pini.
Ühenda HC-SR04 Arduinoga, nagu eespool pildil näidatud.
VCC -> 5V
Trig -> D12
Echo -> D11
GND -> GND
Nüüd kliki Arduino IDE menüüst lahti File -> Examples -> NewPing -> NewPingExample.
Lae see sketch Arduino peale üles.
Ava seeriamonitor.
Liiguta esmeid sensori ees ja jälgi seeriamonitoris näidatavat mõõdetud kaugust.
Tutvu sketchi koodiga.
Harjutused servomootori ja kaugussensoriga
Nüüd proovime kasutada keerukamaid sisend ja väljundseadmeid libraryte abiga.
Library allalaadimine
- Mine http://playground.arduino.cc/Code/NewPing#Download ja navigeeri sealt allalaadimise lingile, vali värskeim versioon, salvesta see kuhugi.
- Paki allalaetud zip fail lahti.
- Liiguta tekkinud kataloog "NewPing" asukohta Arduino/libraries
- Ava Arduino IDE, või kui see oli avatud, pane kinni ja ava uuesti.
- Kontrolli, kas Arduino IDE menüüs eksisteerib File -> Examples -> NewPing
Ultraheli kaugussensor
Servo mootor
Servomootor on selline mootor, mis ei pöörle täisringe, vaid võtab käsu peale mingi asendi. Tema pöörderaadius on tavaliselt ca 180 kraadi (mõnel ka rohkem, nt 270, aga alati alla 360). Servo tüüpiliseks kasutuskohaks on mudellennuki tiibade kaldtüürid ehk eleroonid.
Hobi servodele sobib toitepingeks 5V, pisikese servo saame Arduino külge ühendada. (Tugevam servo võib vajada eraldi toiteallikat, sest USB port või Arduino plaadil olev pingeregulaator ei suuda talle vajalikku kogust voolu läbi lasta.) Lisaks toiteühendustele on servol ainult üks kontrolli-juhe. Selle kaudu saadetakse PWM-i meenutav signaal, mille ON ja OFF oleku ajalised pikkused ütlevad, millisesse asendisse soovime servot keerata. Servo sees olev kontroller sooritab pööramise (kui jäksab). Ja jääb jälgima olukorda - kui mingi väline jõud püüab servo asendit muuta, siis sisemine kontroller püüab kästud asendi uuesti taastada.
Servo katsetamiseks ava File -> Examples -> Servo -> Sweep. Lae see Arduinole üles ning jälgi, mis juhtub.