A14. HC SR04 ultraäänianturi - matpi/EmbeddedSystemsUTU GitHub Wiki
HC-SR04 on halpa, täysin toimiva ultraäänisensori, jonka antama n. 3- 300 cm. Sitä on helppo käyttää. Kun trig-pinniin annetaan n.10 mikrosekunnin pulssi, sensori lähtettää ultraääntä. Kun ääni heijastuu takasin, sensori laittaa echo-pinnin päälle merkiksi. Äänen kulkema matka voidaan laskea ajasta joka sillä kului matkalla. Sensori kytketään Arduinoon oheisen kuvan mukaisesti:
Alla olevassa koodissa on erotettu ultraäänisensorin lukeminen ja matkan laskeminen omaan aliohjelmaansa eli funktioon.
int echoPin = 11; // Määritellään, mihin Arduino pinniin echoPin yhdistetään
int trigPin = 12; // Määritellään, mihin Arduino pinniin trigPin yhdistetään
long kesto = 0; // Määritellään long-tyyppinen muuttuja nimeltä kesto
long matka = 0; // Määritellään long-tyyppinen muuttuja nimeltä matka
void setup()
{
Serial.begin (9600); // Avataan sarjaliikenne tietokoneelle nopeudella 9600 bps
pinMode(trigPin, OUTPUT); // Määritellään trigPin outputiksi
pinMode(echoPin, INPUT); // Määritellään echoPin inputiksi
}
void loop()
{
ultra(); // Määritellään ultra -niminen fuktio
Serial.println(matka); // "Serial.println" komento vaihtaa riviä tulostuksen jälkeen
delay(50);
}
void ultra() // Kutsutaan ultra
{
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
kesto = pulseIn(echoPin, HIGH);
// Muuttujan matka arvo muutetaan senttimetreiksi kaavalla
matka = kesto/58.2;
return;
}