4X drukknop 4Xuitgang onafhankelijk van elkaar

Geef hier suggesties voor extra onderwerpen of andere dingen die je graag gewijzigd zou willen zien
Berichten: 4
Geregistreerd: 29 Feb 2024, 11:50

4X drukknop 4Xuitgang onafhankelijk van elkaar

Berichtdoor Tuur » 29 Feb 2024, 12:15

Beste Forum,
Mijn naam is Arthur en gezien ik in pensioen ben gegaan wil ik mij wat bezig houden met de Arduino.
Wel heb ik altijd met de LOGO gewerkt ,maar dit is volledig anders.
Dus is de Arduino nieuw voor mij.
Wat ik wil doen is ; 4 ingangen en 4 uitgangen gebruiken die allen onafhankelijk werken.
De ingangen zijn verbonden met drukknoppen en de uitgangen met relais.
Indien men op drukknop 1 drukt wordt uitgang 1 hoog. bij het terug drukken op op de drukknop gaat de uitgang 1 terug laag enz.
Dezelfde werking geldt ook vooringang 2,3,4, gekoppeld respectievelijk aan uitgang 2,3,4,
Ik heb op de arduino site een programma gedownload en dit werkt voor 1 drukknop ze maar ingang 1.
Ik heb het programma van de 1ste gekopieerd onder het 1ste programmaverloop en natuurlijk alle namen en nummers aangepast.
Het programma kan worden gecompileerd zonder enig probleem en ook worden geladen.
Maar toch werkt alleen de 1ste ingang on en off met debouncing en dit werkt OK.
Het lijkt erop dat hij het 2de deel van het programma niet doorloopt en dat is mijn probleem.rMocht het zijn dat u mij hierbij kan helpen zeer graag.
Vr groeten
Arthur

Advertisement

Berichten: 4096
Geregistreerd: 16 Okt 2013, 14:31
Woonplaats: s hertogenbosch

Re: 4X drukknop 4Xuitgang onafhankelijk van elkaar

Berichtdoor shooter » 29 Feb 2024, 15:25

heb je met kopieren ook bijvoorbeeld de status een ander nummer gegeven ? stuur je programma maar even op dan kijken we wel.
paul deelen
shooter@home.nl

Berichten: 4
Geregistreerd: 29 Feb 2024, 11:50

Re: 4X drukknop 4Xuitgang onafhankelijk van elkaar

Berichtdoor Tuur » 29 Feb 2024, 15:46

Beste Shooter.
Ik zou het niet weten gezien ik er te weinig van op de hoogte ben.
Ik stuur het programma wel.
Ik heb wel step5 gedaan en LOGO.
Maar dit is natuurlijk volledig anders,ik hoop dat hiervoor begrip hebt
Vr groeten
Arthur
#define LED1_PIN 6
#define BUTTON1_PIN 2
#define LED2_PIN 9
#define BUTTON2_PIN 5
byte lastButton1State = LOW;
byte led1State = LOW;
byte lastButton2State = LOW;
byte led2State = LOW;
unsigned long debounce1Duration = 50; // millis
unsigned long lastTimeButton1StateChanged = 0;
unsigned long debounce2Duration = 50; // millis
unsigned long lastTimeButton2StateChanged = 0;
void setup() {
pinMode(LED1_PIN, OUTPUT);
pinMode(BUTTON1_PIN, INPUT);
pinMode(LED2_PIN, OUTPUT);
pinMode(BUTTON2_PIN, INPUT);
}
void loop() {
if (millis() - lastTimeButton1StateChanged > debounce1Duration) {
byte button1State = digitalRead(BUTTON1_PIN);
if (button1State != lastButton1State) {
lastTimeButton1StateChanged = millis();
lastButton1State = button1State;
if (button1State == LOW) {
led1State = (led1State == HIGH) ? LOW: HIGH;
digitalWrite(LED1_PIN, led1State);{
if (millis() - lastTimeButton2StateChanged > debounce2Duration) {
byte button2State = digitalRead(BUTTON2_PIN);
if (button2State != lastButton2State) {
lastTimeButton2StateChanged = millis();
lastButton2State = button2State;
if (button2State == LOW) {
led2State = (led2State == HIGH) ? LOW: HIGH;
digitalWrite(LED2_PIN, led2State);
}
}
}
}
}
}
}
}

Berichten: 4096
Geregistreerd: 16 Okt 2013, 14:31
Woonplaats: s hertogenbosch

Re: 4X drukknop 4Xuitgang onafhankelijk van elkaar

Berichtdoor shooter » 01 Mrt 2024, 10:28

doe eens simpel een Ctrl T om je programma in te delen, dan zul je zien dat alle if aan elkaar hangen je moet elke if beperken met een haakje sluiten dus if (voorwarde){dit moet er dan gebeuren}
daardoor eindig je met veel teveel } sluithaken.
omdat dit door jou gedaan moet worden niet verder gekeken , wel zag ik dat je millis gebruikt prima maar sla die even op in een current variabele zodat je overal dezelfde grbuikt
paul deelen
shooter@home.nl

Berichten: 4
Geregistreerd: 29 Feb 2024, 11:50

Re: 4X drukknop 4Xuitgang onafhankelijk van elkaar

Berichtdoor Tuur » 01 Mrt 2024, 10:44

Beste Paul,
Dank je wel voor het antwoordt.
Vr groeten
Arthur

Berichten: 99
Geregistreerd: 02 Nov 2022, 13:03

Re: 4X drukknop 4Xuitgang onafhankelijk van elkaar

Berichtdoor ThHe » 01 Mrt 2024, 13:14

Je had de button 2 binnen de if van button 1 geplaatst.
Hier onder de code waar opzich alleen de haakjes anders geplaatst zijn maar nu de button1 en button2 onafhankelijk van elkaar.
Succes met je Arduino!!
Groeten Theo

Code: Alles selecteren
void loop()
{
  if (millis() - lastTimeButton1StateChanged > debounce1Duration)
  {
    byte button1State = digitalRead(BUTTON1_PIN);
    if (button1State != lastButton1State)
    {
      lastTimeButton1StateChanged = millis();
      lastButton1State = button1State;
      if (button1State == LOW)
      {
        led1State = (led1State == HIGH) ? LOW : HIGH;
        digitalWrite(LED1_PIN, led1State);
      }
    }
  }   
  // Idem maar nu voor button2
  if (millis() - lastTimeButton2StateChanged > debounce2Duration)
  {
    byte button2State = digitalRead(BUTTON2_PIN);
    if (button2State != lastButton2State)
    {
        lastTimeButton2StateChanged = millis();
        lastButton2State = button2State;
        if (button2State == LOW)
        {
            led2State = (led2State == HIGH) ? LOW : HIGH;
            digitalWrite(LED2_PIN, led2State);
        }
    }
  }
}

Berichten: 4
Geregistreerd: 29 Feb 2024, 11:50

Re: 4X drukknop 4Xuitgang onafhankelijk van elkaar

Berichtdoor Tuur » 02 Mrt 2024, 15:33

Beste Paul,
Ik had geen benul van ctrl T, dus dank je wel voor de hulp.
Vr groeten
Arthur

Terug naar Forum suggesties

Wie is er online?

Gebruikers in dit forum: Geen geregistreerde gebruikers en 1 gast