Hallo
ich wollte etwas bauen was bei 30 cm die led anmachtIrgendwie passiert das nur mit dem einem sensor , beim anderen nicht (liegt nicht am sensor hab 3 andere getestet). Da leuchtet nur die LED.
#define Echo_EingangsPin1 7 // Echo Eingangs-Pin
#define Trigger_AusgangsPin1 8 // Trigger Ausgangs-Pin
#define Echo_EingangsPin2 10 // Echo Eingangs-Pin
#define Trigger_AusgangsPin2 9
int led2= 3;
int led1 =12;
// Benoetigte Variablen werden definiert
int maximumRange = 300;
int minimumRange = 2;
long Abstand1;
long Dauer1;
long Abstand2;
long Dauer2;
void setup() {
pinMode(Trigger_AusgangsPin1, OUTPUT);
pinMode(Echo_EingangsPin1, INPUT);
pinMode(Trigger_AusgangsPin2, OUTPUT);
pinMode(Echo_EingangsPin2, INPUT);
pinMode(led1,OUTPUT);
pinMode(led2,OUTPUT);
Serial.begin (9600);
}
void loop() {
// Abstandsmessung wird mittels des 10us langen Triggersignals gestartet
digitalWrite(Trigger_AusgangsPin1, HIGH);digitalWrite(Trigger_AusgangsPin2, HIGH);
delayMicroseconds(10);
digitalWrite(Trigger_AusgangsPin1, LOW); digitalWrite(Trigger_AusgangsPin2, LOW);
// Nun wird am Echo-Eingang gewartet, bis das Signal aktiviert wurde
// und danach die Zeit gemessen, wie lang es aktiviert bleibt
Dauer1 = pulseIn(Echo_EingangsPin1, HIGH);
Dauer2 = pulseIn(Echo_EingangsPin2, HIGH);
// Nun wird der Abstand mittels der aufgenommenen Zeit berechnet
Abstand1 = Dauer1/58.2;
Abstand2 = Dauer2/58.2;
Serial.println(Abstand1);
Serial.print("-------");
Serial.print(Abstand2);
if (Abstand1 < 30 ){
digitalWrite(led1,HIGH);
}else{
digitalWrite(led1,LOW);}
if(Abstand2 <30){
digitalWrite(led2,HIGH);
}else{
digitalWrite(led2,LOW);
}
}
Die steckerplatienenübersicht ist auch dabei.
Hoffe jemand kann mir helfen.
Weiterer Einwand zu dem Sketch:
In der Zeit, Die zwischen den beiden digitalWrite vergeht, ist der erste Sensor schon fast wieder fertig, wo der Zweite 'noch brüllt'.
Dann sind die beiden pulsein ... äh ... unglücklich
Das Erste wartet, bis der Impuls empfangen wurde (wartet also auf steigende Flange, stoppt die Zeit bis zu fallenden Flanke).
Danach das pulsein würde ja das Gleiche machen - nur ist der zweite Puls schon lange weg (in der gleichen Zeit, wie der Erste empfangen wurde).
Also, wie bereits gesagt, nacheinander wird ein Schuh draus.
Warum fragst Du die Sensoren händisch ab?
(wobei ich Das wiederum ganz toll finde, wenn man selber die Funktionalität 'begreifen' will)