Paso 3: El código
El código estará disponible para descargar más tarde pero aquí están algunas partes importantes del código
Los pernos se muestran a continuación. He utilizado arreglos de discos para administrar los botones de la bebida, de esta forma si usted tiene una máquina de la bebida que tiene más botones, es simple aumentar la matriz de botón. Espero que en la próxima versión, tengo un archivo de configuración para leer todos estos ajustes en la tarjeta SD para que el código no tiene que volver a compilar diferentemente para cada máquina.
#define BACKLIGHT_PIN 13
Lcd de LiquidCrystal_I2C (0 x 20, 4, 5, 6, 0, 1, 2, 3, 7, negativo);
#define PIN_BUZZER A2 / / el zumbador piezo
#define PIN_SDCARD 4 //do no, utiliza la tarjeta SD.
Pantalla LCD
#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 = {"vacía", "vacío", "vacío", "vacío", "vacío", "vacío"};
Float [] drinkCost = {0,0,0,0,0,0}; Float [] updateCard = {.25, - .25,1, - 1.5, -5};
int drinkPinCount = 6;
admintimeout int = 0;
#define PIN_RESET_NET A3 / / reset del módulo de red
mac de bytes [] = {0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED};
Ip dirección IP (192, 168, 0, 2); //the dirección IP para el escudo:
Dirección IP gateway (192 168, 0, 1);
Dirección IP subred (255, 255, 255, 0);
Dirección IP timeServer (132, 163, 4, 102); tiempo-a.timefreq.bldrdoc.gov
char emailserver [] = "192.168.0.3"; servidor de correo SMTP (mine.com)
char emaildomain [] = "yourdomain.ca";
const int zona horaria = -6; Hora central