Ich habe einen Arduino Nano mit einem FC-51 - Infrarot-Reflektionssensor,
Ich möchte zu diesem Code noch zwei Funktionen haben.
Wenn die LED leuchtet soll die LED 500mS an sein und dann automatisch ausgehen auch wenn ein Hindernis vorhanden ist.
Wenn die LED aus geht, soll die Messung in 2000mS erneut beginnen und das als Endlosschleife mit Punkt 1 zusammen
Kann mir jemand helfen?
Danke
#define IR_Sensor 2 /*D2 IR pin defined*/
#define LED 3 /*D3 LED Pin defined*/
int IR; /*Variable that will store IR output status*/
void setup()
{
pinMode(IR_Sensor, INPUT); /*IR Pin D2 defined as Input*/
pinMode(LED, OUTPUT); /*D3 pin for LED is set as Output*/
}
void loop(){
IR=digitalRead(IR_Sensor); /*digital read function to check IR pin status*/
if(IR==LOW){ /*If sensor detect any reflected ray*/
digitalWrite(LED,HIGH); /*LED will turn ON*/
}
else {
digitalWrite(LED,LOW); /*if no reflection detected LED will remain OFF*/
}
}
Danke, die Ausgangs LED leuchtet nun garnicht mehr, obwohl sie ja definiert wurde?!
Kurze Info, für was ich den Code brauche.
Ich möchte gern ein "Blitzer" bauen, wenn ein z.B mein Modellauto an den Sensor vorbeifährt löst die Lichtschranke aus und die LED leuchtet deswegen die Zeit (500mS - variabel), zweitens bis das Modellauto vorbei gefahren ist würde die ganze Zeit die LED ja leuchten, und deswegen die Pause damit die Messung in ca 2000mS - variabel erneut gestartet werden kann.
Wie ist denn der Status, wenn der Sensor kein Element erkennt?
Und schalte mal bitte die Zeiten im Sermon mit ein, damit man die mitsieht und so ungefähr mitschätzen kann, was da passiert.
Nachtrag:
Der folgende reagiert nur mit einer Ausgabe auf dem Sermon.
Da kannst Du sehen, welcher Pegel bei einem erkannten / keinem erkanntenHindernis ausgegeben wird.
Im 100ms-takt kommt entweder 0 oder 1...
Also der Code funktioniert jetzt klasse! Aber ein müsste noch angepasst werden, wenn das Hindernis bleibt und die Zeit läuft runter löst es immer aus, ist das machbar?
das soll jetzt eigentlich genau so sein.
nach 500ms geht der Blitzer aus. merkt sich die Zeit und nach 2000ms und ausgelöstem Sensor blitzt es wieder....
Genau funktioniert auch so, aber wenn das Hindernis sich nicht mehr bewegt (bleibt am Sensor Athen) nach dem er geblitzt wurde löst es nach 2000mS erneut aus obwohl das Auto am Sensor steht..
Kann man eine Abfrage einbauen ob nach dem geblitzt wurde der Sensor sich abgeschaltet hat auf LOW? Wenn ja dann Sensor wieder scharf schalten ?