Met 1 drukknop 2 relais bedienen in bepaalde tijdsvolgorde.

Als U een gezamenlijk project wil starten of aan projecten van anderen mee wilt werken.
Gebruikers-avatar
Berichten: 6
Geregistreerd: 28 Nov 2014, 16:54

Met 1 drukknop 2 relais bedienen in bepaalde tijdsvolgorde.

Berichtdoor Rik1980 » 28 Nov 2014, 17:33

Hallo,

Ik ben nieuw hier en nieuwbie met Arduino's. Heb al wel veel gelezen en met ledjes gespeeld.
Dus nog niet zo heel veel ervaring met een Arduino.

Vorige week is de bediening van mijn broyeur-toilet kapot gegaan.
Nu kwam ik op het idee om een relais bordje te kopen en deze aan mijn Mega te hangen.
Maar dat is helaas makkelijker dan de sketch....

De bedoeling is dat ik met 1x drukken op de schakelaar (NO) 2 relais laat schakelen.
Relais 1 moet water bedienen.
Relais 2 moet de pomp bedienen om de toilet leeg te zuigen.

En wel in de volgende volgorde.

Relais 1: 5 sec.
Relais 2: 10 sec.
Relais 1: 8 sec.
Stop.

Nu heb ik al wat zitten vogelen maar krijg het niet sluitend.
Zit ik op de goede weg? Of lijkt het nergens op?
Wie kan mij in de goede richting duwen? ;-)

Code: Alles selecteren
const int buttonPin = 2; //NO schakelaar met 100K op GND en 5v
const int waterPin = 3;  //Water klep / NO relais
const int pompPin = 4;   //WC pomp / NO relais

int buttonState = 0;

void setup()
{
pinMode(buttonPin, INPUT);
pinMode(waterPin, OUTPUT);
pinMode(pompPin, OUTPUT);
}

void loop()
{
buttonState = digitalRead(buttonPin); 
if (buttonState == HIGH)       //NO schakelaar

digitalWrite(waterPin, HIGH);  //Water in WC pompen 5sec.
delay(500);
digitalWrite(waterPin, LOW);
delay(1);
digitalWrite(pompPin, HIGH);   //WC leeg pompen 10sec.
delay(1000);
digitalWrite(pompPin, LOW);
delay(1);
digitalWrite(waterPin, HIGH);  //Water in WC pompen 8sec.
delay(800);
digitalWrite(waterPin, LOW);
}
else {
digitalWrite(waterPin, LOW);
digitalWrite(pompPin, LOW);
}
}

Advertisement

Gebruikers-avatar
Berichten: 5043
Geregistreerd: 13 Mei 2013, 20:57
Woonplaats: Heemskerk

Re: Met 1 drukknop 2 relais bedienen in bepaalde tijdsvolgor

Berichtdoor nicoverduin » 28 Nov 2014, 17:43

Nou je delays kloppen in ieder geval niet:
delay is in millisseconden. Maw. 1000 milliseconden is 1 seconde.
En wie voedt de relais? De arduino rechtstreeks? Dat wil nog wel eens voor problemen zorgen en is het handiger om een aparte voeding voor de relaisspoelen te voorzien.
De schakelaar heeft een weerstand naar GND op de datapin? Anders is deze zwevend als hij open staat. Je kan ook gebruik maken van de interne pullup (pinmode(buttonPin, INPUT_PULLUP);) maar dan wordt de schakelaar LOW als hij AAN is. Dus schakelen naar GND.
Verder moet je rekening houden met de mechanische trillingen van een schakelaar. maar daar het dik 20 seconden duurt voordat de cyclus is afgelopen heeft het niet zoveel zin hier.
De gevolgde code is op zich in dit geval prima. alleen je delays aanpassen. De hele discussie over millis() en timers hoef je je niet druk te maken. Als dit ding niet meer doet als wat hier staat is in ieder geval:
a) de mega Veeeeeeeel te groot :)
b) de Arduino veeeeeeeeeel te groot.

Maar krijg hem eerst maar aan de praat. dan kan je altijd nog overwegen om een ATTiny te gebruiken. Want dit past er prima in
Docent HBO Technische Informatica, Embedded ontwikkelaar & elektronicus
http://www.verelec.nl

Gebruikers-avatar
Berichten: 6
Geregistreerd: 28 Nov 2014, 16:54

Re: Met 1 drukknop 2 relais bedienen in bepaalde tijdsvolgor

Berichtdoor Rik1980 » 28 Nov 2014, 18:12

Nico,

Bedankt voor je reactie.

Ik heb hem idd rechtstreeks aan de Mega hangen.
En ja ik had een mega liggen.... Wil eerst dat die toilet weer normaal werkt dan kijk ik wel verder.
Zat nog te denken aan kort drukken en lang drukken met 2 verschillende doorspoel schema's, maar daar ben ik nog (lang) niet aan toe.

Schakelaar staat via GND -> weerstand -> datapin2 -> (schakelaar) <- 5V

Zie idd dat de tijd niet goed staat, heb wat zitten klooien gisteren en was beetje laat geworden. ;-)

Het ging nl. zo dat hij telkens eerste relais sluiting oversloeg. Begon met 2 en toen 1 en stopte vervolgens, is dat het probleem wat je bedoelt met aansluiten op externe voeding?

Gebruikers-avatar
Berichten: 5043
Geregistreerd: 13 Mei 2013, 20:57
Woonplaats: Heemskerk

Re: Met 1 drukknop 2 relais bedienen in bepaalde tijdsvolgor

Berichtdoor nicoverduin » 28 Nov 2014, 18:22

Nou de tijd die hij krijgt is gewoon te kort..... 0.5sec.... Dus als hij aantrekt mag hij alweer los....
Docent HBO Technische Informatica, Embedded ontwikkelaar & elektronicus
http://www.verelec.nl

Gebruikers-avatar
Berichten: 6
Geregistreerd: 28 Nov 2014, 16:54

Re: Met 1 drukknop 2 relais bedienen in bepaalde tijdsvolgor

Berichtdoor Rik1980 » 28 Nov 2014, 20:41

Nou hij werkt nu perfect! Dank voor het meekijken.

Die ATTinty... hoe moet ik dat zien?
Als ik Google krijg ik een klein IC-tje te zien.

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

Re: Met 1 drukknop 2 relais bedienen in bepaalde tijdsvolgor

Berichtdoor shooter » 28 Nov 2014, 21:00

ik kan het oplossen meteen timer 556, maar ach een mega is toch leuk, mooi begin relais uit een aparte 7805 voeden, want de transistor op de mega kan niet veel hebben.
kleine boodschap hoef je eigenlijk niet voor te spoelen, dus als je de tijd zo maakt dat zolang je de knop indrukt er water komt, met een maximum natuurlijk, dan kan de pomp vast gaan lopen en als je loslaat gaat de pomp nog 10 seconden door. en dan natuurlijk weer vullen.

als extraatje elke dag een keer doorspoelen, om je drol altijd in fris water te leggen hihi
ja een attiny kan natuurlijk ook, dan kun je met je mega een sterrenhemel maken in het toilet.
paul deelen
shooter@home.nl

Gebruikers-avatar
Berichten: 6
Geregistreerd: 28 Nov 2014, 16:54

Re: Met 1 drukknop 2 relais bedienen in bepaalde tijdsvolgor

Berichtdoor Rik1980 » 28 Nov 2014, 23:00

HAHAHAH ja die drol-baarzen weten wat.
Ben blij dat ik nu weer normaal van die dingen af kan komen.
Straks trek ik gewoon door via bluetooth :-p

He maar ff serieus, wat is er dan zo erg om een mega te gebruiken?
Of anders een Uno die dingen koop ik voor een paar euro.
Nieuwe toilet ben je meer kwijt. Laat staan een monteur die alleen maar ff komt kijken.... toch?

En ik ben geen elektrotechnicus, hoewel ik al wel veel in elkaar gefreubeld heb, maar dan wel met een voorbeeld.

Gebruikers-avatar
Berichten: 5043
Geregistreerd: 13 Mei 2013, 20:57
Woonplaats: Heemskerk

Re: Met 1 drukknop 2 relais bedienen in bepaalde tijdsvolgor

Berichtdoor nicoverduin » 29 Nov 2014, 08:46

Rik1980 schreef:Nou hij werkt nu perfect! Dank voor het meekijken.

Die ATTinty... hoe moet ik dat zien?
Als ik Google krijg ik een klein IC-tje te zien.

Een attiny is niet meer dan een kleiner broertje van de ATMega328P die in de UNO zit. Dat ding heeft 5 IO poorten waar je in jouw geval ruim genoeg aan hebt. Is te programmeren met een UNO of een echte programmer (kosten tegenwoordig iets van 2 euri op ebay). Je hebt ze ook op pcbs (o.a. trinklet). 5V erop en draaien. Of zelf een printje maken. Met 2 relais zou je het zelfs nog wel op een printje van 5 x 5cm kunnen persen. Heb je voor 11 euri 10 van die printen :). Dan zou je er een mooi compact printje van kunnen maken.
Docent HBO Technische Informatica, Embedded ontwikkelaar & elektronicus
http://www.verelec.nl

Gebruikers-avatar
Berichten: 6
Geregistreerd: 28 Nov 2014, 16:54

Re: Met 1 drukknop 2 relais bedienen in bepaalde tijdsvolgor

Berichtdoor Rik1980 » 29 Nov 2014, 11:45

Ik heb gisteravond nog even zitten neuzen naar een Nano of Micro.

Die Trinket printjes kan je ook met Arduino IDE programmeren?

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

Re: Met 1 drukknop 2 relais bedienen in bepaalde tijdsvolgor

Berichtdoor shooter » 29 Nov 2014, 19:32

een busje eau de toillette is slimmer neuzen.
paul deelen
shooter@home.nl

Volgende

Terug naar Gezamenlijke projecten

Wie is er online?

Gebruikers in dit forum: Geen geregistreerde gebruikers en 11 gasten