Arduino ultralydssensor: hvordan man måler afstande
Med Arduino kan du nemt måle afstande ved hjælp af en ultralydssensor. I dette praktiske tip viser vi dig hvordan.
Arduino ultralydssensor: hvordan man måler afstande
For at måle afstande skal du have et brødbræt med nogle jumperkabler samt et HC-SR04 ultralydsmåle modul ud over Arduino.
- Forbind "Trigger" -tappen på modulet til Pin 13 og "Echo" -stiften til Pin 12 på Arduino. Tilslut også HC-SR04 ultralydsmålermodul til 5V og jord.
- Definer "trigger" som output og "echo" som input. Du har også brug for de lange variabler "varighed" og "afstand".
- Sluk først for triggeren (»digitalWrite (trigger, LOW);«) og vent 2 mikrosekunder (»delayMicroseconds (2);«). Tænd derefter for triggeren (»digitalWrite (trigger, HIGH);«), vent 10 mikrosekunder (»delayMicroseconds (10);«) og sluk den igen (»digitalWrite (trigger, LOW);«). Brug dette til at beregne varigheden (»varighed = pulsIn (ekko, HØJ);«) og til sidst den faktiske afstand (»afstand = (varighed / 2) / 29.1;«).
- Med denne variabel kan du fortsætte med at beregne, som du ønsker.
Arduino: Prøvekode til ultralydssensoren
På billedet kan du se den kode, du kan bruge, hvis du vil bruge HC-SR04 professionelt. Du er også velkommen til at kopiere koden her:
- #include #define trigger 13 #define echo 12 #define led_1 11 #define led_2 10 int value_tone; lang varighed, afstand; LiquidCrystal lcd (7, 6, 5, 4, 3, 2); tom opsætning () {Serial.begin (9600); pinMode (trigger, OUTPUT); // Pin of HC-SR04 pinMode (ekko, INPUT); // Pin af 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); forsinkelse Mikrosekunder (2); digitalWrite (trigger, HIGH); forsinkelse Mikrosekunder (10); digitalWrite (trigger, LOW); varighed = pulsIn (ekko, HØJ); afstand = (varighed / 2) / 29, 1; if (afstand = 200 || afstand <= 0) {Serial.println ("Uden for rækkevidde"); } andet {Serial.print (afstand); Serial.println ("cm"); } lcd.clear (); lcd.set markør (1, 0); lcd.print ("Afstand:"); lcd.print (afstand); lcd.print ("cm"); if (afstand 0) {value_tone = kort (afstand, 0, 200, 0, 5000); tone (9, værdi_tone); } andet {} forsinkelse (500); }
I det næste praktiske tip viser vi dig, hvordan du opsætter et GSM-modul på Arduino.