Led Abfallverzögert - bei gedrücktem Taster
hallo zusammen.
bin neu hier und hab schon die erste frage...
ich bin absoluter neu einsteiger.
ich habe einen taster(pin12) mit einem 10kohm pull down widerstand und eine led (pin13) mit dem arduino mega verbunden.
nun möchte ich das bei gedrücktem taster die led einschaltet und nach 1s wieder ausgeschaltet wird.
leider habe ich das problem, dass die led bei gedrücktem taster nicht mehr ausschaltet.
erst wenn ich den taster loslasse, schaltet die led nach 1s aus.
wie muss ich den code umschreiben, sodass die led bei gedrücktem taster angeht und sich nach 1s wieder ausschaltet. (taster wird immer noch gehalten) das ganze sollte sich nach erneutem betätigen des tasters wieder wiederholen.
danke schon im voraus für eure hilfe!
schöne grüße
andy
bin neu hier und hab schon die erste frage...
ich bin absoluter neu einsteiger.
ich habe einen taster(pin12) mit einem 10kohm pull down widerstand und eine led (pin13) mit dem arduino mega verbunden.
nun möchte ich das bei gedrücktem taster die led einschaltet und nach 1s wieder ausgeschaltet wird.
leider habe ich das problem, dass die led bei gedrücktem taster nicht mehr ausschaltet.
erst wenn ich den taster loslasse, schaltet die led nach 1s aus.
wie muss ich den code umschreiben, sodass die led bei gedrücktem taster angeht und sich nach 1s wieder ausschaltet. (taster wird immer noch gehalten) das ganze sollte sich nach erneutem betätigen des tasters wieder wiederholen.
code: [select]
//turns on , off led ,when pressings button attach pin12
/**********************************/
const int keypin = 12; //the number of key pin
const int ledpin = 13;//the number of led pin
/**********************************/
void setup()
{
pinmode(keypin,input);//initialize key pin input
pinmode(ledpin,output);//initialize led pin output
}
/**********************************/
void loop()
{
//read state of key value
//and check if kye pressed
//if is,the state high
if(digitalread(keypin) ==high )
{
digitalwrite(ledpin,high);//turn on led
delay(1000);
}
else
{
digitalwrite(ledpin,low);//turn off led
}
}
/************************************/
danke schon im voraus für eure hilfe!
schöne grüße
andy
hallo andy, das sind basics und ausreichend gut geschildert im playground zu finden.
das delay würde ich deutlich verkürzen auf ~20-50ms oder direkt ohne blockierung entprellen.
soll die led auch 1s leuchten, wenn der taster weiterhin gedrückt wurde? wenn ja, schau dir statechangedetection in den beispielen an.
pseudo-code auf basis von millis() (blinkwithoutdelay).
1) taster einlesen
2) wenn taster high prevmillis = millis() und led einschalten
3) millis() - prevmillis > 1000 (1s) -> led ausschalten
das delay würde ich deutlich verkürzen auf ~20-50ms oder direkt ohne blockierung entprellen.
soll die led auch 1s leuchten, wenn der taster weiterhin gedrückt wurde? wenn ja, schau dir statechangedetection in den beispielen an.
pseudo-code auf basis von millis() (blinkwithoutdelay).
1) taster einlesen
2) wenn taster high prevmillis = millis() und led einschalten
3) millis() - prevmillis > 1000 (1s) -> led ausschalten
Arduino Forum > International > Deutsch (Moderator: uwefed) > Led Abfallverzögert - bei gedrücktem Taster
arduino
Comments
Post a Comment