Hallo ,
Ik probeer het even op het NL Forum , in het engels kom ik er even niet mee weg ;-((
Ik heb een sketch waarin ik 3 leds afzonderlijk wil aansturen met 3 aparte switches.
dit heb ik in een array gezet , maar krijg het niet voor elkaar om nu alle drie de switches te gebruiken.
met onderstaans sketch werkt alleen de switch op pin 7 ( input ) met 10 als output.
De pinnen 8 en 9 reageren niet ??
Het is dus de bedoeling dat de schakelaar 1x wordt ingedrukt en de LED aanblijft, daarna weer indrukken en de LED gaat uit.
Dit dus bij drie switches , later zou ik er meer in de index kunnen bijvoegen,
Wie kan mij adviseren hierin ?
Akvast bedankt !!
// test 3 BUTTON , with 3 LEDS , Array.
// One Push Button , LED = ON and stay on !!
// After push the button , LED = OFF and stay off !!
// ArduinoPat
int LED [] = {11,12,13}; // the pin for the LED
int BUTTON[] = {7,8,9}; // the input for the BUTTON
int val = 0; // val will be used to store the state
// of the BUTTON pin
int old_val = 0; // this variable stores the previous
// value of "val"
int state = 0; // 0 = LED off and 1 = LED on
void setup()
{
for(int index = 0; index < 3; index++)
{
pinMode(LED[index], OUTPUT); // tell Arduino LEDS is an output
pinMode(BUTTON[index], INPUT); // tell Arduino BUTTON is an input
digitalWrite(BUTTON[index],HIGH); // Pull-up Resistor
}
}
void loop(){
for(int index = 0; index < 3; index)
{
int val = digitalRead(BUTTON[index]); // Against bouncing
if ((val == HIGH) && (old_val == LOW)) // Against bouncing
{
state = 1 - state; // Against bouncing
delay(10); // Against bouncing
}
old_val = val; // val is now old, let's store it
if (state == 1) {
digitalWrite(LED[index], HIGH); // turn LED ON
}
else
{
digitalWrite(LED[index], LOW); // turn LED OFF
}
}
}
Groet,
Patrick , ArduinoPat