Arduino ultrasone sensor: afstanden meten
Met de Arduino kunt u eenvoudig afstanden meten met behulp van een ultrasone sensor. In deze praktische tip laten we u zien hoe.
Arduino ultrasone sensor: afstanden meten
Om afstanden te meten, hebt u naast de Arduino een broodplank nodig met enkele startkabels en een ultrasone meetmodule HC-SR04.
- Verbind de "trigger" pin van de module met pin 13 en de "echo" pin met pin 12 van de Arduino. Sluit ook de ultrasone meetmodule HC-SR04 aan op 5V en aarde.
- Definieer "trigger" als uitvoer en "echo" als invoer. Je hebt ook de lange variabelen "duur" en "afstand" nodig.
- Schakel eerst de trigger uit (»digitalWrite (trigger, LOW);«) en wacht 2 microseconden (»delayMicroseconds (2);«). Schakel vervolgens de trigger in (»digitalWrite (trigger, HIGH);«), wacht 10 microseconden (»delayMicroseconds (10);«) en schakel hem opnieuw uit (»digitalWrite (trigger, LOW);«). Gebruik dit om de duur te berekenen (»duration = pulseIn (echo, HOOG);«) en tenslotte de werkelijke afstand (»afstand = (duur / 2) / 29.1;«).
- Met deze variabele kunt u doorgaan met berekenen zoals u wilt.
Arduino: voorbeeldcode voor de ultrasone sensor
Op de foto ziet u de code die u kunt gebruiken als u de HC-SR04 professioneel wilt gebruiken. U bent ook van harte welkom om de code hier te kopiëren:
- #include #define trigger 13 #define echo 12 #define led_1 11 #define led_2 10 int value_tone; lange duur, afstand; LiquidCrystal lcd (7, 6, 5, 4, 3, 2); void setup () {Serial.begin (9600); pinMode (trigger, UITGANG); // Pin van HC-SR04 pinMode (echo, INPUT); // Pin van HC-SR04 pinMode (led_1, OUTPUT); // LED pinMode (led_2, OUTPUT); // LED pinMode (9, UITGANG); // zoemer lcd. begin (16, 2); } void loop () {digitalWrite (trigger, LOW); vertraging Microseconden (2); digitalWrite (trigger, HOOG); delayMicroseconds (10); digitalWrite (trigger, LAAG); duur = pulseIn (echo, HOOG); afstand = (duur / 2) / 29, 1; if (afstand = 200 || afstand <= 0) {Serial.println ("Buiten bereik"); } else {Serial.print (afstand); Serial.println ("cm"); } lcd.clear (); lcd.setCursor (1, 0); lcd.print ("Afstand:"); lcd.print (afstand); lcd.print ("cm"); if (afstand 0) {value_tone = map (afstand, 0, 200, 0, 5000); toon (9, waardetoon); } anders {} vertraging (500); }
In de volgende praktische tip laten we u zien hoe u een GSM-module op de Arduino instelt.