Ultrazvukový senzor Arduino: jak měřit vzdálenosti
S Arduino můžete snadno měřit vzdálenosti pomocí ultrazvukového senzoru. V tomto praktickém tipu vám ukážeme, jak na to.
Ultrazvukový senzor Arduino: jak měřit vzdálenosti
K měření vzdáleností potřebujete kromě Arduina také prkénko s několika propojovacími kabely a ultrazvukový měřicí modul HC-SR04.
- Připojte pin "Trigger" modulu k Pin 13 a pin "Echo" k Pin 12 Arduino. Připojte také ultrazvukový měřicí modul HC-SR04 k 5V a kostře.
- Definujte „trigger“ jako výstup a „echo“ jako vstup. Potřebujete také dlouhé proměnné „trvání“ a „vzdálenost“.
- Nejprve vypněte trigger (»digitalWrite (trigger, LOW);«) a počkejte 2 mikrosekundy (»delayMicroseconds (2);«). Poté spoušť zapněte (»digitalWrite (trigger, HIGH);«), počkejte 10 mikrosekund (»delayMicroseconds (10);«) a znovu ji vypněte (»digitalWrite (trigger, LOW);«). Použijte k výpočtu doby trvání (»trvání = pulseIn (echo, HIGH);«) a konečně skutečné vzdálenosti (»vzdálenost = (trvání / 2) / 29, 1;«).
- S touto proměnnou můžete pokračovat ve výpočtu, jak si přejete.
Arduino: Ukázkový kód ultrazvukového senzoru
Na obrázku vidíte kód, který můžete použít, pokud chcete HC-SR04 používat profesionálně. Můžete také kód zkopírovat zde:
- #include #define trigger 13 #define echo 12 #definine led_1 11 #definine led_2 10 int value_tone; dlouhé trvání, vzdálenost; LiquidCrystal lcd (7, 6, 5, 4, 3, 2); neplatné nastavení () {Serial.begin (9600); pinMode (trigger, OUTPUT); // Pin modulu HC-SR04 pinMode (echo, INPUT); // Pin modulu HC-SR04 pinMode (led_1, OUTPUT); // LED pinMode (led_2, OUTPUT); // LED pinMode (9, VÝSTUP); // bzučák lcd.begin (16, 2); } void loop () {digitalWrite (trigger, LOW); delayMicroseconds (2); digitalWrite (trigger, HIGH); delayMicroseconds (10); digitalWrite (trigger, LOW); duration = pulseIn (echo, HIGH); vzdálenost = (trvání / 2) / 29, 1; if (vzdálenost = 200 || vzdálenost <= 0) {Serial.println ("Mimo rozsah"); } else {Serial.print (vzdálenost); Serial.println ("cm"); } lcd.clear (); lcd.setCursor (1, 0); lcd.print ("Vzdálenost:"); lcd.print (vzdálenost); lcd.print ("cm"); if (vzdálenost 0) {value_tone = mapa (vzdálenost, 0, 200, 0, 5000); tón (9, hodnota_tón); } else {} zpoždění (500); }
V dalším praktickém tipu vám ukážeme, jak nastavit modul GSM na Arduinu.