Open Coffee Counter Project – Anche questo è OPEN SOURCE!

coffee counter

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:

  1.  Ricaricare il numero di caffè erogabili tramite un dispositivo Android che supporta la connessione Bluetooth;
  2.  Bloccare la pompa quando il numero dei caffè erogabili raggiunge il numero 0;
  3. 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:

  1. LED verde – viene acceso quando sono disponibili molti caffè;
  2. LED Giallo – viene acceso quando i caffè disponibili stanno per esaurirsi;
  3. 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.

Arduino Uno

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

hc-05

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.

relay board

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.

led

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.

wires

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:

schema open coffee counter

Per testarlo su una breadboard potete seguire il seguente piano di montaggio:

breadboard

Ecco una parte di codice:

/*
Applicazione realizzata da Ivan Scordato
Contatti: ivanwebmaster@rocketmail.com
*/
#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:

open coffee counter protorype

prototipo

L'applicazione che ho sviluppato per ricaricare il numero di erogazioni disponibili è la O.C.C.
Ecco uno Screenshot dell'applicazione:

screen

Ribadisco che la versione che ho presentato è quella base, infatti è possibile ampliare il sistema con altre funzioni.

Ad esempio è possibile:

  1. Aggiungere la possibilità di ricarica tramite chiavetta;
  2. Aggiungere la gestione della Temperatura dell'estrusore;
  3. Aggiungere la possibilità di programmare l'accensione della macchina e l'erogazione del caffè;
  4. Aggiungere un LCD per visualizzare delle informazioni sul funzionamento del Sistema e della Macchina da caffè stessa;
  5. 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?

Licenza Creative Commons

12 Comments

  1. Boris L. 30 aprile 2014
  2. IvanScordato Ivan Scordato 30 aprile 2014
  3. cristiano.livraghi 3 maggio 2014
  4. cristiano.livraghi 3 maggio 2014
  5. IvanScordato Ivan Scordato 3 maggio 2014
  6. Gius_Res Gius_Res 4 maggio 2014
  7. IvanScordato Ivan Scordato 4 maggio 2014
  8. IvanScordato Ivan Scordato 4 maggio 2014
  9. Boris L. 5 maggio 2014
  10. IvanScordato Ivan Scordato 5 maggio 2014
  11. IvanScordato Ivan Scordato 7 maggio 2014
  12. gioam.lorenzini 7 maggio 2014

Leave a Reply