Lätt ultraljud 4-pin sensor övervakning (hc-sr04)
Hej Instructables,
Jag har haft lite problem med min billiga ultrasonic sensor (hc-sr04) och idag hittade jag en riktigt enkel lösning.
Det är en riktigt enkel redigering av normala 3pin koden.
Jag la den 4 int till början av koden, så kan du mycket enkelt förändringar arduino stiften.
Den nya code(4pin):
int vcc = 2; bifoga stift 2 till vcc
int trig = 3; tillmäter Trig stift 3
int echo = 4; tillmäter Echo stift 4
int gnd = 5; bifoga stift 5 till GND
void setup() {
pinMode (vcc, produktionen);
pinMode (gnd, produktionen);
initiera seriell kommunikation:
Serial.BEGIN(9600);
}
void loop()
{
digitalWrite (vcc, hög);
fastställa variabler för varaktigheten av ping,
och avstånd resultatet i tum och centimeter:
lång varaktighet, tum, cm;
PING))) utlöses av en hög puls av 2 eller fler mikrosekunder.
Ge en kort låg puls förhand för att säkerställa en ren hög puls:
pinMode (trig, OUTPUT);
digitalWrite (trig, låg);
delayMicroseconds(2);
digitalWrite (trig, hög);
delayMicroseconds(5);
digitalWrite (trig, låg);
Samma PIN-koden används för att läsa signalen från PING))): en hög
puls vars längd är tid (i mikrosekunder) från den sändande
ping till mottagning av dess eko av ett objekt.
pinMode(echo,INPUT);
längd = pulseIn (echo, 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-PI...
å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;
}