Tutto quanto può essere Open Source, anche QUESTO!
Questo è il primo progetto Open Source del genere: un contatore di erogazioni per le macchine da caffè a cialde o a capsule gestibile tramite Bluetooth!
La comodità di possedere una macchina da Caffè in comodato d'uso a volte è grande ma in questo caso il fornitore dovrà provvedere ad installare un contatore per tutelare il proprio lavoro ed avere così la sicurezza di essere l'unico fornitore di cialde/capsule per le macchine da caffè che ha rilasciato.
Questo articolo si rivolge proprio loro, infatti quello che voglio fare in questo articolo, è presentare questo progetto tramite il quale è possibile ricaricare le proprie macchine da caffè da remoto utilizzando un semplice smartphone RISPARMIANDO sull'acquisto di particolari e costosi palmari.
Il bello dell'Open Source è proprio questo... Condividere tutto per ricevere tutto!
Questo sistema da me progettato, creato e testato prende il nome di Open Coffee Counter.
E' un progetto basato sulla piattaforma di sviluppo Arduino e devo dire che sono abbastanza soddisfatto del risultato.
Questa versione base permette principalmente di:
- Ricaricare il numero di caffè erogabili tramite un dispositivo Android che supporta la connessione Bluetooth;
- Bloccare la pompa quando il numero dei caffè erogabili raggiunge il numero 0;
- Funzione di Test - Erogare caffè tramite la pressione di un tasto sullo smartphone.
Adesso è arrivato il momento di spiegare il funzionamento di questo magnifico progetto.
Questo sistema può essere utilizzato con qualsiasi macchina da caffè, l'unico requisito richiesto è che sia disponibile un minimo di spazio dentro ad essa dove alloggiare i componenti dell'Open Coffee Counter.
La sua versatilità è dovuta al fatto che per implementare il sistema nella macchina da caffè, basterà agire solo ed esclusivamente sul bottone “fai caffè”, infatti esso viene collegato direttamente alla Board del microcontrollore e la pompa, di default connessa al pulsante, viene collegata ad una board sulla quale è presente un relè che viene gestito dal microcontrollore.
Quando viene premuto il bottone “fai caffè”, Arduino controlla se sono disponibili delle erogazioni di caffè (precedentemente caricate come numero), e nel caso in cui l'esito risulti essere positivo, provvederà ad eccitare il relè al quale è collegata la pompa.
Inoltre, per sapere sempre se sono disponibili dei caffè il sistema gestisce tre LED:
- LED verde – viene acceso quando sono disponibili molti caffè;
- LED Giallo - viene acceso quando i caffè disponibili stanno per esaurirsi;
- LED Rosso - viene acceso quando non sono disponibili caffè.
Per presentare questo innovativo sistema utilizzerò:
- 1x Arduino Uno
- 1x Module Bluetooth HC-05
- 1x Board 1 relay
- 1x LED Green
- 1x LEDYellow
- 1x LED Red
- 1x LED Tricolore (in alternativa ai tre LED)
- 3x Resistors
- xx Wires
- 2x Faston connectors
- xx Software Open Coffee Counter (O.C.C.)
Adesso vedremo nello specifico ogni componente da cui è composto The Open Coffee Counter.
Arduino Uno
Sono quasi sicuro che la maggior parte di voi conoscano Arduino, ma in caso contrario voglio dedicare giusto qualche riga per dire qualcosa ed indicare alcuni riferimenti utili.
Tramite la scheda Arduino è possibile imparare i principi fondamentali dell'elettronica e della programmazione.
Questa fantastica board fondamentalmente si basa su un circuito stampato che integra un microcontrollore con i pin connessi alle porte I/O, un regolatore di tensione ed un'interfaccia USB che permette la comunicazione con il computer per la programmazione del microcontrollore.
Alla board viene affiancato un ambiente di sviluppo integrato (IDE) disponibile per più sistemi operativi (per Linux, Apple Macintosh e Windows). Il codice utilizzato da Arduino è un inguaggio semplice e intuitivo derivato da C e C++ chiamato Wiring, liberamente scaricabile e modificabile.
Arduino Uno non è l'unica board Arduino esistente, infatti ne esistono molte altre tutte diverse tra loro e volendo è possibile creare una board Arduino personalizzata in base alle proprie esigenze.
Il primo link che voglio indicare è quello del sito ufficiale Arduino.cc.
Il secondo collegamento invece è quello della sezione Arduino di questo ricchissimo blog.
Foto della Board Arduino UNO (image credits Arduino.cc)
Modulo Bluetooth HC-05
L’HC-05 è un modulo di ricezione/trasmissione Bluetooth a basso costo.
I contatti del modulo non sono facilmente saldabili in quanto il loro passo è di 1.9 mm, perciò per poterlo utilizzare con una breadboard o semplicemnete per semplificare la creazione del circuito, bisogna utilizzare un adattatore che, appunto, converte ed allinea i pin necessari al collegamento tramite UART da 1.9mm a 2.54mm.
Le caratteristiche principali di questo modulo Bluetooth a basso costo sono le seguenti:
- Alimentazione: +3.3 VDC 50 mA (Tramite l’adattatore, del quale ho parlato in precedenza, è possibile alimentarlo direttamente a 5V)
- Frequenza di funzionamento: 2.4GHz ISM band
- Misura: 26.9 mm x 13 mm x 2.2 mm.
- Basato sul CSR Bluetooth chip BC417143
- Bluetooth specification v2.0 + EDR
- Baudrate supportati 2400 – 1382400.
- Modulazione: GFSK(Gaussian Frequency Shift Keying)
- Emission power: ≤4dBm, Class 2
- Sensitivity: ≤-84dBm at 0.1% BER
- Velocità: Asincrona: 2.1Mbps(Max) / 160 kbps, Sincrona: 1Mbps/1Mbps
- Sicurezza: Autenticazione e criptazione
- Temperatura di funzionamento: -20°C ~ +75 °C
Foto modulo HC-05
Board 1 Relay
La Relay Board è una scheda compatibile con Arduino capace di pilotare carichi ad alta tensione grazie al relè elettromeccanico protetto con fotoaccoppiatore.
Il controllo del canale avviene tramite il pin di I/O digitale 2 della scheda Arduino e viene alimentata direttamente dai 5V di Arduino. Appena lo stato del pin 2 cambia in HIGH e quindi il relè viene eccitato, il LED rosso posto in prossimità del fotoaccoppiatore viene acceso.
Foto board relay (image credits Emartee.com)
LED
Il diodo LED è un dispositivo optoelettronico che sfrutta le proprietà ottiche di alcuni materiali semiconduttori per produrre fotoni attraverso il fenomeno dell'emissione spontanea ovvero a partire dalla ricombinazione di coppie elettrone-lacuna. ( tratto da Wikipedia)
Non credo che sia necessario dire altro.
Foto di LED (image credits Wikipedia.org)
Wires
Per collegare i componenti tra loro e creare l'Open Coffee Counter avremo bisogno di diversi fili.
Consiglio l'utilizzo dei cosiddetti Jumper DuPont.
Faston Connectors Female
Generalmente, i pulsanti delle macchine da caffè hanno dei connettori Faston Maschi.
Di conseguenza per collegarlo ad Arduino avremo bisogno di due connettori Faston Female saldati a due fili.
Per assemblare questo fantastico ed innovativo sistema bisognerà collegare i componenti nel seguente modo:
Per testarlo su una breadboard potete seguire il seguente piano di montaggio:
Ecco una parte di codice:
/* Applicazione realizzata da Ivan Scordato Contatti: [email protected] */ #include // includo la libreria per la comunicazione seriale #include // includo la libreria per effettuare le operazioni nella Eeprom // indico l'indirizzo dell'Eeprom in cui sono memorizzate le erogazioni disponibili int address = 3; byte value; // Variables will change: int buttonPushCounter = 0; // counter for the number of button presses int val = 0; // current state of the button int lastButtonState = 0; // previous state of the button SoftwareSerial mySerial(3, 4); // imposto i pin per la comunicazione seriale bluetooth // Collegare i pin nel seguente modo: RX=>4 TX=>3 #define BUTTON 8 // pin di input dove è collegato il pulsante #define ON 4 // relè collegato alla pompa #define SI 10 //LED verde, se ci sono erogazioni disponibili #define WORK 11 #define NO 12 // LED rosso, se non ci sono erogazioni disponibili ============================================================= (CODICE COMPLETO IN ALLEGATO)
Dopo aver assemblato il circuito ed aver programmato la scheda, non ci resta che testare il tutto.
Ecco due foto del prototipo:
L'applicazione che ho sviluppato per ricaricare il numero di erogazioni disponibili è la O.C.C.
Ecco uno Screenshot dell'applicazione:
Ribadisco che la versione che ho presentato è quella base, infatti è possibile ampliare il sistema con altre funzioni.
Ad esempio è possibile:
- Aggiungere la possibilità di ricarica tramite chiavetta;
- Aggiungere la gestione della Temperatura dell'estrusore;
- Aggiungere la possibilità di programmare l'accensione della macchina e l'erogazione del caffè;
- Aggiungere un LCD per visualizzare delle informazioni sul funzionamento del Sistema e della Macchina da caffè stessa;
- In base alle proprie esigenze può essere aggiunta qualsiasi funzione.
Se siete interessati allo sviluppo di un applicazione e/o di un sistema personalizzati, potete contattarmi tramite il modulo contact.
E' possibile acquistare una board Arduino Uno direttamente dal sito Conrad.
Adesso la parola passa a voi:
- Cosa ne pensate di questo progetto?
- Come lo migliorereste?
Ma che bell’esperimento originale.
Carino davvero. Complimenti.
Grazie, mi fa piacere che ti è piaciuto.
Te la senti di rispondere alle due domande? 🙂
ciao ivan vorrei provare il tuo progetto ma non so dove scaricare lapp e il codice per arduino ciao
Lo vedo poco pratico per bloccare l'erogazione dei caffè (sarebbe relativamente facile bypassarlo), tuttavia si potrebbe estenderlo per programmare ad esempio, l'accensione e lo spegnimento della caldaia, segnalare quando l'acqua sta finendo, ecc..
Sarebbe bello consentire ai vari utenti (ciascuno col proprio smartphone) di programmarsi quanto "alto" vogliono il proprio caffè.
Questa è una funzione che ho implementato nella mia macchina da caffè
Divertente.
Per migliorarlo doterei il tutto del dosatore dello zucchero.
Ciao, grazie per avere commentato.
Quello che ho presentato è solo la parte di controllo per le erogazioni.
L’idea del dosatore di zucchero è fantastica, ed è qualcosa a cui ho già pensato.
Un progetto che ho avviato da poco tempo riguarda la creazione di una Macchina da caffè Open Source molto particolare (al momento non voglio fornire dettagli, ma sappiate che non ho mai visto qualcosa del genere).
Per realizzare il prototipo mi farebbe davvero comodo avere una stampante 3D che al momento non ho.
Se volete sostenere il mio progetto potreste ad esempio Condividere tramite i Social Network questo articolo.
A presto,
Ivan
Ciao, grazie per avere commentato.
Secondo me questo sistema è bypassabile come qualunque altro sistema, ma bisognerebbe smontare la macchina (il tecnico se ne accorgerebbe).
“…tuttavia si potrebbe estenderlo per programmare ad esempio, l’accensione e lo spegnimento della caldaia, segnalare quando l’acqua sta finendo…”
Certo, proposta interessante, cosa che voglio fare in un altro progetto, visto che quello che ho presentato è solo la parte di controllo per le erogazioni.
Il progetto di cui parlo l’ho avviato da poco tempo e riguarda la creazione di una Macchina da caffè Open Source molto particolare (al momento non voglio fornire dettagli, ma sappiate che non ho mai visto qualcosa del genere).
Per realizzare il prototipo mi farebbe davvero comodo avere una stampante 3D che al momento non ho.
Se volete sostenere il mio progetto potreste ad esempio Condividere tramite i Social Network questo articolo.
A presto,
Ivan
se hai bisogno di stampare in 3d mandami i files che te li realizzo io
Ma con tutte le idee che stai raccogliendo e che hai proposto anche tu non corri il rischio di creare una macchinetta come quelle automatiche nei luoghi pubblici?
Non è così innovativo, non trovi?
Non è per fare polemica però alla fine mi sembra che tra chiavette, zucchero e altre cose si stia arrivando a creare solo un altro di quelli…
Probabilmente si, ma la macchina da caffè che sto progettando dovrebbe trovare principalmente un impiego domestico.
Non voglio creare qualcosa di già esistente, ma qualcosa di unico, particolare e carino.
Inoltre quello che voglio realizzare sarà OPEN SOURCE e chiunque potrà costruire la propria.
Le macchine da caffè esistono ormai da molti anni, ed è difficile riuscire a trovare qualche novità: questo è ciò che spero di riuscire a fare.
Grazie per aver commentato!
Spero che continuerai a seguire i commenti di questo articolo per restare aggiornato sui progressi.
Se qualcuno vorrà darmi una mano nella realizzazione sarà il benvenuto! 🙂
Certo, mi fa piacere!
So già come potresti aiutarmi… continuiamo a tenerci in contatto 🙂
Io se vuoi una mano te la do volentieri
Ciao, Sarei interessato al tuo progetto. ma vorrei farti alcune domande.
Il tuo progetto è libero ? nel senso si può modificare?
Può funzionare su più cellulari ?
Il collegamento alla macchina via bluetooth viene in automatico ?
l’APP come sopra può essere modificato ?
Salve, sarei interessato al tuo progetto. anch’io ho una macchina del caffè a casa e da tempo volevo realizzare questo tuo progetto.
Vorrei però farti alcune domande
Il progetto è libero ? nel senso posso modificarlo ?
può funzionare su più cellulari ?
il collegamento via bluetooth viene in automatico ?
L’APP che usi sul cel come sopra può essere modificato ?
Ciao Ivan complimenti per l’articolo, io sono entrato da poco nel mondo dei microcontrollori e il tuo progetto sull’open counter coffee è molto interessante, perchè è uno di quelli che si può provare in diretta sulla propria macchina del caffè. però non essendo un esperto imparo molto dalle vostre applicazioni. Sul listato del codice alla fine indichi che in allegato c’è il codice completo, ma dove?
Sicuro di una tua risposta ti saluto ancora con i complimenti per ciò che pubblichi.