Stap 4: De code
Const int trigPin = 2;
Const int echoPin = 3;
void setup {/ / seriële communicatiepoorten te initialiseren: Serial.begin(9600);}
void loop {/ / stand van variabelen voor de duur van de ping, / / en het resultaat van de afstand in inches en centimeters: lange duur, inch, cm;
De sensor wordt geactiveerd door een hoge pols van 10 of meer microseconden. Geef een korte lage puls vooraf om een schoon hoog puls: pinMode (trigPin, OUTPUT); digitalWrite (trigPin, laag); delayMicroseconds(2); digitalWrite (trigPin, hoge); delayMicroseconds(10); digitalWrite (trigPin, laag);
Lees het signaal van de sensor: een hoge pulse waarvan / / duur is de tijd (in microseconden) van de verzending / / van de ping naar de receptie van de echo off van een object. pinMode (echoPin, INPUT); duur = pulseIn (echoPin, hoge);
de tijd omzetten in een afstand inch = microsecondsToInches(duration); cm = microsecondsToCentimeters(duration); Serial.Print(inches); Serial.Print ("in"); Serial.Print(cm); Serial.Print("cm"); Serial.println(); delay(100); }
lang microsecondsToInches (lange microseconden) {/ / volgens de Parallax gegevensblad voor de PING))), er zijn / / 73.746 microseconden per inch (dwz geluid reizen aan 1130 voeten per / / seconde). Dit geeft de afstand die is afgelegd door de ping, uitgaande / / en terugkeer, dus wij door 2 delen te krijgen van de afstand van het obstakel. Zie: http://www.parallax.com/dl/docs/prod/acc/28015-PI... terug microseconden / 74 / 2; }
lang microsecondsToCentimeters (lange microseconden) {/ / de snelheid van het geluid is 340 m/s of 29 microseconden per centimeter. / / de ping reist uit en terug, zo vind je de afstand van de / / object nemen we de helft van de afgelegde afstand. keren microseconden / 29 / 2;}
Ga naar de seriële monitor om te zien de afstand