Archivi tag: foto resistenza

Arduino e la lavatrice

La lavatrice che abbiamo in casa, non è molto loquace nel notificare la fine del lavaggio. Se poi la casa è di medie dimensioni, con di mezzo una rampa di scale, implica il fare parecchia attività fisica. La cosa sarebbe anche sopportabile, se una volta finito il programma di lavaggio, fosse effettivamente finito, invece questa richiede almeno un altro paio di risciacqui aggiuntivi prima di far uscire il bucato senza residui di detersivo. Infine, in casa mia, il fine settimana, la lavatrice inizia ad andare il sabato mattina e lavora senza sosta fino a domenica pomeriggio.

Inutile dire che erano anni che cercavo di trovare un modo per risolvere la questione, ma tutti implicavano l’utilizzo del wifi, un qualche mini pc attaccato alla lavatrice  ed uno al piano di sopra. Troppo costoso. Nel 2011 vengo a conoscenza di Arduino, potrebbe essere una soluzione, ma la mia ignoranza in campo di elettronica mi fa comunque desistere.

A novembre 2013, inizio a fare esperimenti con Arduino, e decido da subito di provare a risolvere questo problema.

Il primo problema da affrontare è stato come capire se la lavatrice ha finito. Ha un bel led rosso, che si accende in fase di risciacquo e quando termina il lavaggio lampeggia. Avevo una fotoresistenza di recupero, l’ho attaccata ad un ingresso analogico, alcune righe di codice per capire se sta lampeggiando o no e avevo il segnale di fine lavaggio a disposizione.

A questo punto è venuto il bello, come portare il segnale al piano superiore. Alcuni mesi prima avevo letto di un tale che era riuscito a fare delle trasmissioni radio FM collegando un pezzo di filo ad un pin della Raspberry. Verifico se la cosa è fattibile con Arduino… non tanto, non riesce a modulare un segnale a 103 MHz. C’è però un tizio che è riuscito a fare un trasmettitore morse in AM sulla frequenza di 1 MHz. Faccio una prova, un pezzo di filo su un pin di Arduino, accendo la radio, piano piano cerco la frequenza corretta e… in mezzo ad un bel po’ di fruscio si riesce ad udire un debole codice morse. Purtroppo, la trasmissione è talmente debole, che a pochi metri di distanza non si riceve più nulla oltre a dover orientare la radiolina in posizioni assurde. Provo ad informarmi su che antenna ci vorrebbe, parlano di un filo lungo una decina di metri. Non è proprio il tipo di antenna che posso tenere in casa. A parte scoprire poi che trasmettere su quella frequenza non è proprio legalissimo.

Ad un certo punto mi viene in mente che ho a disposizione la scheda elettronica del cancello elettrico che si era rotta per un fulmine estivo qualche mese prima.

Scollego la scheda radio ricevente, mi metto a controllare come sono fatte le piste della scheda, tiro fuori VCC, GND ed il contatto che viene attivato quando arriva l’impulso radio. Provo ad alimentarla direttamente con un alimentatore da 12 V, metto il tester sul contatto di uscita, premo i pulsanti sul telecomando e vedo il tester muoversi. Bon, questo è fatto.

Ora il problema è che mi scocciava dover lasciare li l’Arduino comperato e pagato 24 euro. Dopo un po’ di girovagare sono approdato all’Arduino su breadboard. Tra l’altro, se lo faccio andare a 8 MHz, posso risparmiare due condensatori ed un quarzo (che non avevo a casa). Decido di costruirlo. Vado a comperare i componenti mancanti, ma non trovo il quarzo da 16 MHz. Controvoglia, procedo all’aquisto online dei quarzi mancanti e attendo che arrivino. Nel frattempo recupero un chip ATMega328P, verifico su internet che si può caricare il bootloader da 8 MHz anche senza avere il quarzo, con una versione di ArduinoISP che recupero sul sito di AdaFruit. Un po’ di prove e riesco a caricare il bootloader di arduino senza il bisogno del quarzo.

Ora procedo a sviluppare la scheda su millefori. Sarà composta da un regolatore di tensione, il chip ATMega328, un transistor per azionare il telecomando, dei morsetti dove collegare alimentazione, telecomando e fotoresistenza. Aggiungo anche un led rosso con lo scopo di replicare lo stato del led della lavatrice (che verrà coperto dalla fotoresistenza).

Ecco la scheda finita sopra:

Lavatrice_scheda_fronte

e sotto:

Lavatrice_scheda_retro

Tutta la scheda funziona a 5 V mentre il radio comando funziona a 9 V. Avevo acquistato un regolatore di tensione da 9 V, ma la mia scarza esperienza in elettronica, mi ha impedito di farlo funzionare, per cui (su consiglio) sono ricorso a quelle due obrobriose file di diodi con lo scopo di far scendere la tensione di alimentazione dai 12 V del trasformatore ai 9 V per il radio comando.

Il potenziometro sulla sinistra, nelle intenzioni originali, sarebbe dovuto servire a regolare la luminosità proveniente dalla fotoresistenza in modo da non dover cambiare il programma se dovesse cambiare il livello di luminosità del led che segnala la fine lavaggio. Di fatto è stato più semplice modificare il programma.

A fianco all’ATMega sono presenti due coppie di pin maschi, una per collegare il tx/rx della seriale, l’altra per fare il reset della scheda, necessario per il caricemento dello sketch. Il pin di reset, lo azionavo o con un pulsante collegato tramite cavo o con un cacciavite (a seconda di quello che risultava più comodo).

Alla fine, inscatolo il tutto in una scatola di recupero e posiziono sulla lavatrice.

La foto resistenza è stata posizionata sulla spia di fine lavaggio, sotto ad un pezzo di carta per non essere influenzata dalla luce ambientale.

Lavatrice_fronte_sensore

Per il ricevitore, ho semplicemente attaccato un led ed una resistenza sul pin dove arriva la tensione quando riceve il segnale radio, inscatolato e posizionato in cucina.

Quando termina il lavaggio, il programma fa lampeggiare il led per circa cinque minuti.

Il tutto funziona tranquillamente da 13 mesi… con parecchie rampe di scale risparmiate :-).

Un’ulteriore evoluzione, sarebbe stata l’aggiunta di un pulsante e di un display a sette segmenti dove indicare il numero di risciacqui aggiuntivi da fare, così al termine del lavaggio la scheda avrebbe comandato la lavatrice per fare i risciacqui successivi.

Sarebbe stato interessante anche mettere un sensore sul tubo di scarico che misurasse la conducibilità elettrica e la limpidezza dell’acqua di scarico, poi in base a questi due parametri determinare se l’acqua è sufficientemente pulita così da decidere quanti risciacqui aggiuntivi fare.

Credo sia tutto.