Arduino ultraheliandur: kuidas mõõta vahemaid
Arduino abil saate ultrahelianduri abil hõlpsalt vahemaid mõõta. Selles praktilises näpunäites näitame teile, kuidas.
Arduino ultraheliandur: kuidas mõõta vahemaid
Lisaks Arduinole vajate vahemaa mõõtmiseks leivalauda koos mõne hüppajakaabli ja HC-SR04 ultraheli mõõtemooduliga.
- Ühendage mooduli "päästiku" nööpnõel 13 ja "kaja" tihvt Arduino 12-e kontaktiga. Ühendage ka ultraheli mõõtemoodul HC-SR04 5 V ja maandusega.
- Määrake "päästik" väljundina ja "kaja" sisendina. Teil on vaja ka pikki muutujaid "kestus" ja "vahemaa".
- Lülitage esmalt päästik välja (»digitalWrite (päästik, LOW);«) ja oodake 2 mikrosekundit (»delayMicroseconds (2);«). Seejärel lülitage päästik sisse (»digitalWrite (päästik, HIGH);«), oodake 10 mikrosekundit (»delayMicroseconds (10);«) ja lülitage see uuesti välja (»digitalWrite (päästik, LOW);«). Selle abil saate arvutada kestuse (»kestus = pulseIn (kaja, HIGH);«) ja lõpuks tegeliku vahemaa (»vahemaa = (kestus / 2) / 29, 1;«).
- Selle muutuja abil saate arvutamist jätkata vastavalt oma soovile.
Arduino: ultrahelianduri näidiskood
Pildil näete koodi, mida saate kasutada, kui soovite HC-SR04 professionaalselt kasutada. Kood kopeeritakse ka siia:
- # lisamine #defineeri päästik 13 #defineeri kaja 12 #defineeri led_1 11 #defineeri led_2 10 int väärtus_tone; pikk kestus, vahemaa; LiquidCrystal LCD (7, 6, 5, 4, 3, 2); kehtetu seadistamine () {Serial.begin (9600); pinMode (päästik, VÄLJUND); // HC-SR04 pinMode tihvt (kaja, sisend); // HC-SR04 pinMode tihvt (led_1, VÄLJUND); // LED pinMode (led_2, VÄLJUND); // LED pinMode (9, VÄLJUND); // summeri lcd.begin (16, 2); } void loop () {digitalWrite (päästik, LOW); viivitusMikrosekundid (2); digitalWrite (päästik, HIGH); viivitusMikrosekundid (10); digitalWrite (päästik, LOW); kestus = pulseIn (kaja, HIGH); vahemaa = (kestus / 2) / 29, 1; if (vahemaa = 200 || kaugus <= 0) {Serial.println ("Väljaspool leviala"); } else {Serial.print (distance); Serial.println ("cm"); } lcd.clear (); lcd.setCursor (1, 0); lcd.print ("Kaugus:"); lcd.print (vahemaa); lcd.print ("cm"); if (kaugus 0) {väärtus_toon = kaart (kaugus, 0, 200, 0, 5000); toon (9, väärtus_toon); } else {} viivitus (500); }
Järgmises praktilises näpunäites näitame teile, kuidas seadistada Arduinole GSM-moodul.