"Know-it-all" duschen... (3 / 9 steg)
Steg 3: Konfigurera Ultra Sonic sensor...
CONST int trigPin = 8. < br > const int echoPin = 9;
void setup() {
initiera seriell kommunikation:
Serial.BEGIN(9600);
}
void loop()
{
fastställa variabler för varaktigheten av ping,
och avstånd resultatet i tum och centimeter:
lång varaktighet, tum, cm;
Sensorn utlöses av en hög puls av 10 eller fler mikrosekunder.
Ge en kort låg puls förhand för att säkerställa en ren hög puls:
pinMode (trigPin, produktionen);
digitalWrite (trigPin, låg);
delayMicroseconds(2);
digitalWrite (trigPin, hög);
delayMicroseconds(10);
digitalWrite (trigPin, låg);
Läs signalen från sensorn: en hög puls vars
varaktigheten är tid (i mikrosekunder) från den sändande
ping till mottagning av dess eko av ett objekt.
pinMode (echoPin, ingång);
längd = pulseIn (echoPin, hög);
konvertera tiden till ett avstånd
tum = microsecondsToInches(duration);
cm = microsecondsToCentimeters(duration);
Serial.Print(inches);
Serial.Print ("in");
Serial.Print(cm);
Serial.Print("cm");
Serial.println();
Delay(100);
}
lång microsecondsToInches(long microseconds)
{
Enligt Parallaxs datablad för PING))), det finns
73.746 mikrosekunder per tum (dvs. ljud resor på 1130 fot per
det andra). Detta ger vägsträcka som ping, utgående
och tillbaka, så vi delar med 2 att få distansera av hindret.
Se: http://www.parallax.com/dl/docs/prod/acc/28015-PING-v1.3.pdf
återvända mikrosekunder / 74 / 2;
}
lång microsecondsToCentimeters(long microseconds)
{
Ljudets hastighet är 340 m/s eller 29 mikrosekunder per centimeter.
Ping reser ut och tillbaka, så för att hitta distansera av den
objekt vi tar hälften av den tillryggalagda.
återvända mikrosekunder / 29 / 2;
}