8 marzo 2012

7 - Arduino Cocktail Machine


Attimi di pazzia mi hanno portato a costruire una "Cocktail Machine" a basso costo, la spesa totale è stata di 270 euro.
La struttura come si può notare nella foto è principalmente in legno e plastica pieghevole (materiale usato per costruire robot).
Le bottiglie dovranno essere posizionate a testa in giù sopra la macchina, con inserito l'apposito tappo che le mette in comunicazione con le valvole.
In molti mi hanno chiesto perché non ho usato dell' elettrovalvole al posto delle mie valvole di plastica bianche e arancioni, la risposta è semplice!!!!....16 elettrovalvole mi venivano a costare più di 1000 euro, mentre 16 semplici valvole di plastica (usate per imbottigliare il vino) mi sono costate 30 euro.

Il cervello di questa macchina è un Arduino Mega, dotato di 54 pin digitali e 16 analogici che mi hanno permesso di collegare:
- Keypad 3x4 (per gestire INPUT);
- display LCD 16x2 (per gestire OUTPUT);
- 1 motore passo passo bipolare da 2,5A per muovere il braccio principale;
- 3 servomotori (2 per comandare i movimenti del frullino ed 1 per aprire le valvole);
- 1 motore DC per far girare il frullino;
- 1 sensore di forza per verificare se arriva il liquido nel bicchiere;
- 1 sensore a infrarossi per verificare la presenza o meno del bicchiere;
- 10 led per illuminare la macchina e 1 led RGB per gestire un gioco di luci!

Come funziona la macchina??
Semplicissimo, si digita il codice del prodotto che corrisponde al cocktail che vogliamo e si conferma con il tasto "#" del keypad, a questo punto basta inserire il bicchiere sull'apposito vassoio e attendere che il cocktail si pronto.

Come si programma??
La prima cosa da fare, sarà quella di programmare i vari cocktail a nostro piacimento tramite un Pc, modificando un semplicissimo file.
Il file da modificare nel Pc si presenta così:

1 -  0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0;
2 -  0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0;
3 -  0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0;
4 -  0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0;
5 -  0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0;
.......
.......
99 - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0;

il numero davanti ad ogni fila corrisponde al codice del cocktail, mentre i 16 zeri seguenti corrispondono alle 16 valvole e il 17° zero è riferito al frullino.
Per poter creare e attivare il cockatil numero 1, basterà quindi sostituire lo 0 che corrisponde alla valvola della bevanda che vogliamo con un valore che rappresenta il tempo che la valvola rimarrà aperta.
Se vogliamo aprire una valvola 3 secondi dovremo scrivere al posto dello zero il valore 3000.
Per esempio se vogliamo aprire la valvola n°3 2 secondi, la valvola n°7 1,5 secondo e la valvola n°11 3 secondi il file lo dovremo modificare così:

1 -  0,0,2000,0,0,0,1500,0,0,0,3000,0,0,0,0,0,0;

per poter attivare il frullino basterà sostituire al 17° zero il valore 1.
Quindi se nel nostro cocktail numero 1 vogliamo attivare la frullata finale dovremo modificare il file così:

1 -  0,0,2000,0,0,0,1500,0,0,0,3000,0,0,0,0,0,1;

Così facendo se il cliente seleziona il cocktail numero 1 il braccio della macchina andrà ad aprire la valvola n°3 2 secondi, la valvola n°7 1,5 secondi, la valvola n°11 3 secondi ed infine attiverà il frullino per shakerare il cocktail.

Come funzionano i sensori?
Nella macchina ho inserito due sensori che permettono di controllare diverse situazioni:

-SENSORE DI FORZA posizionato sotto il vassoio, permette di verificare se le bottiglie sono finite!
Quando vado ad aprire una valvola se il sensore riconosce una forza in aumento dovuta al liquido che scende nel bicchiere la macchina non segnala niente, mentre se a valvola aperta la forza rimane costante significa che non sta scendendo liquido e la macchina va di conseguenza in stato di errore segnalando di controllare la valvola n°X.

-SENSORE A RAGGI INFRAROSSI posizionato sopra al vassoio, permette di verificare la presenza del bicchiere! Questo sensore (molto usato nella robotica) permette di verificare se davanti ad esso c'è qualche ostacolo, io l ho usato nella macchina per tener monitorata la presenza del bicchiere sul vassoio. Nel caso in cui ci sia un cocktail in esecuzione e questo sensore segnala che è stato tolto il bicchiere, viene immediatamente chiusa la valvola n°X e la macchina va in stato di errore.

Foto:

Osservazioni:
Per motivi di tempo la macchina non è ancora stata ultimata, manca il porta bottiglie!
Come potete notare nel video seguente, ho testato solamente la parte meccanica-elettronica della macchina e direi che funziona alla grande.
Il prossimo passo sarà dunque la costruzione del porta bottiglie per poter creare un vero cocktail!
Non appena riuscirò a costruirlo pubblicherò  un video in questo post.

Video: