Stap 2: De Arduino schets
Dit is een schets voor zichzelf:
HC-SR04 Sesnsor voorbeeld uit TechDepot Egypte
http://www.tdegypt.com/
Const int trigPin = 7;
Const int echoPin = 8;
lange antwoord, cm, inch;
VOID Setup {}
pinMode (trigPin, OUTPUT); Voorbereiden van de trigger-pin
pinMode (echoPin, INPUT); Voorbereiden van de echo-pin
Serial.begin(9600);
}
void loop {}
De trigger-pincode opnieuw instellen en maak je klaar voor een schone trigger-pulse
digitalWrite (trigPin, laag);
delayMicroseconds(2);
Genereren en verzenden om te activeren pin de trigger-pols
digitalWrite (trigPin, hoge); U moet houden het hoog voor 10 micro seconden lengte
delayMicroseconds(10); Dit is de 10 microseconden die we hierboven reeds vermeld :)
digitalWrite (trigPin, laag); Stop de trigger pols na de 10 microseconden
Vandaag laten we zien hoe lang duurt de geluidsgolf te reizen
Het duurt een tijd afhankelijk van de afstand tot het obstakel
Ditmaal mag maximaal 38 milliseconde in geval van geen bezwaar
Als je zag nooit pulseIn vóór Controleer:
https://www.Arduino.CC/en/Reference/PulseIn
antwoord = pulseIn (echoPin, hoge);
Nu hebben we het antwoord in microseconden, maar we moeten een afstand!
time2Distance(reply);
Laten we het afdrukken van de afstand tot de Arduino van seriële Monitor. Hulpmiddelen -> seriële Monitor
Serial.Print ("afstand in Inches");
Serial.Print(inch);
Serial.Print ("-afstand in cm");
Serial.Print(cm);
Serial.println();
}
VOID time2Distance(long rawReply) {}
De data sheet zegt dat het geluid neemt 73.746 (bijna 74) microseconden om te reizen van 1 inch.
Dus als we verdelen rawReply die in microseconden door het bovenstaande zullen we hoeveel
duim het geluid reisde naar voren en reisde terug naar de sensor.
De rawReply is het goed reizen naar hindernis en terug, dan moeten we delen door 2
duim = rawReply/74/2;
Volgens Google, eaquales van 1 inch 2,54 cm, dienovereenkomstig en om de afstand in cm
cm = inch * 2,54;
}
Wordt u allen gedaan. Genieten :)