Go Down

Topic: Hilfe bei Sketch (Read 332 times) previous topic - next topic

Yannes

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.
Code: [Select]
#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.

HotSystems

#1
Jun 05, 2018, 06:21 pm Last Edit: Jun 05, 2018, 06:29 pm by HotSystems
Das wird so auch nicht.
Du kannst die Sensoren nicht direkt nacheinander ansprechen.
Die stören sich gegenseitig.

Mach eine pause zwischen den beiden Sensoren, 500ms sollten reichen.

Am Besten, du baust es erst mit einem Sensor auf und erweiterst es dann um den zweiten.


Und deine Zeichnung ist Grottenschlecht, da kann man nichts drauf erkennen.

Man kann die Leitungen auch gerade verlegen, dann wir es deutlicher und übersichtlicher.
Gruß Dieter

I2C = weniger ist mehr: weniger Kabel, mehr Probleme. 8)

Yannes

Hier nochmal das Bild in schön bzw. versucht

HotSystems

Hier nochmal das Bild in schön bzw. versucht
OK...ich erkenne deinen Willen, aber viel besser ist es nicht.
Warum verwendest du nicht nur gerade Linien und rechte Winkel ?

Jetzt sehe ich aber, du hast keine Widerstände an den Leds, warum nicht ?

Und hast du deinen Sketch überarbeitet ?
Gruß Dieter

I2C = weniger ist mehr: weniger Kabel, mehr Probleme. 8)

Yannes

und danke für den tipp aber wo soll ich den dealy einbauen?

HotSystems

Hatte ich schon geschrieben.
Erst mit einem Sensor aufbauen und dann die Pause, dann den zweiten Sensor.
Gruß Dieter

I2C = weniger ist mehr: weniger Kabel, mehr Probleme. 8)

Yannes

naja weil ich bei mir Led smit eingebauten Wiederständen habe und doppelt wäre doff

HotSystems

naja weil ich bei mir Led smit eingebauten Wiederständen habe und doppelt wäre doff
Neee, das kann keiner wissen, der sich eine Schaltung ansieht.

Die Widerstände (nur mit i) gehören immer in die Schaltung.
Ein Nachbauer ist sehr verärgert, wenn damit sein Controller stirbt.
Gruß Dieter

I2C = weniger ist mehr: weniger Kabel, mehr Probleme. 8)

postmaster-ino

Hi

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)

MfG
anscheinend ist Es nicht erwünscht, einen Foren-internen Link als 'Homepage' einzubinden, damit JEDER nur einen Klick von combie's Liste zum Thema State-Maschine entfernt ist.
... dann eben nicht ...

HotSystems

@Yannes

Du musst nur den Sensor genau so abfragen, wie es in den zahlreichen Beispielen vorgemacht wird.

Nicht umsonst wird das so oft gezeigt, auch für dich.

Und passe deine falschen Schaltungen an, damit keine Anfänger aufgrund deiner Schaltung einen Fehler macht.
Gruß Dieter

I2C = weniger ist mehr: weniger Kabel, mehr Probleme. 8)

Yannes

danke funktioniert . Die Bemerkungen mit dem Schaltplan merk ich mir ,ebenso das mit dem nacheinander.

Go Up