klep om en om aansturen

Arduino specifieke Software
Berichten: 4
Geregistreerd: 20 Nov 2014, 12:03

klep om en om aansturen

Berichtdoor patatjemet » 20 Nov 2014, 12:12

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.

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

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

Re: klep om en om aansturen

Berichtdoor shooter » 20 Nov 2014, 12:21

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.
paul deelen
shooter@home.nl

Berichten: 4
Geregistreerd: 20 Nov 2014, 12:03

Re: klep om en om aansturen

Berichtdoor patatjemet » 20 Nov 2014, 18:49

en hoe kan ik nu de tijd instellen en dit zichtbaar maken op het beeldscherm?

Alvast bedankt!

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

Re: klep om en om aansturen

Berichtdoor nicoverduin » 21 Nov 2014, 00:57

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.
Docent HBO Technische Informatica, Embedded ontwikkelaar & elektronicus
http://www.verelec.nl

Terug naar Arduino software

Wie is er online?

Gebruikers in dit forum: epaeritizejet en 30 gasten