Arduino avstånd detektor med Summer och LED'S (7 / 7 steg)
Steg 7: Koden
#define trigPin 7
#define echoPin 6
#define ledde 13
#define led2 12
#define led3 11
#define led4 10
#define led5 9
#define led6 8
#define Summer 3
int ljud = 250;
void setup() {
Serial.BEGIN (9600);
pinMode (trigPin, produktionen);
pinMode (echoPin, ingång);
pinMode ledde (, OUTPUT);
pinMode (led2, produktionen);
pinMode (led3, produktionen);
pinMode (led4, produktionen);
pinMode (led5, produktionen);
pinMode (led6, produktionen);
pinMode (Summer, produktionen);
}
void loop() {
lång varaktighet, avstånd;
digitalWrite (trigPin, låg);
delayMicroseconds(2);
digitalWrite (trigPin, hög);
delayMicroseconds(10);
digitalWrite (trigPin, låg);
längd = pulseIn (echoPin, hög);
avståndet = (längd/2) / 29,1;
om (avstånd < = 30) {
digitalWrite (ledde, högt);
ljud = 250;
}
annat {
digitalWrite(led,LOW);
}
om (avstånd < 25) {
digitalWrite (led2, hög);
ljud = 260;
}
annat {
digitalWrite (led2, låg);
}
om (avstånd < 20) {
digitalWrite (led3, hög);
ljud = 270;
}
annat {
digitalWrite (led3, låg);
}
om (avstånd < 15) {
digitalWrite (led4, hög);
ljud = 280;
}
annat {
digitalWrite(led4,LOW);
}
om (avstånd < 10) {
digitalWrite (led5, hög);
ljud = 290;
}
annat {
digitalWrite(led5,LOW);
}
om (avstånd < 5) {
digitalWrite (led6, hög);
ljud = 300;
}
annat {
digitalWrite(led6,LOW);
}
om (avstånd > 30 || avstånd < = 0) {
Serial.println ("out of range");
noTone(buzzer);
}
annat {
Serial.Print(Distance);
Serial.println ("cm");
tonen (Summer, ljud);
}
Delay(500);
}
När du har gjort det, och du har kopplat in din Arduino till datorn, köra och du är klar. Om du har följt alla riktningarna, ju närmare du är hand blir till HC-SRO4, lysdioderna bör successivt ljus fram till och ju närmare din hand blir, summern kommer att producera en högre ton varje gång. Om du har frågor, Välkommen att maila mig på datruckk