Arduino ultralydsensor: hvordan måle avstander
Med Arduino kan du enkelt måle avstander ved hjelp av en ultralydsensor. I dette praktiske tipset viser vi deg hvordan.
Arduino ultralydsensor: hvordan måle avstander
For å måle avstander, trenger du en brødplate med noen jumperkabler samt en HC-SR04 ultrasonisk målemodul i tillegg til Arduino.
- Koble "Trigger" -stiften på modulen til Pin 13 og "Echo" -stiften til Pin 12 på Arduino. Koble også ultralydmålermodulen HC-SR04 til 5V og bakken.
- Definer "trigger" som output og "echo" som input. Du trenger også de lange variablene "varighet" og "avstand".
- Slå først av avtrekkeren (»digitalWrite (trigger, LOW);«) og vent 2 mikrosekunder (»delayMicroseconds (2);«). Slå deretter på avtrekkeren (»digitalWrite (trigger, HIGH);«), vent 10 mikrosekunder (»delayMicroseconds (10);«) og slå den av igjen (»digitalWrite (trigger, LOW);«). Bruk dette til å beregne varigheten (»varighet = pulsIn (ekko, HØY);«) og til slutt den faktiske avstanden (»avstand = (varighet / 2) / 29.1;«).
- Med denne variabelen kan du fortsette å beregne slik du ønsker.
Arduino: Eksempelkode for ultralydsensoren
På bildet ser du koden du kan bruke hvis du vil bruke HC-SR04 profesjonelt. Du er også velkommen til å kopiere koden her:
- #include #define trigger 13 #define echo 12 #define led_1 11 #define led_2 10 int value_tone; lang varighet, avstand; LiquidCrystal lcd (7, 6, 5, 4, 3, 2); ugyldig oppsett () {Serial.begin (9600); pinMode (trigger, OUTPUT); // Pin of HC-SR04 pinMode (ekko, 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); forsinkelse Mikrosekunder (2); digitalWrite (trigger, HIGH); forsinkelse Mikrosekunder (10); digitalWrite (trigger, LOW); varighet = pulsIn (ekko, HØY); avstand = (varighet / 2) / 29, 1; if (avstand = 200 || avstand <= 0) {Serial.println ("Utenfor rekkevidde"); } annet {Serial.print (avstand); Serial.println ("cm"); } lcd.clear (); lcd.set Markør (1, 0); lcd.print ("Distanse:"); lcd.print (avstand); lcd.print ("cm"); if (avstand 0) {verdi_tone = kart (avstand, 0, 200, 0, 5000); tone (9, verdi_tone); } annet {} forsinkelse (500); }
I det neste praktiske tipset, vil vi vise deg hvordan du setter opp en GSM-modul på Arduino.