Chiedendo agli amici se qualcuno aveva un tester da prestarmi, mi sono ritrovato in casa un vecchio Analizzatore Lael 450 fabbricato a Milano negli anni ’50, non funzionante, ma molto bello. Un bell’oggetto morto.
Quando ho provato a restituirlo il proprietario mi ha detto “tienilo, era di mio padre, ma non mi serve e poi non va”.
L’ho tenuto lì un annetto, poi mi é venuta voglia di farlo diventare qualcosa di utile.
Ora é la mia sveglia, orologio e luce notturna connessa ad Internet, basato su Arduino Nano e ESP8266-01.
Questa é la raccolta degli appunti del progetto.
Reverse engineering delle manopole
Il fronte della scatola che racchiude il tester era costituito da delle manopole che volevo assolutamente riutilizzare, così come l’ago che si muove per indicare il valore della tensione.
Le manopole erano collegate a degli interruttori rotanti (tipo questo): su una manopola, a seconda dello scatto, venivano collegate diverse resistenze permettendo la misura dei valori di tensione e corrente su scale diverse. Sull’altra manopola lo scatto comportava l’attivazione di circuiti diversi in modo da far funzionare il tester in AC o CC ed altro ancora. Non ho approfondito il funzionamento dell’analizzatore, ma mi interessava riciclare i comandi.
A seconda della rotazione volevo leggere un 1 o uno 0 su dei pin di Arduino. Dissalda. Guarda. Prova. La rotazione della manopola, in pratica, chiude ad ogni passaggio un interruttore diverso.
Questo lo schema di uno dei rotary switch, una lamella blu (più lunga delle altre) porta la corrente sulla ruota centrale arancione che ruotando la manopola gira e chiude o apre i circuiti collegati alle altre lamelle blu:
Reverse engineering del needle gauge
La lancetta che si muoveva per segnalare i valori delle misurazioni é comandata applicando una tensione a due capi, segnati con + e -. Ho fatto alcune prove e ho trovato come pilotarla con valori di un uscita pwm di Arduino riducendo la corrente con una resistenza da 10kohm.
Facendo alcuni test ho stabilito i valori da applicare per far muovere la lancetta sui numeri da 1 a 10 della scala centrale.
Successivamente ho però notato che le interazioni con gli altri componenti, con il wifi, le luci e i suoni alterano probabilmente la corrente che circola verso il gauge precludendo qualunque utilizzo preciso della lancetta. Probabilmente é necessario costruire un filtro che rimuove queste variazioni e stabilizza tensione e corrente, ma la lancetta é per me più che altro estetica.
Potenziometro
Sotto alle due manopole, in mezzo, c’era una classica resistenza variabile, che però non funzionava più, fortunatamente quelle attuali hanno le misure identiche a quelle di sessanta anni fa e quindi ho potuto tenere il suo tappino e sostituire il vecchio potenziometro con uno nuovo.
Luci e sensori
Ho inserito due led SMD, quelli piatti, negli spinotti dei cavi esterni + e – del tester.
Ho inserito un terzo led SMD dentro lo scatolotto del needle gauge, non é stato semplice, perché volevo inserirlo in modo che illuminasse un po’ la lancetta senza però urtarla.
Per alimentare i tre led ho dovuto utilizzare un transistor BCE, perché la corrente in uscita da un pin di Arduino non era sufficiente. Ho messo in serie anche il potenziometro così la luce può essere smorzata o alzata a piacere.
Con un trapano fisso ho bucato la scatola, che é durissima (é ghisa?) per inserire i sensori di luce e di movimento sul lato superiore.
Suoni
Da un vecchio giocattolo ho recuperato un speaker e ho scoperto che con alcune librerie é possibile emettere dei suoni senza ulteriori componenti, modulando in ampiezza l’onda quadra che di solito ci permette di fare solo dei brutti beep. Il risultato, seppure lontano da qualunque suono campionato, é migliore e in certi casi molto d’effetto, il suono di R2D2 di Star Wars (preso qui) e quello dei grilli (preso qui) su tutti. La libreria per gestire i suoni senza ulteriori componenti la trovate qui.
Orologio, Real Time Clock vs ESP8266
Volendo usare il tester come orologio e sveglia mi sono procurato dei circuiti dedicati Real Time Clock, prima ho provato ad utilizzare un DS1307, ma non vi sono riuscito, diversi utenti online dicono che sono moduli sbagliati e che per farli funzionare bisogna modificarli rimuovendo alcune resistenze e cortocircuitando alcuni pin, ho provato anche questo ma il DS1307 resta per me un mistero.
Sono poi passato ad un RTC DS3231 e con questo modulo sono riuscito a fare tutto, orologio e sveglia, ma restava il problema di come modificare l’ora a cui deve suonare la sveglia, oppure come aggiustate l’ora senza ricollegare. I controlli presenti, cioè le due manopole da sole, senza neanche un display se non una lancetta, non permettono la costruzione di un’interfaccia semplice per inserire i parametri.
Ho quindi sostituito il RTC con una ESP8266-01, programmata separatamente.
Dal punto di vista del software realizzato per il RTC è sufficiente inizializzare la classe con millis(), la funzione di clock interna ad ogni microprocessore e, tramite la ESP recuperare l’ora da internet e aggiustare di conseguenza l’ora. Seppure l’Arduino nano a cui tutti i componenti sono collegati diventa impreciso, c’è sempre l’ESP che recupera l’ora giusta da Internet e aggiorna l’orologio.
Comunicazione ESP-Arduino Nano
Comunicare con l’ESP via seriale e comandi AT è difficile. Nell’anno passato ho imparato a programmare direttamente la scheda ESP8266 e sostiture il firmware originale con del codice mio, studiato per collegarsi ad Internet e gestire un mini server web da usare come Access Point e poter ricevere delle configurazioni. L’ho quindi modificato per questo progetto, creando così un’interfaccia che permetta di inserire i dati per connettere al wifi di casa il tester, indicargli il sito da cui prendere l’ora, settare l’ora e i giorni in cui far funzionare la sveglia.
La scheda ESP, poi, è collegata tramite seriale all’Arduino Nano e viene interrogata con un set di comandi ristretto che permette di prelevare i dati e attivare l’access point per configurare il tester da telefono.
Componenti
Elenco componenti utilizzati (per prezzi migliori in realtà conviene spulciare Amazon o, se avete tempo, cercarli su Aliexpress o Banggood):
- Arduino nano
- Mini pir
- Photo resistor
- 3 led smd
- Esp8266-01
- Cavetti vari
- Altoparlante
- Potenziometro
- Un paio di resistenze da 10Kohm
- Transistor BCE tip120
Schema del progetto
Essendo un progetto “vintage” ho fatto lo schem a matita su un vecchio quaderno!
Avete anche voi un vecchio tester? Provateci!