Arduino ultraljudssensor: hur man mäter avstånd
Med Arduino kan du enkelt mäta avstånd med en ultraljudssensor. I detta praktiska tips visar vi dig hur.
Arduino ultraljudssensor: hur man mäter avstånd
För att mäta avstånd behöver du en brödskiva med vissa bygelkablar samt en ultraljudsmätningsmodul HC-SR04 förutom Arduino.
- Anslut "Trigger" -stiftet på modulen till Pin 13 och "Echo" -stiftet till Pin 12 på Arduino. Anslut också ultraljudsmätningsmodulen HC-SR04 till 5V och mark.
- Definiera "trigger" som utgång och "echo" som input. Du behöver också de långa variablerna "varaktighet" och "avstånd".
- Stäng först av avtryckaren (»digitalWrite (trigger, LOW);«) och vänta 2 mikrosekunder (»delayMicroseconds (2);«). Slå sedan på avtryckaren (»digitalWrite (trigger, HIGH);«), vänta 10 mikrosekunder (»fördröjningmikrosekunder (10);«) och stäng av den igen (»digitalWrite (trigger, LOW);«). Använd detta för att beräkna varaktigheten (»varaktighet = pulsIn (eko, HÖG);«) och slutligen det faktiska avståndet (»avstånd = (varaktighet / 2) / 29.1;«).
- Med denna variabel kan du fortsätta att beräkna som du vill.
Arduino: Provkod för ultraljudssensorn
På bilden kan du se koden du kan använda om du vill använda HC-SR04 professionellt. Du är också välkommen att kopiera koden här:
- #include #define trigger 13 #define echo 12 #define led_1 11 #define led_2 10 int value_tone; lång varaktighet, avstånd; LiquidCrystal lcd (7, 6, 5, 4, 3, 2); void setup () {Serial.begin (9600); pinMode (trigger, OUTPUT); // Pin av HC-SR04 pinMode (eko, INPUT); // Pin of HC-SR04 pinMode (led_1, OUTPUT); // LED pinMode (led_2, OUTPUT); // LED-pinMode (9, OUTPUT); // summer lcd.begin (16, 2); } void loop () {digitalWrite (trigger, LOW); fördröjning Mikrosekunder (2); digitalWrite (trigger, HIGH); fördröjning Mikrosekunder (10); digitalWrite (trigger, LOW); varaktighet = pulsIn (eko, HÖG); avstånd = (varaktighet / 2) / 29, 1; if (avstånd = 200 || avstånd <= 0) {Serial.println ("Out of range"); } annat {Serial.print (avstånd); Serial.println ("cm"); } lcd.clear (); lcd.setCursor (1, 0); lcd.print ("Distans:"); lcd.print (avstånd); lcd.print ("cm"); if (avstånd 0) {värde_ton = karta (avstånd, 0, 200, 0, 5000); ton (9, värde_ton); } annars {} försening (500); }
I nästa praktiska tips visar vi dig hur du ställer in en GSM-modul på Arduino.