Would this work for what I need it to?
hey all, newbie arduino world here. i'm working on building automated liquor dispenser , i'm wondering if code work way want to. arduino uno in mail , won't here till friday or so, , wanted try work out as possible beforehand, it's plug-and-play. it's pretty simple:
3 buttons control amount dispensed (single, double, or triple ["1x", "2x", , "3x" in code, respectively])
1 button act "safety switch" liquor dispense when glass on pad ("pad" in code)
3 led's (one each mode ["1xled", "2xled", "3xled" in code])
a pump dispense liquor ("pump" in code)
an lcd display show messages based upon given actions ("lcd" in code)
any appreciated, , glad elaborate further if need be.
3 buttons control amount dispensed (single, double, or triple ["1x", "2x", , "3x" in code, respectively])
1 button act "safety switch" liquor dispense when glass on pad ("pad" in code)
3 led's (one each mode ["1xled", "2xled", "3xled" in code])
a pump dispense liquor ("pump" in code)
an lcd display show messages based upon given actions ("lcd" in code)
any appreciated, , glad elaborate further if need be.
code: [select]
#include <liquidcrystal.h>
#include <stepper.h>
int 1xstate = 0, 2xstate = 0, 3xstate = 0, padstate = 0;
int 1xledstate = 0, 2xledstate = 0, 3xledstate = 0;
const int steps = 200;
const int 1xled = 0, 2xled = 1, 3xled = 2, pump = 3;
const int 1x = a0, 2x = a1, 3x = a2, pad = a3;
const int rs = 9, en = 8, d4 = 7, d5 = 6, d6 = 5, d7 = 4;
liquidcrystal lcd(rs, en, d4, d5, d6, d7);
stepper pump(steps, 10, 11, 12, 13);
void setup() {
lcd.begin(16, 2);
pump.setspeed(60);
pinmode (1x, input);
pinmode (2x, input);
pinmode (3x, input);
pinmode (pad, input);
pinmode (pump, output);
pinmode (1xled, output);
pinmode (2xled, output);
pinmode (3xled, output);
}
void loop() {
1xstate = analogread(1x);
2xstate = analogread(2x);
3xstate = analogread(3x);
padstate = analogread(pad);
if(padstate == high){
lcd.setcursor(3,0)
lcd.print("how much?")
} else if (padstate == high && 1xstate == high) {
lcd.setcursor(2,0)
lcd.print("nice choice.")
pump.step(1000)
digitalwrite(1xledstate = high)
delay(5000)
digitalwrite(1xledstate = low)
} else if (padstate == high && 2xstate == high) {
lcd.setcursor(3,0)
lcd.print("rough day?")
pump.step(2000)
digitalwrite(2xledstate = high)
delay(10000)
digitalwrite(2xledstate = low)
} else if (padstate == high && 3xstate == high) {
lcd.setcursor(5,0)
lcd.print("go big")
lcd.setcursor(2,1)
lcd.print("or go home")
digitalwrite(3xledstate = high)
delay(15000)
digitalwrite(3xledstate = low)
} else {
lcd.setcursor(3,0)
lcd.print("*bar**wench*")
lcd.setcursor(3,1)
lcd.print("jack daniels")
}
}
}
use ctrl t format sketch.
digitalwrite(1xledstate = high)
look digitalwrite usage.
avoid delay()
study sate machine techniques.
http://www.thebox.myzen.co.uk/tutorial/state_machine.html
if these digital inputs change:
const int 1x = a0, 2x = a1, 3x = a2, pad = a3;
const byte 1x = 14, 2x = 15, 3x = 16, pad = 17;
then digitalreads on them.
did trial verify?
show schematic of circuit.
digitalwrite(1xledstate = high)
look digitalwrite usage.
avoid delay()
study sate machine techniques.
http://www.thebox.myzen.co.uk/tutorial/state_machine.html
if these digital inputs change:
const int 1x = a0, 2x = a1, 3x = a2, pad = a3;
const byte 1x = 14, 2x = 15, 3x = 16, pad = 17;
then digitalreads on them.
did trial verify?
show schematic of circuit.
Arduino Forum > Using Arduino > Project Guidance > Would this work for what I need it to?
arduino
Comments
Post a Comment