Pages: [1]   Go Down
Author Topic: 3 switches en 3 leds met 1 druk op knop led aan en blijft aan,  (Read 943 times)
0 Members and 1 Guest are viewing this topic.
Netherlands
Offline Offline
Newbie
*
Karma: 1
Posts: 49
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

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 !!


Code:
// 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
Logged

Patrick ,The Netherlands

Offline Offline
Jr. Member
**
Karma: 1
Posts: 78
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Je zou van de int old_val ook een array kunnen maken, om te beginnen.
En dan de index in de loop een index++ van maken, en zo misschien nog wel wat.
Logged

Forum Moderator
Belgium
Offline Offline
Edison Member
*****
Karma: 68
Posts: 1919
Arduino rocks; but with my plugin it can fly rocking the world ;-)
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Wat zeker mis is is dat je maar 1 state hebt voor 3 leds.
Met vriendelijke groet
Jantje
Logged

Do not PM me a question unless you are prepared to pay for consultancy.
Nederlandse sectie - http://arduino.cc/forum/index.php/board,77.0.html -

Pages: [1]   Go Up
Jump to: