Per fronteggiare le roventi temperature estive in assenza di un climatizzatore, l'utilizzo del classico ventilatore è una soluzione quasi obbligata.
Parliamo di un normale ventilatore da tavolo, uno degli elettrodomestici più comuni...
Tali apparecchi sono quasi sempre muniti di pulsanti per scegliere l'intensità con la quale verrà spinta l'aria; ovviamente però, le possibilità di variare la velocità del ventilatore sono ristrette al numero dei pulsanti presenti.
Lo scenario più comune infatti è proprio quello in cui si orienta il ventilatore direttamente contro di noi e pur avendolo impostato al minimo, l'aria viene spinta troppo forte procurandoci una sensazione tutt'altro che rilassante.
L'idea alla base del progetto è quindi quella di poter regolare il moto della ventola tramite PC (portandola anche a regimi più bassi) unendo così la semplicità di controllo da computer, al comfort dato da un leggero venticello che sfiorerà il nostro corpo.
Arduino è una scheda elettronica tutta italiana, open source e basata su un microcontrollore programmabile dal computer mediante un ambiente di sviluppo integrato.
La scheda elettronica è munita di numerosi pin utilizzabili come ingressi/uscite di tipo digitale/analogico nonché una porta USB (impiegabile anche come seriale) per collegarla al PC.
In sostanza abbiamo a disposizione un framework elettronico da programmare completamente a nostro piacimento.
Per acquistare Arduino vi rimando nell'apposita sezione del sito ufficiale (costa circa 24 €). L'IDE, ossia il software per la programmazione è possibile scaricarlo da qui
Voltiamo pagina e iniziamo la realizzazione del sistema...
Come anticipato, Arduino mette a disposizione dei pin digitali e analogici liberamente utilizzabili nel programma che scriveremo alla fine. La scheda è alimentata direttamente dal cavo USB.
Per il nostro progetto andremo ad utilizzare un pin digitale, che ricordiamo può assumere due valori: zero (0v) e uno (+5V). Dopodiché sfrutteremo i piedini di alimentazione della scheda, denominati rispettivamente Vin e GND, nei quali ovviamente vi è sempre una tensione di 5V (direttamente dalla porta USB).
Nel layout osserviamo meglio quali pin ci interessano:
Ho preso un pin digitale a caso (in questo caso il numero 7) e sarà quello che controlleremo via software.
Collegare un relè direttamente al pin digitale è impossibile in quanto la scheda non è in grado di erogare sufficiente corrente per eccitare la bobina del relè (rischieremo anche di danneggiarla).
Quindi, al fine di attivare l'eventuale relè che azionerà il ventilatore dovremo sfruttare la tensione fornita dall'alimentazione della scheda (Vin - GND), la quale dispone di corrente sufficiente.
Inseriremo infine un transistor BJT BC337 che farà le veci di un interruttore elettronico, con lo scopo di fornire o rimuovere tensione al relè che a sua volta interromperà o meno la tensione al ventilatore.
Dopo aver visto la panoramica del funzionamento lato hardware, descriviamo come verranno utilizzati i componenti...
Dal nostro punto di vista strettamente funzionale, il transistor verrà utilizzato come interruttore elettronico. Esso è dotato di tre terminali: Base, Collettore ed Emettitore:
Il funzionamento è piuttosto semplice: finché nella Base non applichiamo una tensione, tra il Collettore e l'emettitore non circola corrente. Quando nella Base applichiamo una tensione, il transistor BJT entra in conduzione e tra Base e Collettore può circolare corrente.
Come precedentemente detto, mi sono servito di un transistor BJT NPN BC337
Il funzionamento del relè è simile a quello del transistor: se applicata una tensione al suo ingresso, la bobina all'interno si ecciterà e chiuderà un contatto; al cessare della tensione il relè tornerà nella sua posizione di riposo riaprendo il contatto.
In questo caso, l'unica differenza con il transistor BJT è quella che il relè può pilotare un carico in 220V.
Per scoprire quali contatti del relè verranno chiusi mentre è eccitato, affidatevi allo schemino serigrafato sullo stesso o più semplicemente ad un tester.
Il relè che ho utilizzato è un Finder 40.52 da 6V
Voltiamo pagina e procediamo alla realizzazione...
Mettendo su carta tutto ciò precedentemente descritto avremo questo schema elettrico:
Dunque, noi via software controlliamo la presenza o meno di tensione sul pin digitale di Arduino. Finché non mandiamo il pin allo stato ON (+5V) il transistor resta aperto e il relè non si eccita.
Quando mandiamo il pin digitale a +5V, il transistor entra in conduzione e nel relè circolerà corrente (ricordiamoci che Vin e GND sono pin della scheda Arduino).
Il relè finalmente si ecciterà e chiuderà il circuito 220V del ventilatore, che inizierà a funzionare...
Il montaggio ricalca lo schema elettrico.
Consiglio di iniziare collegando uno dei due piedini di comando del relè al Collettore del transistor (magari con un saldatore a stagno).
Dopodiché possiamo accingerci a smontare la base di appoggio del ventilatore per accedere ai cablaggi dello stesso (assicuratavi ovviamente che la spina sia staccata!).
Individuiamo quindi il cavo neutro (è di colore blu), tagliamolo e spelliamolo da entrambe le parti: ora possiamo collegare queste due estremità ai contatti di scambio del relè che abbiamo preventivamente trovato con il tester. Assicuriamoci che i contatti siano ben fissi e isolati.
Adesso torniamo al transistor: all'inizio avevamo saldato il Collettore ad uno dei piedini di comando del relè, ora colleghiamo l'Emettitore al pin GND della scheda Arduino e la Base al pin digitale numero 7.
Il rimanente piedino di comando del relè andrà ovviamente collegato a Vin sulla scheda.
Finito il montaggio possiamo inserire il "gruppo" relè e transistor dentro l'alloggio nel ventilatore insieme ai suoi cavi.
Ora che abbiamo finito di implementare la parte hardware, inizia l'aspetto relativo alla programmazione della scheda Arduino...
Come accennato all'inizio, la scheda Arduino ruota attorno ad un microcontrollore, il quale deve essere programmato da PC.
L'IDE può essere scaricato da qui (Windows, Linux e Mac). Il linguaggio di programmazione utilizzato per programmare Arduino è il Processing (della famiglia Java).
Il software si presenta molto essenziale, proprio come ci si aspetta:
In alto, partendo da sinistra troviamo un pulsante per verificare il codice e un altro pulsante per compilare\inviare alla scheda il programma scritto.
I singoli progetti sono denominati sketch; l'editor è dotato del comodo syntax-highlighter e va inoltre ricordato che siamo in un ambiente case-sensitive.
Cliccando su Strumenti troviamo il Monitor seriale, con il quale possiamo ricevere ed inviare dati a Arduino via seriale (attraverso l'USB) durante il suo funzionamento.
In sostanza, il programma che scriveremo per la scheda avrà il compito di leggere dalla porta seriale (USB) un valore compreso tra 1 e 9 impartito dall'utente tramite PC. Di conseguenza aumentare o diminuire la durata dello stato ON sul pin digitale.
Di seguito inserirò il codice sorgente del programma che ho realizzato, ovviamente si può personalizzare aumentandone anche la complessità.
Successivamente descriverò comunque la sua struttura e il suo funzionamento, in ogni modo anche dando un'occhiata ai commenti presenti nel codice stesso si può quantomeno recepire un'idea di funzionamento.
Come accennato dai commenti nel codice, lo sketch si divide in due parti: la prima denominata setup (eseguita solo all'inizio), nella quale vengono dichiarati e impostati i parametri principali: nel nostro caso il pin da utilizzare ed il comando per inizializzare la comunicazione seriale con il PC.
La seconda parte, denominata loop, sarà il nostro programma vero e proprio e verrà eseguito ripetutamente.
Dunque, come prima istruzione abbiamo una condizione, utilizzata per far leggere ad Arduino eventuali dati in arrivo dalla seriale.
Successivamente ho utilizzato un ciclo Switch, parte fondamentale dello sketch: questo ciclo infatti, a seconda del dato ricevuto precedentemente, dà un valore in millisecondi alla variabile che regolerà la durata dello stato ON al pin digitale.
Come si può notare, il dato letto dalla seriale non corrisponde al valore da 1 a 9 inserito realmente dall'utente, bisogna infatti seguire questa tabella di conversione.
Dopo il ciclo vi è l'istruzione vera e propria per impostare a ON il pin digitale, con la conseguente accensione del ventilatore, seguita dall'istruzione di attesa nel quale il ventilatore continua a girare.
Dopodiché il pin digitale viene messo a OFF ed il ventilatore si spegne per un tempo fisso di un secondo.
Non ci resta che attaccare la spina del ventilatore e collegare il cavo USB dalla scheda Arduino al PC.
Dopo aver scritto il codice sorgente nell'editor, clicchiamo il pulsante di verifica dello sketch e successivamente il pulsante per caricare il programma su Arduino... la scheda inizierà ad eseguire il nostro programma immediatamente.
Per controllare il ventilatore dobbiamo quindi connetterci alla seriale in cui è collegata la scheda, possiamo tranquillamente farlo dal Monitor seriale incluso nell'editor o tramite software come PuTTY e simili.
Lasciate pure il ventilatore alla velocità media o bassa: d'ora in poi lo controllerete da PC, inviando alla seriale un numero da 1 (velocità minima) a 9 (velocità massima).
Per concludere, siamo riusciti a realizzare un piccolo progetto basandoci su una scheda elettronica open source, le cui possibilità sono vastissime grazie anche alla complicità di abbondanti documentazioni, che d'ora in poi potrete leggere anche in questa torrida estate, rilassati da un leggero venticello "programmabile"...
MegaLab.it rispetta la tua privacy. Per esercitare i tuoi diritti scrivi a: privacy@megalab.it .
Copyright 2008 MegaLab.it - Tutti i diritti sono riservati