4X drukknop 4Xuitgang onafhankelijk van elkaar
7 berichten
• Pagina 1 van 1
4X drukknop 4Xuitgang onafhankelijk van elkaar
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
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
Re: 4X drukknop 4Xuitgang onafhankelijk van elkaar
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
shooter@home.nl
Re: 4X drukknop 4Xuitgang onafhankelijk van elkaar
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);
}
}
}
}
}
}
}
}
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);
}
}
}
}
}
}
}
}
Re: 4X drukknop 4Xuitgang onafhankelijk van elkaar
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
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
shooter@home.nl
Re: 4X drukknop 4Xuitgang onafhankelijk van elkaar
Beste Paul,
Dank je wel voor het antwoordt.
Vr groeten
Arthur
Dank je wel voor het antwoordt.
Vr groeten
Arthur
Re: 4X drukknop 4Xuitgang onafhankelijk van elkaar
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
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);
}
}
}
}
Re: 4X drukknop 4Xuitgang onafhankelijk van elkaar
Beste Paul,
Ik had geen benul van ctrl T, dus dank je wel voor de hulp.
Vr groeten
Arthur
Ik had geen benul van ctrl T, dus dank je wel voor de hulp.
Vr groeten
Arthur
7 berichten
• Pagina 1 van 1
Wie is er online?
Gebruikers in dit forum: Geen geregistreerde gebruikers en 1 gast