Arduino Ultraäänisensori
Tällä kertaa sain kokeiltavaksi HC-SR04 Ultraäänisensorin. Kokeilin sensoria tekemällä etäisyysilmoittimen, jossa ledit ilmoittavat onko etäisyys kohteeseen 10cm tai yli, vai onko se alle 10cm.
Harjoituksen tekemiseen käytin HP EliteBook 2570p kannettavaa tietokonettani ja Xubuntu 12.04 LTS 32-bit usb-tikkua, johon olin asentanut Arduido-IDEn.
Tarvikkeet:
– Arduino Uno
– HC-SR04 Ultraäänisensori
– Led x2
– Hyppylanka x7
– Koekytkentälevy
Etäisyysilmoitin
/* Koodi: http://www.instructables.com/id/Simple-Arduino-and-HC-SR04-Example/step3/Upload-the-sketch/ */ #define trigPin 3 #define echoPin 2 #define led1 13 #define led2 12 void setup() { Serial.begin (9600); pinMode(trigPin, OUTPUT); pinMode(echoPin, INPUT); pinMode(led1, OUTPUT); pinMode(led2, OUTPUT); } void loop() { long duration, distance; digitalWrite(trigPin, LOW); delayMicroseconds(2); digitalWrite(trigPin, HIGH); delayMicroseconds(10); digitalWrite(trigPin, LOW); duration = pulseIn(echoPin, HIGH); distance = (duration/2) / 29.1; if (distance < 10) { // Led1 palaa, kun etäisyys on alle 10cm digitalWrite(led1,HIGH); digitalWrite(led2,LOW); } else { // Jos etäisyys on 10 tai yli, niin led2 palaa ja led1 on pois päältä digitalWrite(led1,LOW); digitalWrite(led2,HIGH); } if (distance >= 200 || distance <= 0) { Serial.println("Out of range"); } else { Serial.print(distance); Serial.println(" cm"); } delay(500); }
Arduino IDEn monitoriin tulostuu arvoja etäisyydestä. Sitä on hyvä käyttää apuna, testatessa koodin toimivuutta.
Toinen ledeistä palaa siis etäisyyden ollessa 10cm tai yli. Ja kun etäisyys menee alle 10cm, niin palava ledi vaihtuu toiseen. Käytössäni minulla oli vain keltaisia ledejä.
Kuva kytkennästä:
Lähteet
Projektit ja tehtävät tehdään Tero Karvisen Prototyypin rakentaminen -kurssille:
http://terokarvinen.com/2013/aikataulu-%E2%80%93-prototyypin-rakentaminen-bus4tn007-5-alkukevat-2014
http://www.instructables.com/id/Simple-Arduino-and-HC-SR04-Example/step3/Upload-the-sketch/
Tietoa
Tätä dokumenttia saa kopioida ja muokata GNU General Public License (versio 3 tai uudempi) mukaisesti. http://www.gnu.org/licenses/gpl.html