lunedì 21 dicembre 2015

Kit Arduino Natale 2015

Come tutti gli anni durante il periodo Natalizio vado in crisi con la scelta dei regali.Quest'anno ho pensato di assemblare un kit basato su Arduino per i miei nipoti.
Il mio scopo e' di fare un regalo originale, di fargli conoscere Arduino, di farli divertire e magari di aiutarli a fargli venire la passione per questo campo.



Riporto qui la lista dettagliata del kit nel caso in cui sia utile a qualcuno


Bill of Material (Lista materiali)

  • Scheda Arduino Uno con ccavo USB per collegamento PC e Alimentazione
  • 1 Breadboard per prototipazione senza saldature
  • Kit motore passo-passo con controller ULN2003
  • Modulo Rele’ a 5V
  • Motore DC corrente continua
  • 50 Resistenze di vari valori
  • 1 Schema codice colori resistenze
  • 7 Led Blu
  • 7 Led Gialli
  • 7 Led Rossi
  • 7 Led Verdi
  • 7 Led Bianchi
  • 2 Pulsanti
  • 1 Potenziometro rotativo
  • 40 fili per breadboard rossi maschio-maschio
  • 40 fili per breadboard neri maschio-maschio
  • 15 fili jumpwire maschio-maschio


Vediamo adesso la lista piu' nel dettaglio. Inserisco anche link dove ho acquistato il materiale descritto (e' possibile reperirlo anche su altri siti)



Scheda Arduino Uno con cavo USB per collegamento PC e Alimentazione



1 Breadboard per prototipazione senza saldature






Kit motore passo-passo con controller ULN2003





Modulo Rele’ a 5V 




Motore DC corrente continua




50 Resistenze di vari valori







1 Schema codice colori resistenze





7 Led Blu,  7 Led Gialli, 7 Led Rossi, 7 Led Verdi e 7 Led Bianchi






2 Pulsanti e 1 Potenziometro rotativo





40 fili per breadboard rossi maschio-maschio e 40 neri





15 fili jumpwire maschio-maschio






Con questo semplice kit e' possibile sperimentare e divertirsi con tanti mini progetti con Arduino.

Per un bambino che vuole iniziare in maniera semplificata dare un'occhiata qui


Buon Natale e Buon Divertimento!!!




sabato 12 dicembre 2015

Scratch e Arduino

In questo post faccio vedere come installare il software necessario per poter  programmare Arduino utilizzando l'ambiente di programmazione visuale Scratch.


Iniziamo con la lista di quello che ci serve:


  • Scheda Arduino con cavo USB






Io utilizzo una scheda Arduino UNO, ma qualsiasi altra scheda Arduino funziona in modo analogo.
In caso di utilizzo di schede Arduino cloni potrebbero essere necessari dei driver addizionali per Windows

  • Arduino Software e Ambiente di programmazione




Ambiente di sviluppo per Arduino (v 1.6.5) che si scarica gratuitamente qui. Non spaventatevi lo usiamo solo la prima volta, poi non lo useremo piu' per realizzare i nostri progetti con Arduino :)


  • Un Computer con Windows
Vi server un computer con il sistema operativo Windows. Io uso Windows 7 ma versioni successive funzionano ugualmente.

Oltretutto potete anche usare Linux o il MAC. In questo post tutte le istruzioni sono per WIndows siccome e' il piu' diffuso.


  • Firefox Web Browser


E' possibile utilizzare anche altri browser, ma consiglio di usare Firefox in quanto l'utilizzo di Scratch con Arduino e' piu' semplice con Firefox che con altri browser.


  • Estensione Arduino Browser Plugin
E' un plugin del browser Firefox che ci permette di mettere in comunicazione il browser con la scheda Arduino. Puo' essere scaricato gratuitamente qui

Adesso che abbiamo tutti i componenti necessari, iniziamo l'installazione. Nel resto del post spiego passo per passo cosa bisogna fare.

Passo #1: Installazione Software Arduino


  • Unzip in una cartella: la versione di Arduino suggerita non richiede instllazione. Fai unzip del file in una cartella a tua scelta e poi esegui arduino direttamente da questa cartella.
E' possibile che in funzione del modello della tua scheda Arduino devi installare i driver.
Segui questa guida qui, ti spiega passo per passo come installare i driver

Se possiedi un Arduino clone puoi trovare i driver qui

  • Collega la scheda Arduino al PC tramite il cavo USB
La maggior parte delle schede Arduino viene alimentata direttamente dal PC tramite il cavo USB. In alcune schede devi appositamente selezionare un ponticello (Arduino Diecimila)


  • Verifica la porta COM
Se tutto e' andato per il verso giusto una nuova porta COM e' stata aggiunta al tuo sistema.
Verifica in questo modo:

Start -> Control Panel



poi seleziona Hardware and Sound


poi seleziona Devices and Printers

Adesso al fondo della finestra dovresti vedere una nuova porta seriale COM chiamata Arduino



Nel mio caso la porta si chiama COM4. Nel tuo caso questo numero potrebbe cambiare.
Annotati questo nome siccome ci sara' utile dopo. 


Passo #2: Configurazione software Arduino

L'estensione di Scratch che utilizeremo per comunicare con Arduino usa un protocollo chiamato Firmata.
Dobbiamo installare il software Firmata sulla nostra scheda Arduino faceondo cosi':

  • Carica l'ambientre Arduino
Dal menu start di windows cercate il software Arduino appena installato e lanciatelo



Se tutto ha funzionato correttamente dovreste vedere una schermata simile a questa




  • Configurate il software
A questo punto bisogna configurare un paio di parametri nel software per far comunicare questo ambiente di programmazione con la scheda Arduino

Selziona il menu Tools -> Board

Vi compare una lunga lista di schede Arduino disponibili, voi selezionate esattamente quella che state utilizzando.
Nel mio caso ho selezionato Arduino Uno



Adesso non resta che completare la configurazione selezionando Tools -> Port
Da qui scegli la porta COM che ti eri annotato prima. Nel mio caso e' COM4






Passo #3: Installatiamo il software Firmata

Per installare il software di comunicazione Firmata sulla scheda Arduino basta fare cosi':

  • Carica il codice sorgente Firmata

Seleziona File -> Examples -> Firmata -> StandardFirmata



Adesso si apre una seconda finestra contenente il codice sorgente Firmata.
Puoi scorrere con mouse su' e giu' per vedere il codice sorgente, ma probabilmente ti risultera' incomprensibile. Niente paura non devi modificarlo.
In futuro quando acquisirai piu' esperienza sono sicuro che riuscirai a capire cosa fa' questo codice. :)


  • Upload del codice sulla scheda Arduino
Per compilare (il processo che trasforma il codice sorgente in codice macchina) e caricare il software su Arduino basta fare click sul pulsante Upload



Se tutto e' andato a buon fine dovresti vedere qualcosa di simile in basso nella finestra di Arduino




Come promesso all'inizio se hai raggiunto questo punto e' l'ultima volta che userai il software Arduino per programmare la tua scheda. Da ora in poi useremo Scratch. Pero' devi ancora completare l'installazione di un componente software. 
Guarda come si fa' come qui sotto.


Passo #4: Installiamo il plugin di Firefox per Arduino

Per far comunicare la scheda Arduino, con il software Firmata che abbiamo caricato precedentemente, e' necessario installare un plugin per il Browser.

  • Download Plugin
Il plugin si scarica qui 


  • Installazione plugin
Fai doppio click sul file scaricato prima. Questo installaera' automaticamente il plugin necessario




A questo punto tutti i pasis necessari per iniziare ad usare l'ambiente Scratch per programmare Arduino sono stati completati. Non ti resta che iniziare

Passo #5: Carichiamo Scratch 


Dal Broser Firefox apri questo link 

Dopo alcuni secondi dovrebbe apparore questa finestra




Non ti preoccupare ti dice solo che l'estensione Arduino che stai per usare non e' mantenuta dal team ufficiale di Scratch. In ogni caso tutto apposto non ci sono pericoli.

Seleziona I Understand, continue

Se tutto ha funzionato a dovere al centro della finestra devi vedere un pallino verde




Il pallino verde ti dice che la comunicazione con Arduino funziona correttamente e tutto e' pronto per iniziare con i tuoi progetti Scratch e Arduino

NOTA

Il pallino puo' assuemere altri due colori:

  • ROSSO: significa che il plugin per il browser non e' stato installato correttamente
  • GIALLO:  significa che la comunicazione tra il browser e Arduino ha qualche problema

In caso di pallino GIALLO tipicamente basta scollegare Arduino, ricollegare Arduino e ricaricare scratch dal broser come spiegato prima



Se tutto ha funzionato a dovere dovresti vedere questa finestra nel tuo broswer




Il mio primo progetto Arduino: Lampeggio LED

Adesso che l'abiente Scratch per programmare Arduino e' pronto programmiamo il nostro primo progetto.

Lo scopo e' far lampeggiare un LED sulla scheda di Arduino senza il bisogno di nessun componente esterno.


Nella finestra Script crea questo programma attaccando insieme i vari blocchetti come visualizzato in figura




Questo script fa la seguente cosa:

Quando si preme la bandierina verde il programma inizia connettendo il led A al pin 13 di Arduino.
Dopo di cio' accende il led per 1 secondo, poi lo spegne per 1 secondo e poi ricomincia dall'inizio.
Quindi una volta che eseguiamo il programma (click su bandierina verde) il led sulla scheda arduino si accende e si spegne continuamente


Prova a cambiare il tempo di accensione e spegnimento e guarda che succede :) :)





In conclusione abbiamo configurato tutto il necessario per poter eseguire i nostri programmi Scratch su Arduino. Tutta la programmazione avviene in ambrinte visuale Scratch e quindi non serve imparare nessun linguaggio specifico.

L'ambiente descritto in questo articolo si presta perfettamente all'utilizzo dei piu' piccoli permettendogli cosi' di imparare sia la programmazione visuale sia l'interazione con una scheda fantastica come quella di Arduino.





domenica 22 novembre 2015

Internet Relay Board v2

Questo post e' la continuazione del mio precedente post intitolato  Internet Relay Board v1

In questo post realizzo esattamente la Internet Relay Board ma su PCB anziche' su basetta millefori.




BoM

I componenti usati sono:

  • 1x modulo ESP8266 (nel mio caso ESP8266-01)
  • 1x modulo relay a 3V (SRD-03VDC-SL-C)
  • 4x resistenze da 1K ohm
  • 2x led
  • 1x diodo 1N4007
  • 1x transistor BC547 (NPN)
  • 1x 5V To 3.3V DC-DC Step-Down Power Supply Buck Module AMS1117 800MA
  • 2x morsetti screw-terminal
  • 1x switch a due posizioni
  • 1x pin header maschio (3 pin)
  • 4x file metallici per ponticelli
  • 1x basetta ramata
  • 1x flacone di acido muriatico
  • 1x flacone di acqua ossigenata 36 volumi
  • 1x paglietta per pentole
  • acetone per unghie

Per alimentare la board uso un caricatore riciclato 5V output 1A. 


Schema PCB


Come negli altri post ho utilizzato Fritzing per disegnare lo schematico del PCB
Ho inizialmente utilizzato il routing delle piste automatico e man mano che aggiungevo componenti e piste ho utilizzato il routing manuale per ridurre il numero di ponticelli



Come si vede dalla fiura ho anche aggiunto 4 punti di allineamneto che mi saranno utili nei passaggi successivi

Una volta terminato lo schema del PCB con Fritzing l'ho esportato in PDF e poi stampato con una stampante laser su un foglio di carta fotografica.

NOTA:
Per il procedimento che ho usato io per trasferire il PCB su piastrina ramata e' fondamentale stampare lo schema PCB tramite una stampante laser (NO ink jet) e su un supporto cartaceo poco assorbente (carta fotografica)

NOTA2: 
Ho provato la prima stampa su un foglio di carta trasparente oleata ma ha assorbito troppo il toner e ne ha impedito il corretto trasferimento su piastrina ramata

Qui sotto il circuito esportato da Fritzing 


NOTA:
Quando si esporta il PCB Fritzing genera molti file differenti.
Io ho usitlizzato (quello qui in figura) il file con nome XXXX-etch_copper_bottom.pdf


e qui il circuito stampato su carta fotografica tramite stampante laser




Preparazione PCB


Ci sono molti modi di realizzare un PCB. Ognuno puo' scegliere il metodo piu' adatto alle sue esigenze.
Qui descrivo brevemente il metodo che o usato io con successo.


Pulizia piastrina

Siccome la piastrina ramata si ossida facilmente ne ho pulito la superfice con una paglietta/spugnetta per la pulizia delle pentole




non abbiate paura se il rame si graffia un pochino, cio' sara utile dopo nel processo di corrosione.

Trasferimento stampa PCB


Una volta pulita la piastrina ho ritagliato il la stampa del circuito PCB seguendo il borod nero piu' esterno.

Successivamente ho capovolto la stampa e l'ho applicata sopra la piastrina ramata.

Ho applicato un paio di striscioline di scotch per tenere ferma la stampa sulla piastrina

A questo punto ho fatto riscaldare molto bene un comune ferro da stiro, impostandolo in modo che non generi vapore.

Una volta che il ferro ha raggiunto la massima temperatura ho applicato un panno sopra la stampa/basetta (un comune fazzoletto di cotone va benissimo).

A questo punto ho appoggiato il ferro caldo sopra il panno ed ho esercitato una moderata pressione per 3-4 minuti.

In questo modo il calore del ferro da stiro fa staccare il toner dalla carta fotografica e lo fa depositare sulla piastrina ramata.

A questo punto dopo aver rimosso il ferro da stiro, ho lentamente ed accuratamente rimosso lo scotch e la carta fotografica.

E' importante fare attenzione a non tirar via anche le piste di toner.

Si puo' anche fare questa operazione sotto l'acqua del rubinetto in modo che la carta si stacchi piu' facilmente

NOTA: La piastrina si scalda moltissimo, state attenti a non bruciarvi. Se preferite attendete qualche minuto in modo da farla raffreddare un po'.

Ci sono molti tutorial su Internet. Un esempio e' questo https://www.youtube.com/watch?v=yb7NOmOaXhg

Questo e' il risultato che ho ottenuto io




Come potete vedere alcune tracce non sono perfettamente stampate.

Nesusna paura: con l'ausilio di un pennarello indelebile (quello che si usava per scrivere su CD per chi si ricorda :) ) correggiamo le tracce incomplete in modo da avere un tratto il piu' continuo e coprente possibile




Chiaramente il risultato e' molto migliorabile, ma comunque per un semplice procedimento casalingo senza l'uso di particolari strumenti ritengo che sia piu' che buono. :)




Taglio basetta


In funzione delle dimensioni della basetta ramata utilizzata puo' essere necessaria ritagliarla o rifilarla.

Io ho utilizzato un traforo per legno. Un paio di seghetti si sono spezzati ma comunque sono riuscito a completare il taglio




PS: per essere onesti con queste parte prettamente meccaniche sono un po' scarso, quindi mi sono fatto aiutare da un maestro del traforo :) :)


Erosione PCB


A questo punto, se tutto e' andato bene, abbiamo una basetta delle dimensioni volute con su stampato le tracce del circuito

Adesso e' ora di erodere il rame in eccesso.

Per far cio' ho usato una semplicissima soluzione di acido muriatico ed acqua ossigenata (36 o piu' volumi)



Come notate questo metodo impiega strumenti ed elementi di facilissima reperibilita' e poco costosi.

Ho miscelato i sue liquidi al 50%. Meta' acido muriatico e meta acqua ossigenata

NOTA:  vi consiglio di utilizzare un paio di guanti in plastica per preparare e maneggiare questa soluzione. E' ALTAMENTE corrosiva


A questo punto ho messo la miscela in una vaschetta di plastica ed vi ho immerso la piastrina legata con un filo di ferro.



Il filo di ferro non e' obbligatorio. Io l'ho usato per recuperare la piastrina senza doverla toccare

Lasciate la piastrina nella soluzione per 2-3 minuti o comunque il tempo necessario per erodere tutto il rame non coperto dal toner nero. Se vuoi ogni tanto muovi la piastrina.

Una volta erosa completamente, estraete la piastrina e lavatela bene sotto un flusso d'acqua fredda e corrente

Se tutto ha funzionato bene avete adesso ottenuto il PCB correttamente eroso.



COme vedete tutto il rame e' stato rimosso (si vede il giallo del supporto di plastica) tranne sotto le piste  ricoperte di toner nero.

Come ultimo passo rimuovete il toner con un batuffolo di cotone imbevuto nell'aceto per unghie.
Il toner viene via facilmente e senza nessuno sforzo.

Rilavate nuovamente la piastrina sotto acqua corrente.

Foratura piastrina


A questo punto per completare la preparazione del circuito PCB e' necessario effettuare i fori con una punta da 1 mm di diametro.

Io ho utilizzato un trapano a colonna ma non e' strettamente necessario.
Si ottiene anche una buona foratura con un mini trapano da hobbista.







Montaggio componenti


A questo punto nonci resta che iniziare a montare i componenti sul PCB e ad effettuare le saldature a stagno.






Questo e' il risultato finale che ho ottenuto io





Sostituzione controllo remoto caldaia


A questo punto ho rrealizzato una basetta custom che mi permette di rimpiazzare completamente tutti i componenti usati per il mio  controllo remoto caldaia con raspberry pi come descritto nel post specifico.






In questa versione di controllo remoto con raspberry ho utilizzato una serie di componenti e in figura si vede lo spazio occupato nella scatola nel vano caldaia

Rimpiazzando il rasperry con il modulo ESP8266 ho implementato la stessa funzione ma in uno spazio nettamente inferiore, con un costo inferiore e con un consumo energetico inferiore





Conclusioni


Con questo post concludo il mio ciclo di post sulla realizzazione del controllo caldaia da remoto.

Ho raggiunto il mio obiettivo di poter controllare (ON/OFF) la mia caldaia da riscaldamento tramite il mio smart-phone o via web.

Ovviamente l'Internet Relay Board qui descritta puo' essere utilizzata in una serie variegata di situazione. In sostanza si puo' utilizzare in tutte le situazione in cui c'e'' un carico da controllare (ON/OFF).

Esempio: luci/lampadari di casa, motori elettrici, sistemi di riscaldamento o raffreddamento, etc

Come sempre ogni commento e miglioramento e' ben accetot.

Fatemi sapere se trovate utile queso post e se posso ulteriormente migliorarlo