klep om en om aansturen
4 berichten
• Pagina 1 van 1
- patatjemet
- Berichten: 4
- Geregistreerd: 20 Nov 2014, 12:03
klep om en om aansturen
Ik ben nieuw hier op het forum en heb niet zo heel erg veel ervaring met Arduino's programmeren maar ik wil er toch graag een start mee maken.
Ik heb al een aantal projectjes gedaan alleen waar ik nou mee bezig ben is wat uitgebreider en heb daar ook een beetje hulp bij nodig.
Hier onder staat een programmaatje waarbij ik 2 kleppen om en om wil laten schakelen.
De low tijd is een constante maar de high tijd is een variabele.
Nu wil ik de tijd selecteren doormiddel van buttonpin 5 en 6 en als ik dit heb gedaan wil ik met buttonpin 2 starten en stoppen.
en daarbij zou ik graag de tijd in de lcd willen laten verschijnen.
Ik ben al een klein beetje op weg alleen stokt het hierbij.
Heren eventueel dame alvast bedankt!
Ik heb al een aantal projectjes gedaan alleen waar ik nou mee bezig ben is wat uitgebreider en heb daar ook een beetje hulp bij nodig.
Hier onder staat een programmaatje waarbij ik 2 kleppen om en om wil laten schakelen.
De low tijd is een constante maar de high tijd is een variabele.
Nu wil ik de tijd selecteren doormiddel van buttonpin 5 en 6 en als ik dit heb gedaan wil ik met buttonpin 2 starten en stoppen.
en daarbij zou ik graag de tijd in de lcd willen laten verschijnen.
Ik ben al een klein beetje op weg alleen stokt het hierbij.
- Code: Alles selecteren
#include <LiquidCrystal.h>
LiquidCrystal lcd(12,11,5,4,3,2); // Lcd met 16 X 2 Karakters
const int buttonPin2 = 52; // switch start stop
const int buttonPin5 = 49; // switch down purche tijd klep
const int buttonPin6 = 48; // switch up purche tijd klep
const int valvepin1 = 22; // klep 1
const int valvepin2 = 23; // klep 2
int timer = 100;
void setup() {
// initialize the button pin as a input:
pinMode(buttonPin2, INPUT);
pinMode(buttonPin5, INPUT);
pinMode(buttonPin6, INPUT);
// initialize the digital pin as an output.
// Pin 22, 23 has an VALVE:
pinMode(22, OUTPUT);
pinMode(23, OUTPUT);
lcd.begin(16,2);
lcd.print("Auto Purchen");
lcd.setCursor(0,1);
lcd.print("Tijd: ");
}
void loop() {
digitalWrite(22, HIGH); // valve purche
delay(timer); // select time
digitalWrite(22, LOW); // valve purche
delay(2000); // select time
digitalWrite(23, HIGH); // valve purche
delay(timer); // select time
digitalWrite(23, LOW); // valve purche
delay(2000); // select time
}
Heren eventueel dame alvast bedankt!
Advertisement
Re: klep om en om aansturen
Zoals bekend is delay een probleem, dus zoek eerst even uit hoe dat beter kan met millis(). leuk leermoment)
delay zorgt er namelijk voor dat de loop gewoon stopt, je kunt dan niet veel meer.
in de loop zou eigenlijk als de tijd afgelopen is een roep naar een functie moeten komen, klepaan()
voorbeeld if (millis()-starttime>looptijd){klepaan()}
puzzel maar eens en laat het ons weten.
delay zorgt er namelijk voor dat de loop gewoon stopt, je kunt dan niet veel meer.
in de loop zou eigenlijk als de tijd afgelopen is een roep naar een functie moeten komen, klepaan()
voorbeeld if (millis()-starttime>looptijd){klepaan()}
puzzel maar eens en laat het ons weten.
paul deelen
shooter@home.nl
shooter@home.nl
- patatjemet
- Berichten: 4
- Geregistreerd: 20 Nov 2014, 12:03
Re: klep om en om aansturen
en hoe kan ik nu de tijd instellen en dit zichtbaar maken op het beeldscherm?
Alvast bedankt!
Alvast bedankt!
- nicoverduin
- Berichten: 5043
- Geregistreerd: 13 Mei 2013, 20:57
- Woonplaats: Heemskerk
Re: klep om en om aansturen
Je zegt dat je al wat projectjes hebt gedaan. Er zijn zat voorbeelden in de IDE voor het aansturen van de LCD en voor Buttons. De kunst van programmeren is niet de je de code goed kan intypen maar juist het opdelen van jouw probleem in kleinere sub probleempjes en die verder uitwerken. M.a.w. maak overzicht in hetgeen je wil doen.
4 berichten
• Pagina 1 van 1
Wie is er online?
Gebruikers in dit forum: epaeritizejet en 30 gasten