Go Down

Topic: Ablauf-/Fehlerzeit in Sketch ? (Read 314 times) previous topic - next topic

Tommy56

Ok, setPinMode war mein Fehler, pinMode ist richtig. Das wird auch bei der Google-Suchen nach setPinMode angezeigt.
Nein, dieser Link ist nicht Dein Weg.

Quote
und die Zuweisung zum Merker !=
soll was bedeuten? Ein paar Worte mehr steigern oft die Verständlichkeit enorm. Das ist sparen an der falschen Stelle.

Das mit dem PullUp kann funktionieren, das hängt vom Sensor ab (Link).

Gruß Tommy
"Wer den schnellen Erfolg sucht, sollte nicht programmieren, sondern Holz hacken." (Quelle unbekannt)

4711

Sorry.

Sensor

Code: [Select]

  const unsigned int I_Sensor1 = 3; // Eingang vom Sensor 1
  bool bSensor1 = LOW; // Merker für den das Sensorsignal

void setup() {
  pinMode (I_Sensor1, INPUT_PULLUP);
}

void loop(){
   bSensor1 != digitalRead (I_Sensor1);
}
 

Tommy56

!= ist ein Vergleich zwischen 2 Werten, keine Zuweisung.

So wird ein Schuh draus (LOW-aktiver Sensor)
Code: [Select]
bSensor1 = !digitalRead (I_Sensor1);

Die Beschreibung beim Händler ist zwar auch grottig, man kann aus mehreren Beiträgen zum gleichen Sensor herauslesen, dass es wohl ein NPN-Open Collector ist, der bei Annäherung das Signal gegen LOW zieht (HIGH bringt der Kollektorwiderstand) und damit gegen den PuulUp gefahren werden kann.

Gruß Tommy
"Wer den schnellen Erfolg sucht, sollte nicht programmieren, sondern Holz hacken." (Quelle unbekannt)

4711

OK, danke!

d.h. der NPN, bei Erkennung eines Objekts = LOW, sollte dann am UNO mit Pull-Up ein High auf bSensor1 bringen, verstehe ich das richtig?

Tommy56

Code: [Select]

digitalRead(I_Sensor1) ergibt bei LOW am Eingang LOW
!digitalRead(I_Sensor1) ergibt bei LOW am Eingang HIGH


Gruß Tommy

"Wer den schnellen Erfolg sucht, sollte nicht programmieren, sondern Holz hacken." (Quelle unbekannt)

4711


Das soll funktionieren?
Immer?
Ich befürchte, dass da ein Fehler vorliegt.
den Vergleich habe ich geändert, passt das nun?
Code: [Select]
else if ((millis() - liErrorTime) > iFaultTime)

combie

Der Pessimist sieht die Wolke vor der Sonne.
Der Optimist sieht die Sonne hinter der Wolke.

Mantra: Die Sonne scheint immer!

Doc_Arduino

PinMode habe ich drin, allerdings ohne Pull-Up Definition. Und es ist nichts angeschlossen, d.h. es befindet sich kein Draht am UNO. Kein Widerstand, kein ... nichts. Ich bin ja noch kompletter Anfänger, möchtet ihr mir erklären wie das nun schlau gemacht wird. Danke!
Hallo,

standardmäßig nach Reset o.ä. sind alle Pins Eingänge und immer ohne aktivierten internen Pullup. Das bedeutet die Eingänge sind hochohmig und reagieren auf jeden Mist. Was noch viel wichtiger ist, sie haben kein definiertes Signal. Eben weil sie hochohmig sind. Die Katze beißt sich in den Schwanz.

Aktivierst du den internen Pullup, dann hat der Eingang ein definiertes High Signal, welches man bewusst auf Masse legen muss damit es "umschaltet". Die gröbsten Störungen sind damit unterdrückt.
Tschau
Doc Arduino '\0'

Messschieber auslesen: http://forum.arduino.cc/index.php?topic=273445
EA-DOGM Display - Demos: http://forum.arduino.cc/index.php?topic=378279

4711


ElEspanol

Wenn du es hardwaremässig machst, ist schon beim Einschalten ein definierter Pegel vorhanden. Ggf. wichtig, um Relaisklappern zu vermeiden

Go Up