Rivista #231: Albero di Natale Wi-Fi

Tra i contenuti del fascicolo 231 (Dicembre 2018/Gennaio 2019), attualmente in edicola, non poteva mancare un albero di Natale supertecnologico, controllabile da smartphone ed illuminato con strip Neopixel: viene gestito da Fishino Guppy tramite un bot di Telegram.

Quest’anno le luci dell’albero di Natale le comando con Telegram! Potremmo riassumere in questo slogan il progetto descritto in queste pagine, che come tutti gli anni è in tema natalizio ma quest’anno è qualcosa di particolarmente tecnologico: è un albero di Natale in plexiglass trasparente con giochi luminosi e musica comandabile tramite smartphone.

L’elettronica prevede quattro strip di LED Neopixel comandate dalla piccola scheda Fishino Guppy, dotata di WiFi e quindi perfetta per gestire le animazioni luminose e la musica dell’albero mediante uno smartphone. Più esattamente, il comando non è diretto ma avviene tramite Telegram, la app di instant messaging che si contende la notorietà con Whatsapp, ma che offre, pur essendo meno conosciuta dal grosso pubblico, interessanti funzioni come i bot: proprio con un bot comandiamo le strip Neopixel e la musica dell’alberello luminoso attraverso lo smartphone e in queste pagine vi spiegheremo in che modo lo faremo.

Prima di procedere ci soffermiamo sulla scelta del plexiglass trasparente come struttura dell’albero, che non è casuale ma deriva dalla capacità che questo materiale ha, al pari del vetro, di farsi attraversare dalla luce trasversalmente; questo ci permette di realizzare una struttura formata da due sagome ad abete da incrociare, lungo le quali corrono quattro strip a LED e da piani trasversali, incastrati perpendicolarmente alle sagome e che propagheranno la luce che i LED Neopixel irradiano dall’interno. Il tutto poggia su una base stampata in 3D con del PLA trasparente, che fa anche da contenitore per l’elettronica.

L’ELETTRONICA

Il cervello dell’albero di Natale Wi-Fi è una board Fishino Guppy. Sul PCB trovano posto anche un lettore MP3 e i connettori per collegare comodamente le strip Neopixel. Il tutto viene alimentato da un comune alimentatore AC/DC con uscita a tensione stabilizzata 5V 2A. Il tutto va collegato secondo lo schema di cablaggio che trovate in queste pagine.

Diamo dunque uno sguardo allo schema, nel quale distinguiamo la Fishino Guppy, siglata U2 (cod. GUPPY) e il riproduttore MP3 con microSD, chiamato U1 (cod. DFR0299); della Guppy utilizziamo solamente quattro pin di I/O digitale, ossia:

  • D5 per inviare le stringhe di comando alle strip Neopixel, che saranno collegati in parallelo attraverso i connettori OUT1, OUT2, OUT3 e OUT4, sui quali è multiplata la linea dati da collegare al contatto DI (Data Input) delle strip (l’alimentazione è riportata in parallelo sui quattro connettori);
  • D2, che riceve i dati dal modulo MP3 attraverso il suo contatto TX (pin 3) attraverso la resistenza R1;
  • D3, che invia i comandi al modulo MP3 sul suo pin RX (2) mediante la resistenza R2;
  • D6, che controlla la linea BUSY (pin 16) del modulo MP3.

D2 e D3 costituiscono l’interfaccia seriale che permette a Fishino Guppy di controllare il modulo MP3 a 9.600 baud e le resistenze sono state inserite per “adattare” i livelli logici della Guppy a quelli del lettore.

Le strip Neopixel vengono gestite in parallelo con una sola linea del microcontrollore della nostra Fishino, impostato nello sketch; la comunicazione è unidirezionale.

Neopixel è una particolare soluzione a LED RGB “intelligenti” dove ogni LED Neopixel dispone di controller a bordo, comandato da Fishino attraverso l’apposita libreria FastLed (https://github.com/FastLED/FastLED).

Ogni LED RGB può essere gestito individualmente tramite un apposito comando inserito nella stringa seriale e può produrre fino a 256 tonalità del proprio colore, determinando un totale di 16.777.216 combinazioni di colore.

Una particolarità dei LED Neopixel è che possono essere collegati in cascata in modo che la linea dati da uno passi al successivo.

Per ogni strip di LED è possibile impostare a piacimento la frequenza di refresh, in modo da rendere impercettibili determinati giochi di luce, fermo restando il limite dettato dalla quantità di strip collegate. Nel nostro caso utilizziamo 3 strip da 12 led ciascuna e una strip da 13 led. La striscia più lunga utilizza l’ultimo sul led per illuminare la stella posizionata in cima all’albero. Le strisce sono ricavate partendo da una strip da 150 led su 5m disponibile da www.futurashop.it con il codice STRIP150LED (ovviamente la porzione di striscia avanzata può essere utilizzata per altri progetti o per altri alberi).

L’intero circuito viene alimentato attraverso un jack DC dal quale la tensione continua applicata dall’alimentatore raggiunge la linea 5V attraverso i diodi di protezione D1, D2 e D3, collegati in parallelo per ripartirsi la corrente e presentare così la minima caduta di tensione possibile.

Sul catodo dei diodi abbiamo posto una batteria di condensatori di filtro (C1, C2, C3 e C4) utili a livellare ulteriormente la tensione continua prima di mandarla alla Fishino Guppy e al modulo MP3: C1 e C3 filtrano eventuali disturbi impulsivi (sono molto utili se alimentiamo il circuito con un alimentatore switching) e C2-C4 fungono da ulteriore livellamento e soppressione del ripple di un eventuale alimentatore da rete con trasformatore e filtro capacitivo.

La Fishino Guppy viene alimentata attraverso il pin +5V e quelli di GND.

Quanto al modulo MP3, nello schema rende disponibili entrambe le uscite audio di cui dispone, ovvero quella per altoparlante (in questo caso è MONO) che va collegato tra i contatti SPK1 ed SPK2, oltre a quella a basso livello, da amplificare con un dispositivo esterno o da inviare all’ingresso di un mixer, un registratore o altro di simile, stereo e localizzata ai piedini 4 e 5 (riferiti a massa).

Il progetto prosegue con i seguenti argomenti: 

IL RIPRODUTTORE MP3

IL COMANDO REMOTO

IL FIRMWARE

Passiamo dunque alla costruzione dell’alberello, partendo dall’elettronica e in particolare dall’unico circuito da autocostruire seguendo la traccia lato rame di cui trovate sul nostro sito web la traccia rame da cui partire per ricavare la pellicola necessaria alla fotoincisione. Una volta ottenuta la basetta, che è a singola ramatura e quindi facilmente realizzabile anche da chi abbia poca esperienza di montaggi elettronici, montate i componenti richiesti a partire dalle resistenze e dai diodi 1N4007, da orientare come mostrato nel piano di montaggio visibile in queste pagine, procedendo con i condensatori (attenzione alla polarità degli elettrolitici) e poi con gli strip femmina che dovranno ospitare le schede Fishino e DFR0299; queste ultime, per poter essere innestate dovranno essere dotate di pin-strip a passo 2,54 mm da inserire dal lato inferiore nelle piazzole laterali e da stagnare superiormente, da dove spuntano.

Completate il montaggio inserendo e saldando il plug di alimentazione, i quattro connettori per il collegamento con cavetti tripolari alle strip di LED e il connettore per l’audio, oltre alla presa jack stereo 3,5 mm per la connessione a un eventuale amplificatore. Completata la scheda dovete assemblare l’albero, che è composto da una sagoma ad abete (con in cima la stella) nella quale incastrare verticalmente, ad angolo retto, le due semisagome ad abete; nelle intercapedini ricavate nei punti di intersezione delle sagome collocate 3 strip a 12 LED Neopixel più una strip a 13 LED che deve sporgere in cima per illuminare la punta a stella.

Le strip si ritagliano da un rotolo da 150 LED (codice STRIP150LED della Futura Elettronica) distanziati di 33,3 mm l’uno dall’altro; a tanto ammonta la distanza tra i piani orizzontali in plexiglass dell’albero. Quindi questa distanza non è casuale ma corrisponde al passo delle strip a LED utilizzate ed è fatta in modo che la luce emessa da ciascun LED penetri trasversalmente i piani in plexiglass.

Una volta assemblato l’albero saldate ai tre contatti di base di ciascuna strip un cavetto a tre fili terminante con un connettore femmina volante a passo 2,54 mm che innesterete nella scheda, quest’ultima da fissare al fondo della base dell’albero insieme all’altoparlante, come mostrano le foto del prototipo che vedete in queste pagine e in particolare la Fig. 4.

Notate che i piani dell’albero si introducono dall’alto della struttura a portante (che appare come una croce) partendo dal più grande, giacché si incastrano in virtù del fatto che le sagome sono triangolari, quindi larghe alla base e strette in cima; la Fig. 5 chiarisce come avviene l’assemblaggio per incastro.

DC dovete innestare le femmine volanti dei quattro spezzoni di strip a LED, mentre in quello che si trova alla destra inserirete il connettore del cavetto bipolare che porta all’altoparlante; quest’ultimo dovrà essere da 3 watt e 4 ohm di impedenza, ovvero 1,5 watt su 8 ohm. Una volta posizionati e fissati al fondo del contenitore l’altoparlante e la scheda mediante viti, chiudete la base e applicatevi il tronco di base dell’albero, fissando il tutto. Ricordate che il contenitore dev’essere forato per far uscire il suono dell’altoparlante.

Notate che se avete preparato il contenitore per stampa 3D, lo stesso ha già le finestrelle per rendere accessibili lateralmente il jack DC e quello audio, nonché la feritoia laterale per inserire la micro SD nel lettore MP3; altrimenti dovrete realizzare da voi le relative aperture.

A questo punto potete alimentare l’albero con un alimentatore da rete tipo wall-cube (cioè quelli con spina di rete incorporata) capace di erogare 5 volt in continua e una corrente dell’ordine di 2 ampere, quindi connettere la Fishino Guppy al PC con un cavo USB-A/microUSB e avviare l’IDE Arduino per trasferire nella memoria di programma dell’ATmega della board lo sketch che permetterà di dare vita all’albero.

Notate che Fishino Guppy supporta l’aggiornamento dello sketch Over The Air e questa funzionalità ci può tornare molto utile quando la board è già stata montata sulla scheda dell’albero di Natale e quest’ultima è già stata inserita nella base e racchiusa in essa. In un caso del genere potete aggiornare il firmware senza smontare la Fishino Guppy, ma ricorrendo alla procedura di aggiornamento OTA; la stessa procedura potete utilizzarla per il primo caricamento, senza preoccuparvi di preparare la board con il suo sketch prima del montaggio.

Per il caricamento dello sketch da wireless dovete scaricare l’applicazione FishinoFlasher (da http://fishino.it) e poi:

– predisponete la board per l’upgrade del firmware;

– lanciate FishinoFlasher;

– selezionate il firmware;

– spuntate la casella “Attivare il caricamento sketch da WiFi”; se questa casella non è presente, è possibile che il flasher e/o la versione del firmware siano troppo vecchi;

– inserire un nome per la vostra scheda, per esempio “Il-MioFishino”;

– inserire un numero di porta per la connessione WiFi; suggeriamo di mantenete la 7777 predefinita;

– cliccare sul pulsante Flash per avviare l’upgrade del firmware.

Per programmare OTA Fishino Guppy occorre realizzare un collegamento “volante” tra due pin sul connettore ESPCONN e precisamente tra il GPIO5 e l’ATM-RES; questo serve a permettere al modulo WiFi di resettare il microcontrollore. Ora dovete caricare (via USB) almeno una volta uno sketch che esegua la connessione al vostro router WiFi, per dare modo al modulo WiFi di memorizzarne i parametri di connessione e permettergli di collegarsi alla vostra rete WiFi all’avvio. Fatto questo, lanciate l’IDE e andate nel menu di selezione della porta; vedrete che apparirà una nuova porta con il nome che avete assegnato al Fishino in fase di aggiornamento firmware.

Caricato lo sketch, spegnete e accendete Fishino e fatto ciò lasciate che Fishino Guppy si connetta alla vostra rete wireless. Durante la connessione la stella dell’albero sarà inizialmente rossa, poi gialla e infine, se tutto è andato bene, diventerà verde. A questo punto potete inviare i comandi con lo smartphone o tablet che intendete utilizzare per interagire con l’albero.

I comandi utilizzabili sono divisi in due categorie e corrispondono tutti a messaggi di testo:

  • quelli per gestire le animazioni luminose prodotte dai LED Neopixel;
  • quelli per riprodurre le musiche MP3.

Tutti i comandi sono riepilogati nella Tabella 1 (nella pagina precedente) e devono essere scritti preceduti dalla barra (slash); già scrivendo la barra, il nostro bot ci andrà a suggerire i comandi possibili.

La schermata dell’app Telegram durante la chat con il bot che governa l’albero WiFi è quella proposta nella Fig. 7: come vedete, abbiamo i comandi impartiti che sono contrassegnati dal colore azzurro perché sono i messaggi che inviamo alla Fishino Guppy e nel fumetto, in nero, le risposte.

Bene, con questo abbiamo terminato; non ci resta che augurarvi buone feste in compagnia del vostro nuovo Social-albero di Natale!

Di questo progetto abbiamo realizzato un simpatico video:

Il materiale per realizzare l’albero di Natale Wi-Fi è disponibile presso Futura Elettronica in due kit separati. Il kit con tutta la parte elettronica (cod. WIFITREEEL), che contiene la main board, la board Fishino Guppy, il modulo per MP3, 4 pezzi di strip neopixel, l’altoparlante e i cavi di collegamento è disponibile a Euro 85,00; il kit che contiene tutte le parti in plexyglass tagliate al laser, la base stampata in 3D e tutta la minuteria necessaria all’assemblaggio (cod. WIFITREEST) è in vendita a Euro 89,00. L’alimentatore switching (cod. AL5V2A) che permette di alimentare l’albero costa Euro 8,50. I prezzi sono comprensivi di IVA. 

 

L’articolo completo è pubblicato sul numero 231 (Dicembre 2018/Gennaio 2019), acquistabile in tutte le edicole.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato.

Main Menu