Stap 2: Afstandssensor (eerste echte stap)
/ * Ping))) Sensor
Deze sketch leest een PING))) ultrasone afstandsmeter en geeft als resultaat de
afstand tot het dichtstbijzijnde object in bereik. Om dit te doen, stuurt het een puls
aan de sensor te leiden van een lezing, luistert dan voor een pulse
om terug te keren. De lengte van de terugkerende puls is evenredig met
de afstand van het object van de sensor.
Het circuit:
* + V aansluiting van de PING))) gekoppeld aan + 5V
* GND aansluiting van de PING))) aangesloten op grond
* SIG aansluiting van de PING))) gekoppeld aan digitale pin 7
http://www.Arduino.CC/en/tutorial/ping
gemaakt van 3 Nov 2008
door David A. Mellis
gemodificeerde 30 Aug 2011
door Tom Igoe
Deze voorbeeldcode is in het publieke domein.
*/
Deze constante verandert niet. Het is het pin-nummer
van de sensor van de output:
Const int pingPin = 7;
VOID Setup {}
seriële communicatiepoorten te initialiseren:
Serial.begin(9600);
}
void loop
{
stellen variabelen voor de duur van de ping,
en het resultaat van de afstand in inches en centimeters:
lange duur, inch, cm;
De PING))) wordt geactiveerd door een hoge pols van 2 of meer microseconden.
Geef een korte lage puls vooraf om een schoon hoog puls:
pinMode (pingPin, OUTPUT);
digitalWrite (pingPin, laag);
delayMicroseconds(2);
digitalWrite (pingPin, hoge);
delayMicroseconds(5);
digitalWrite (pingPin, laag);
Dezelfde pincode wordt gebruikt voor het lezen van het signaal van de PING))): een hoog
Pulse waarvan de duur de tijd (in microseconden) van de verzending is
voor de ping naar de receptie van de echo off van een object.
pinMode (pingPin, INPUT);
duur = pulseIn (pingPin, hoge);
de tijd omzetten in een afstand
duim = microsecondsToInches(duration);
cm = microsecondsToCentimeters(duration);
Serial.Print(inches);
Serial.Print ("in");
Serial.Print(cm);
Serial.Print("cm");
Serial.println();
delay(100);
}
lange microsecondsToInches(long microseconds)
{
Volgens de Parallax gegevensblad voor de PING))), er zijn
73.746 microseconden per inch (dwz geluid reist aan 1130 voeten per
seconde). Dit geeft de afstand die is afgelegd door de ping, uitgaande
en terug te keren, zodat wij door 2 delen te krijgen van de afstand van het obstakel.
Zie: http://www.parallax.com/dl/docs/prod/acc/28015-PING-v1.3.pdf
retourneren van microseconden / 74 / 2;
}
lange microsecondsToCentimeters(long microseconds)
{
De snelheid van het geluid is 340 m/s of 29 microseconden per vierkante centimeter.
De ping reist uit en terug, zo vind je de afstand van de
we de helft van de afgelegde afstand nemen-object.
retourneren van microseconden / 29 / 2;
}
Zodra je dit werkend bent u goed op uw manier. Controleer de seriële monitor om te controleren of dat alles goed werkt.