Stap 3: De Code
De eigenlijke code zullen beschikbaar aan download later, maar hier zijn sommige belangrijke onderdelen van de code
De pennen staan hieronder. Ik gebruikte arrays beheren de drankje knoppen, op deze manier hebt u een drankautomaat die meer knoppen heeft, is het eenvoudig om het verhogen van de knop-matrix. Ik hoop dat in de volgende versie, ik zal een setup-bestand om te lezen al deze instellingen in van de SD-kaart, zodat de code hoeft niet te worden gecompileerd anders voor elke machine.
#define BACKLIGHT_PIN 13
LiquidCrystal_I2C lcd (0x20, 4, 5, 6, 0, 1, 2, 3, 7, negatieve);
#define PIN_BUZZER A2 / / de piëzo-zoemer
#define PIN_SDCARD 4 //do niet gebruiken, sdcard gebruikt.
LCD-scherm
#define LCD_5volt 3
#define PIN_RFID_RX 19
#define PIN_RFID_RESET 2
#define PIN_VEND_RELAY 40
int drinkPins [] = {41,42,43,44,45,46};
int buttonPins [] = {31,32,33,34,35,36};
int buttonState [] = {0,0,0,0,0,0};
String [drinkName] = {"leeg", "lege", "lege", "leeg", "lege", "lege"};
zweven [drinkCost] = {0,0,0,0,0,0}; zweven [updateCard] = {.25, - .25,1, - 1,5, -5};
int drinkPinCount = 6;
int admintimeout = 0;
#define PIN_RESET_NET A3 / / netwerk module reset
byte mac [] = {0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED};
IP-adres ip (192, 168, 0, 2); //the IP-adres voor het schild:
IP-adres gateway (192, 168, 0, 1);
IP-adres subnet (255, 255, 255, 0);
IPAdres tijdserver (132, 163 4, 102); tijd-a.timefreq.bldrdoc.gov
char emailserver [] = "192.168.0.3"; SMTP-mailserver (mine.com)
char [emaildomain] = "yourdomain.ca";
Const int timeZone = -6; Central-tijd