Étape 3: Le Code
Le code réel sera disponible pour télécharger plus tard, mais voici quelques parties importantes du code
Les broches sont indiqués ci-dessous. J’ai utilisé les tableaux pour gérer les boutons de verre, de cette façon si vous avez une machine de boisson qui a plus de boutons, c’est simple augmenter le tableau de boutons. J’espère que dans la prochaine version, je vais avoir un fichier de configuration pour lire tous ces paramètres dans de la carte SD pour que le code n’a pas à être recompilés différemment pour chaque machine.
#define BACKLIGHT_PIN 13
LiquidCrystal_I2C lcd (0 x 20, 4, 5, 6, 0, 1, 2, 3, 7, négatif) ;
#define PIN_BUZZER A2 / / buzzer piezo
#define PIN_SDCARD 4 //do pas utiliser, sdcard utilise.
Écran à cristaux liquides
#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 = {"vide", "vider", "vider", "vide", "empty", "vider"} ;
float [] drinkCost = {0,0,0,0,0,0} ; float [] updateCard = {.25, - .25,1, - 1,5, -5} ;
int drinkPinCount = 6 ;
int admintimeout = 0 ;
#define PIN_RESET_NET A3 / / module réseau reset
la mac de Byte [] = {0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED} ;
IPAddress ip (192, 168, 0, 2); //the l’adresse IP pour le bouclier :
Adresse IP passerelle (192, 168, 0, 1) ;
Adresse IP sous-réseau (255, 255, 255, 0) ;
Adresse IP serveur temporel (132, 163, 4, 102) ; temps-a.timefreq.bldrdoc.gov
Char [] emailserver = "192.168.0.3" ; serveur de messagerie SMTP (mine.com)
Char [] emaildomain = "yourdomain.ca" ;
const int timeZone = -6 ; Heure du centre