Oggi vi voglio offrire un caffè… fatto dal Commodore 64! Ecco, infatti, la macchina da caffè comandata dal Commodore 64!
A distanza di 35 anni dal progetto Commocoffee 64 di Andrea De Prisco, ecco un’altra versione del progetto. Ci sono, però, alcune variazioni: in primo luogo, nel Commocoffee 64 si utilizzava la porta del datassette oppure una sola uscita della User Port, mentre in questo progetto utilizzo tre ingressi/uscite della porta PB della User Port del Commodore 64. La seconda differenza è nella quantità di controlli disponibili: in questo progetto, oltre ad accendere la macchina da caffè, posso anche pilotare la pompa e rilevare se la caldaia è in riscaldamento.
Per questo esperimento, ho collegato una macchina da caffè espresso Saeco Via Veneto alla User Port del Commodore 64, tramite due interfacce:
- una scheda di uscita con 4 relay, optoisolata (i contatti dei relay sono adatti a carichi di 10A a 240Vac);
- un’interfaccia di ingresso, con 4 optoisolatori, adatta a tensioni di rete 230Vca;
- un connettore per la User Port del commodore, tipo 3,96mm edge a 24 poli.
Avevo già descritto le interfacce e come controllare la User Port del Commodore 64 con delle istruzioni in Basic in questo articolo.
Attenzione! Se volete realizzare questo esperimento, fatevi aiutare da qualcuno esperto! Infatti, c’è una pericolosa vicinanza di acqua, corrente elettrica ad alta tensione e calore!
Funzionamento elettrico della macchina da caffè
La macchina da caffè che ho modificato è molto semplice. L’unità di controllo è semplicemente costituita da tre interruttori e due lampadine!
Il primo interruttore, nello schema indicato come int. ON-OFF, comanda l’accensione della macchina da caffè e della caldaia interna. La caldaia (nello schema indicata come BOILER) viene alimentata fino al raggiungimento della temperatura, che viene rilevata da un termostato bimetallico. Al raggiungimento della temperatura di lavoro ottimale, il resistore che scalda la caldaia si spegne.
Il secondo interruttore (indicato come int. CAFFE’) comanda la pompa dell’acqua. Attivando l’interruttore, viene accesa la pompa dell’acqua che consente all’acqua di fluire in pressione attraverso la polvere di caffè, prima di entrare nella tazzina.
Il terzo interruttore (int. VAPORE) serve per attivare il vapore, ma in questo progetto non viene utilizzato.
Infine, le due spie vengono utilizzate per indicare lo stato di accensione e lo stato di riscaldamento della caldaia.
Come indicato nel paragrafo che segue, non ho modificato l’impianto della macchina da caffè. Piuttosto, mi sono semplicemente collegato in parallelo:
- ai contatti 1 e 3 dell’interruttore di accensione int. ON-OFF, con il contatto N.O. di un relay;
- ai contatti 5 e 3 dell’interruttore della pompa int. CAFFE’, con il contatto N.O. di un altro relay;
- al resistore di riscaldamento della caldaia (BOILER), con un fotoaccoppiatore ad alta tensione.
Collegare le interfacce per la macchina da caffè comandata dal Commodore 64
In sé, il progetto è molto semplice. Questo è lo schema elettrico per collegare la macchina da caffè al Commodore 64.
Come si può notare, ho utilizzato due uscite della scheda a relay:
- per l’accensione della macchina;
- per l’attivazione della pompa.
La scheda a relay necessita di un’alimentazione a 5V esterna al Commodore 64.
Ho anche utilizzato un ingresso optoisolato, per verificare lo stato di riscaldamento della caldaia della macchina da caffè espresso.
Seguendo i collegamenti, si evince che:
- per l’accensione della macchina (e della caldaia) ho usato il relay 1, collegato al pin PB0 della User Port del Commodore;
- per l’attivazione della pompa ho usato il relay 2, collegato al pin PB1 della User Port del Commodore;
- infine, per verificare lo stato di riscaldamento della caldaia, ho utilizzato l’ingresso optoisolato 1 della scheda fotoaccoppiatori, collegato al pin PB4 della User Port.
Dalle schede alla macchina del caffè, il collegamento è semplice. E’ sufficiente collegarsi in parallelo ai due interruttori che gestiscono l’accensione della macchina da caffè e la pompa. In alternativa, è possibile scollegare i fili dagli interruttori e collegarli ai relay.
Relativamente al resistore di riscaldamento della caldaia, mi sono collegato in parallelo con due coccodrilli. Quando il resistore è alimentato (con 230Vac, attenzione!), la tensione entra anche nel primo degli ingressi della scheda ad optoisolatori.
Chi non volesse utilizzare una scheda con optoisolatori per rilevare anche la fase di riscaldamento della caldaia, può tranquillamente non installarla. Se il programma non rileva lo 0 logico sul pin PB4 della User Port, la funzione viene ignorata. Infatti, caricando il programma con l’emulatore, non mostra la dicitura “ACQUA IN RISCALDAMENTO …”.
Ricordatevi di accendere il Commodore PRIMA dell’interfaccia, altrimenti i relay si attiveranno casualmente e la macchina da caffè si accenderà senza il vostro consenso!
Per lo stesso motivo, quando l’esperimento è finito, bisogna spegnere PRIMA l’interfaccia e poi il Commodore 64.
Descrizione del programma in Basic: CAFFE.PRG
Il programma in Basic per gestire la macchina da caffè comandata dal Commodore 64 è scaricabile in fondo a questa pagina. E’ disponibile sia in formato testo, per essere visualizzato da PC, sia in formato PRG, per essere avviato dal Commodore 64 o da un emulatore.
I comandi disponibili sono:
- A per accendere la macchina da caffè e per attivare, contestualmente, la caldaia;
- S per spegnere la macchina da caffè;
- C per preparare un caffè corto;
- L per preparare un caffè lungo;
- X per uscire dal programma (e spegnere la macchina).
Quello che cambia tra C e L, per preparare il caffè, è solo il tempo di accensione della pompa interna alla macchina da caffè.
La procedura di utilizzo è semplice:
- caricare il programma CAFFE.PRG ed avviarlo con RUN;
- accendere la macchina da caffè, premendo A sulla tastiera del Commodore;
- attendere il riscaldamento della caldaia dell’acqua;
- premere C o L a seconda del caffè che si vuole preparare (corto o lungo);
- al termine dell’utilizzo, spegnere la macchina da caffè con S;
- uscire dal programma con X.
Comandi in Basic per gestire la macchina da caffè comandata dal Commodore 64
Nel listato del programma, scaricabile in fondo a questa pagina, ci sono alcune particolarità. Innanzitutto, il comando per attivare la caldaia della macchina da caffè è:
POKE 56579, 1
Per attivare la pompa, si devono tenere accesi contemporaneamente i relay 1 e 2, pertanto si utilizza:
POKE 56579, 3
Per spegnere la pompa, si può utilizzare lo stesso comando già usato per accendere la caldaia (caldaia accesa e pompa spenta):
POKE 56579, 1
Infine, per spegnere caldaia e pompa, si utilizza il seguente comando:
POKE 56579, 0
Come avevo già specificato in questo articolo, in realtà il comando POKE 56579, numero serve per impostare il piedino della porta PB come uscita. Appena impostato come uscita, il piedino corrispondente si porta subito a livello logico 0 (a massa), pertanto attiva il relay.
Il programma è anche in grado di rilevare se c’è tensione sulla resistenza di riscaldamento della caldaia della macchina da caffè. Quando la resistenza è alimentata, significa che la macchina da caffè non è pronta. La rilevazione di questo stato è un po’ rognoso. Infatti, il piedino PB4 della User Port del Commodore, oscilla tra 1 e 0 logico ad una frequenza di 50Hz (la frequenza della tensione di rete che alimenta la resistenza della caldaia.
Non basta, quindi, effettuare una singola rilevazione del pin PB4, tramite:
IF (PEEK(56577) AND 16) = 0 THEN ...
Bisogna, invece, effettuare questa rilevazione per un certo numero di cicli, in modo da essere sicuri, durante le oscillazioni tra 1 e 0, di rilevare almeno uno 0 logico. Se viene rilevato almeno uno 0 logico, significa che la macchina da caffè si sta riscaldando e non è pronta.
Listato del programma in Basic
Ed ecco i listati del programma in Basic per gestire la macchina da caffè.
Il programma è disponibile in due formati:
- CAFFE.TXT, in formato testo, per analizzarlo su PC (questo file non è immediatamente caricabile o trascrivibile sul Commodore 64: per convertirlo in PRG bisogna utilizzare C64LIST);
- CAFFE.PRG, da scompattare, in formato caricabile ed avviabile dal Commodore 64 ed emulatore.