hc-sr04 en SR04M-2 afstandssensoren aansluitschema en voorbeeldcode voor Arduino

benodigdheden:

  1. Sluit de GND van de afstandssensor aan met behulp van een jumperkabel op de GND pin van de Arduino.
  2. Sluit de VCC van de afstandssensor aan met behulp van een jumperkabel op de 5V van de Arduino.
  3. Sluit de TRIG of de RX pin van de afstandssensor aan op pin 9 van de Arduino door gebruik te maken van een jumperkabel
  4. Sluit de ECHO of de TX pin aan op de pin 10 van de Arduino met behulp van een jumperkabel.
  5. Upload de code naar de Arduino.
  6. open de seriële monitor door de toetsenbord combinatie: CTRL+SHIT+M in te drukken
  7. stel in het middelste knopje rechts onder de baud rate in op 9600 baud

U zal nu de afstand van de sensor tot het eerste voorwerp wat voor de sensor staat zien in de seriële monitor. dit werkt doordat de sensor ultrasone golven uit zend. deze golven bewegen door de lucht en zodra ze een object raken worden deze golven door het object teruggekaatst. deze golven vangt de sensor dan weer op en meet de tijd die tussen het uitzenden en ontvangen van deze golven. Dit kan de sensor zo snel omdat de golven met een snelheid van maar liefst 343 meter per seconden door de lucht vliegen.

Aansluitschema

 

Voorbeeldcode voor Arduino


// Definieer de pinnen voor de sensoren const int trigPin = 9; // definieer de pin waar de trigger van de sensor op aangesloten is const int echoPin = 10; // definieer de pin waar de echo van de sensor op aangesloten is // Definieer variabelen long duration; // variabele voor de tijd die nodig is voor de echo van de sensor om terug te keren int distance; // variabele voor de afstand die we gaan meten void setup() { // Zet de seriële monitor aan Serial.begin(9600); // start de seriële communicatie met een baud rate van 9600 // Definieer de pinnen als invoer of uitvoer pinMode(trigPin, OUTPUT); // stel de trigger pin in als uitgang pinMode(echoPin, INPUT); // stel de echo pin in als ingang } void loop() { // Stuur een signaal naar de trig-pin digitalWrite(trigPin, LOW); // zet de trigpin uit delayMicroseconds(50); // wacht 50 milliseconden digitalWrite(trigPin, HIGH); // stuur een signaal naar de trigpin, een golf word uigezonden delayMicroseconds(200); // wacht 200 milliseconden digitalWrite(trigPin, LOW); // zet de trigger pin weer uit duration = pulseIn(echoPin, HIGH);// Meet de tijd tussen het verzenden en ontvangen van het signaal distance = duration * 0.034 / 2; // bereken de afstand in centimeters met de formule: afstand = (tijd * geluidssnelheid) / 2 Serial.print("Afstand: "); // toon de tekst "Afstand:" op de seriële monitor Serial.print(distance); // toon de berekende afstand op de seriële monitor Serial.println(" cm"); // toon de tekst "cm" op de seriële monitor en maak een nieuwe regel aan delay(500); // wacht 500 milliseconden voordat we opnieuw beginnen met meten }