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:

HC-SR04

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;

}