Sei sulla pagina 1di 132

90231

9 771124 854008


KIT SOLARE E IDRAULICO 12 IN 1
Permette di realizzare fino a12 differenti modelli di
robot con movimento idraulico ealimentati tramite
energia solare. li kit viene fornito completo di un
manuale ricchissimo di illustrazioni.

cod.KSR17
€ 2J·Ba
IL ROBOT TOBBIE
Tobbie èun robot in kit a6
gambe. Può funzionare in due
differenti modalità: "Seguimi"
ed "Esplora': Nella modalità
"Seguimi"Tobbie èin grado
BRACCIO ROBOTICO IDRAULICO
di seguire qualsiasi cosa gli si
avvicini. In modalità "Esplora': Facile edivertente. Il movimento sui sei assi viene
azionato tramite il sistema idraulico ad
grazie al rilevamento automatico
acqua, agendo sui controller a leva.
tramite sensori infrarossi, è in
grado di evitare gli ostacoli che
trova davanti asé trovando .....

sempre un nuovo percorso.


cod. KSR18
-
(.)
c
cod. KSR12 ~
·-N

SOLAR ROVER KIT


€ 49·50 N
Q)
'-
c...

Rover solare con 6 ruote


(4 ruotemotrici). Particolarmente
indicato come gioco didattico INTERFACCIA USB PER
per bambini. BRACCIO ROBOTICO

cod. KSR1 4
€ 16·50 . ' l : •
• : ft-: .: . Jr.l=
!l - •
. t =-- ... .. .

Permette di controllare, tramite apposito


software, il braccio robotico KSR1 O.
ROBOT CINGOLATO Cod. KSR10/USB € 47,00
FILOGUIDATO 3 IN rJ
Robot cing.olate .realizzabile in 3
BRACCIO ROBOTI(O configurazioni; carretì(relevatore,
'
Dotato di cinque motori ecinque rovere pinza meccanlca.
articolazioni; ècontrollabile
,.
tramite unità via cavo. cod. KSR1 O
€ 54·00
cod. KSR11
€ 48·00
'
----~

~
i . .

Un altro anno da recOrd


,
__..__ . "~ ,j , ·. ·~,

www.elet tronicaln .lt


Rivista mensile, anno XXIV n. 231
per i chipmaker

DICEMBRE 2018/ GENNAIO 2019

Direttore responsabile :
Arsenio Spadoni
(Arse nio.Spadon i@elettron ica i n. i t)
Redazione:
Dopo un 2017 caratterizzato • smartphone, in parte dovuto
Stefano Garavaglia, Paolo Gaspari, da una forte crescita, anche all'attesa dell'arrivo della nuova
Boris Landoni, Davide Scullino,
Gabriele Daghetta, Alessandro Sottocornola
l'anno che sta per finire sarà p~r tecnologia 5G. Per questo motivo
(redazione@elettronicain. i t) l'industria dei semiconduttori Produttori di apparati e Operatori
Grafica: un altro anno da record, con
Alessia Sfulcini
-di Rete stanno spingendo con
(Aiessia.Sfulcini@elettronicain.it) incrementi percentuali a due forza su questo fronte.
Ufficio Pubblicità: cifre, di utili e fatturato. Piccoli Un quadro, quello dell'industria
Monica Premoli (0331-752668 )
(Monica. Premoli@elettron ica in. i t) e grandi, americani ed europei, dei semiconduttori, sicuramente
Ufficio Abbonament i: tutti hanno messo a segno molto positivo e con poche nubi
Elisa Guarniero (0331-752668 )
(Eiisa.Guarniero@elettronicain.it)
risultati importanti. Alcuni, all'orizzonte. Anzi. Con due
DIREZIONE, REDAZIONE, PUBBLICITÀ: come i produttori di mercati come quello
FUTURA GROUP srl - Divisione Editoriale
via Adige 11- 21013 Gallarate (VA)
memorie, fanno dell'automotive e
Telefono 0331-752668 registrare dell'IoT che non
Abbonament i: addirittura utili hanno ancora
Annuo 10 numeri Euro 45,00
Estero 10 numeri Euro 45,00 (digitale) netti pari al 50°/o espresso tutte
Le richieste di abbonamento vanno inviate a: del fatturato. le loro enormi
FUTURA GROUP srl
via Adige 11, 21013 Gallarate (VA)
Non sono da pate nz ialità.
tel. 0331-752668 . meno i big del Per tutti questi
Distribuzione per l'Italia: settore, Samsung e
SO.DI.P. Angelo Patuzzi S.p.A.
motivi risulta
via Bettola 18 - 20092 Cinisello Balsamo (MI) .In te l, che metteranno inspiegabile il
Telefono 02-660301 Fax 02-66030320
in cascina un 2018 da calo generalizzato, a
Stampa:
ROT03 Spa - Via Turbigo, 11/ b record, sia per fatturato che per partire dall'estate, di tutte le •

1
20022 CASTANO PRIMO (MI) utili. quotazioni di borsa delle società
r---.. ,_. . . -' ,_.,. _.,.___ ·- -..-.. . . . . . . .....-.-
\ ... ,... . ...- .... . . . . . . . . . . .
_,_.~-·--··--··<"-1
l

Elettronica In: i
La richiesta di semiconduttori è del settore. Forse gli oper_ atori
Rivista mensile registrata presso il Tribunale di : stata forte un po' in tutti i settori sono a conoscenza di qualcosa
Milano con il n. 245 il 03/ 05/ 1995.
Prezzo di copertina Euro 6,00. Gli arretrati nei e in tutte le aree geografiche, con che noi non sappiamo? Oppure,
· formati cartaceo e digitale (pdf) sono acquistabili sul l
pochissime eccezioni. più semplicemente, stanno
1 sito della rivista al prezzo di Euro 6,00. ;
t Poste Italiane Spa - Spedizione in abbonamento ( Per quanto riguarda l'unica monetizzando i guadagni degli
!
t
Postale - D.L. 353/ 2003 (conv. in L. 27/ 02/ 2004) ~ azienda italiana del settore, ultimi mesi/anni in attesa di
( art. 1 comma 1- DCB Milano.
FUTURA GROUP srl è iscritta al Registro Operatori STMicroelectronics, dopo un 2017 nuovi record di vendite e di
della Comunicazione n. 23650 del 02/ 07/ 2013.
Impaginazione ed immagini sono realizzati in .
caratterizzato da un incremento profitti?
1 DeskTop Publishing con programmi Adobe In Design ( del fatturato del19,7°/o a quota Alla l uce di tu t t i i dat i e di
) e Adobe Photoshop per Windows. 1
l Tutti i contenuti della Rivista sono protetti da i
8,35 miliardi di dollari e un tutte le previsioni, questa è la
Copyright. Ne è vietata la riproduzione, anche : aumento dell'utile netto da risposta più probabile, ed anche
parziale, la traduzione e più in generale la diffusione ·
con qualsiasi mezzo senza l'autorizzazion e scritta da , 165 a 802 milioni di dollari, le a nostro avviso il 2019 sarà per
parte dell'Editore. l circuiti, il firmware ed il software
·. descritti sulla Rivista possono essere realizzati solo
t
previsioni per il 2018 ind_icano un i semiconduttori un altro anno
l
'
~ per uso personale, ne è proibito lo sfruttamento a
1
( altro fa rte balzo all'i nsù. sicuramente positivo.
1 carattere commerciale e industriale. Tutti possono ;
collaborare con Elettronica In. t:invio di articoli, t
Anche le previsioni per i prossimi
i

materiale redazional e, programmi, traduzioni, ecc. \ mesi sono tutte positive,


implica da parte del Collaboratore l'accettazione '
dei compensi e delle condizioni stabilite dall'Editore : pur con le dovute cautele
.r·ì _,..--,
(www.elettronicain.it;ase.pdf). Manoscritti, disegni l che caratterizzano sempre i l .·· :
l e foto non richiesti non verranno in alcun caso ; t'
l restituiti. t:utilizzo dei progetti e dei programmi \ le previsioni per il futuro.
{
l
l,.,/
. ,..- .·
:'J
'

; ; ;·

..:-
/
;utv
"..
pubblicati non comporta alcuna responsabilità da : In particolare preoccupa il
parte della Società Editrice.
Futura rallentamento delle vendite di
Arie'11.w'BP~doni
Group (Arsenio. Spadoni@elettronicain. i t)
© 2018 FUTURA GROUP srl
Edizioni ~:::!.

- - - - - - - - -- - -- --·--- ----- -- --·-


ELETTRONIC A IN - Dicembre 2018/ Gennaio 2019 1


Dicembre 2018 l
Gennaiò 2019
n. 231

RASPBERRY Pl
OSIO, UPLICATORE DI SD CARD
PER RASPBERRY Pl :-----
...............
.......___
:::::- ... --..
-
... ----

--..
....._.

La "ciliegina" sulla torta per quando è necessario --


-~

"fotocopiare" numerose SD Card per Raspberry Pl, per


laboratori di scuola, applicazioni di produzione, backup, ecc...


GADGET
LA CORNAMUSA ELETTRONICA
Costruiamo un piccolo strumento musicale che farà
la gioia dei bambini e che permetterà loro di suonare
8 note e di traslare la loro frequenza a piaci mento
mediante un potenziometro.
IN COPERTINA~ ·
Nel fasoicolo di fine anno non poteva
' "

'
,_ • ::J
.., ..: •· •
.. ,.
.. '".

DIDATTICA
•+' "'' ,,
RETI NEURALI
E lOGICA uzzv -
Scopriamo un particolare ed efficiente approccio
allo sviluppo di reti neurali, basato su una logica
,
.:: ~~§~"'-~-=- - che prescinde dal concetto di statfJogici,l e O.
;:: "

",,m
,l

::t lil

·''·''"'

ROBOTICA
c
Composto esclusivamente da mattoncini LEGO
, del set EV3, simula fedelmente il un arto umano.
,,

GADGET
ARDUINO
EC OaARPA GSM SHIELD
A LASER UNIVERSALE
Ricostruiamo l'antichissimo
Mettiamo alla prova il nostro
strumento musicale in
hardware con alcuni sketch
versione ultra-tecnologica,
propedeutici all'impiego sul campo
dove al posto delle corde
dei moduli GSM/GPRS su pportati.
abbiamo messo dei raggi
Terza ed ultima puntata.
laser, interrompendo i quali
con il passaggio delle dita
si producono le note. •

TECNOLOGIA
La tiratura di questo numero è stata di 18.500 copie.
,
EV E, "CARICABATTERIE"

PER AUTO ELETTRICHE
Mensile associato aii'USPI,
Unione Stampa Periodica Italiana Conosciamo da vicino i caricabatteria
per le auto elettriche fornite dai costruttori.

01 EDITORIAl~~ TCP/IP
ETHERNET

05 ELETTRONICA - ~ ~

INSIEME :- -=- - ""'""'" ~ ~ _Vi presentiamo una soluzione d~ alit_ò~azione


cne fornisce la possibilità di contr~ll~r~
• una serie di relè, utilizzando la retEf:l · le
13 APPU ~\\ì\~}~' cablata ethemet. Il tutto p IUOLLII

&EV ~~;.:';:'!ii":oor~ one della scheda Ardui no


·t:-.

... . "

co,,M,
.
!·"i::"::
;1 • tn•> "' .

17
& Sl...d~ "~c!
105 SCIE
&TE
Entriamo nel vivo dell'a
cune periferiche CIP i '"",...
ntrollori MicrochiP;.
ttronica •

Richieste/ suggerimenti e segna/azioni dei lettori


~

Queste pagine sono dedicat~~~plle richieste, ai sugg enti ed alle


segnalazioni dei lettori. Rac.t:" ~mandiamo, per quan
• • ''' ·,. ,., .;!\
ssibile, di proporre
argorrienti di interesse geneli~le. Contattateci nume all'i ndi rizzo:
redazione@elettronicain.it

802.llay, il Wi-Fi
da 200 Gbps
Ho letto che stanno arrivando dei dispositivi
Wi-Fi ancora più veloci delle nuove reti
SG: addirittura 30, 100 e 200 Gbps! Come
è possibile tutto ciò? E su quali frequenze
lavoreranno questi sistemi?
Marco Leotta - Roma

Se delle nuove reti 5G sappiamo tutto


in quanto l'evoluzione è stata seguita
passo-passo anche dai media generali-
sti, dell'evoluzione del Wi-Fi sappiamo
molto meno. Questo non significa che
evoluzione non ci sia stata. Tutt'altro!
Ci riferiamo in particolare allo standard ciato la famiglia di chipset Wi-Fi da 60 book hanno annunciato di collaborare
IEEE 802.11 ay la cui versione draft 1.2 è GHz QCA64x8 e QCA64x1, in grado di per fornire connettività Internet ad alta
stata rilasciata nell'aprile di quest'anno offrire una velocità di oltre 1OGbps velocità con Terragraph di Facebook .
e che è servita come base per realizza- (giga bit al secondo), latenza simile a attraverso lo sviluppo di un sistema
re i primissimi chipset. quella dei cavi, e un bassissimo consu- wireless multi-nodo basato sui chipset
Questa tecnologia funziona sulla mo in grado di prolungare l'autonomia QCA6438 e QCA6428. Molto lontano
banda non licenziata, owero libera, nel caso di alimentazione a batteria. dalle bande 2,4 e 5 GHz comunemente
dei 60 GHz ed è in grado di offrire L'awento della nuova era della con- utilizzate nelle reti Wi-Fi in tutto il mon-
• connessioni a 30 Gbps su una distanza nettività porta lo sfruttamento dello do, il Wi-Fi da 60 GHz basato su mmWa-
di 30 metri. Tuttavia, con una gestione spettro mmWave con connessioni a ve è soggetto a poche interferenze,
ottima le dei canali e delle antenne, lo banda larga, con nuove ed entusia- offre una notevole larghezza di banda
standard 802.11 ay potrebbe garantire smanti esperienze wireless. Qua leo mm che consente di migliorare la qualità
connessioni sino a 200 Gbps ad una di- è stata la prima ad introdurre sul mer- della connessione, garantisce velocità
stanza di 300 metri. Questi perlomeno cato una soluzione Wi-Fi a 60 GHz con multi-gigabit e bassissima latenza.
sono gli obiettivi finali dichiarati. Non ottimizzazioni basate sulle specifiche Queste caratteristiche rendono il Wi-Fi
è escluso che hot-spot con questa tec- 802.11 ay, che consentono velocità in a 60 GHz ideale per un'ampia gamma di
nologia possano integrarsi facilmente ambito Wi-Fi ai vertici della categoria ecosistemi e infrastrutture wireless.
in una rete eterogenea comprendente con prestazioni di copertura impareg-
le nascenti reti cellulari 5G. giabili. Da segnalare che proprio con
Recentemente Qualcomm ha annun- questa tecnologia Qualcomm e Face-
Utografia
ultravioletta estrema
Anche Samsung nel suo nuovo stabilimento
produttivo di semiconduttori sta utilizzando
per i chip più avanzati a 7 nm la tecnologia
EUV. In cosa consiste esattamente questa
tecnologia?
Mario Labruna- Milano

La litografia ultravioletta estr~ma (o


EUV, Extreme ultraviolet lithography) è
una tecnica di incisione litografica dei
,.,, wafer di silicio che utilizza una lunghezza
Wi~Jg· d'onda molto più bassa. La tecnologia
CERTIFIED EUV utilizza una lunghezza d'onda di
by Wi-Fi Alliance 13,5 nm per esporre i wafer di silicio, di
gran lunga inferiore rispetto alle con-

ELETTRONICA IN - Dicembre 2018 /Gennaio 2019 5


l

Elettr ·ca lnsie e •

comunicazione per l'automazione indu-


striale. Prodotto dalla fondazione OPC, è
adatto a molteplici piattaforme, aperto
e sicuro e permette ai controllori logici
programmabili (PLC), sia nuovi sia di ge-
nerazione precedente, di comunicare.
L'OPC, pur essendo ampiamente adottato
nell'ambito dell'automazione industria-
le per consentire la comunicazione tra
dispositivi industriali di produttori diversi,
ha alcuni limiti funzionali. L'OPC UA ne è
l'evoluzione: mantiene le stesse specifiche
in un'architettura orientata ai servizi e
indipendente dalla piattaforma.
L'OPC Unified Architecture porta due
novità elementari nel mondo OPC. Da un
venzionali tecnologie ad immersione con nel nuovo sistema di fissaggio dei wafer e lato, il legame DCOM Windows specific è
argon fluoruro (ArF) che sono in grado di nella differente composizione della pellico- sostituito da protocolli aperti e indipen-
raggiungere lunghezze d'onda di 193 nm la fotosensibile. Tutti problemi che hanno denti dalla piattaforma, con meccanismi
e richiedono costosi set di maschere multi- richiesto molti anni per essere risolti. di sicurezza integrata. In aggiunta, gli ele-
pattern. Il processo EUV consente l'uso menti OPC, Data Access, Alarm & Events
di una singola maschera per creare uno e Historical Data Access, sono riassunti
strato di wafer di silicio, laddove ArF può OPC UA, Unified in un modello 'object-oriented' e sono
richiedere fino a 4 maschere per creare lo completati da nuove funzionalità potenti,
stesso livello, con un significativo risparmio Archite cture quali metodi e tipi di dati. Come risultato
di tempo e costi. l miglioramenti della lito- si ottiene che OPC UA può essere diretta-
grafia EUV consentono maggiori prestazio- Sento sempre più spesso parlare di protocollo mente integrata in sistemi o piattaforme
ni in termini di minore potenza impiegata di comunicazione OPC UA: quali sono le arbitrarie con diversi linguaggi di pro-
e spazio occupato sul wafer, migliorando differenze con la versione tradizionale, ovvero grammazione. Le regole 'object-oriented',
al tempo stesso la produttività e riducendo con l'OPC? secondo cui lo spazio di indirizzo di un

la complessità del processo multi-pattern. Matteo Bianchi - Torino server OPC UA è strutturato e l'interfaccia
Rispetto ai predecessori FinFET da 1Onm, comune per l'accesso è generale, rendono
la tecnologia 7LPP di Samsung non solo L'Open Platform Communications Unified I'OPC UA un linguaggio di programma-
riduce notevolmente la complessità del Architecture (OPC UA) è un protocoHo di zione adatto alla rete. Solo I'OPC UA si
processo produttivo introducendo meno
strati e garantendo rendimenti migliori,
ma offre anche una riduzione del40o/o • PC Olent. Hislotbn. SAP, ~!.ES. Oood' l~ I!IC..
dell'area, prestazioni del 20% superiori e
una riduzione dei consumi del 50%.
La difficoltà di questo processo non sta ~CUA
nella maggior precisione del raggio laser NETWORK __.________ _~
quanto nella necessità di aumentare la
precisione dimensionale di tutte le parti
meccaniche che compongono lo scanner, ~ St;" P~n
SMnkW•"PJ
Unscr.lmbltng

- .
TS
...--~~
l
Logistfcs Machine l H~ndllng Machlne Il Logistics

• ••
............. .
. . .

••
l' ..

8 Dicembre 2018 /Gennaio 2019 - ELETTRONICA IN


specializza per tecnologia di automazione In maniera simile a quanto succede
attraverso modelli di informazioni spe- nell'ambito dell'efficienza energetica
cifici ('lnformation Models') quali Data dove un simbolino ci consente di capire
Access, Alarm & Events, Historical Data immediatamente l'efficienza di quel
Accesse Programs. Per questi modelli di frigorifero o di quella lavatrice, così
informazioni, non vi è più alcuna necessi- anche per quanto riguarda il Wi-Fi sono
tà di estendere la base ed i protocolli o le stati introdotti dei loghi molto semplici,
interfacce di programmazione. Wi-Fi 4, Wi-Fi 5 e Wi-Fi 6: più è alto il
numero, maggiori sono le prestazioni
del dispositivo. da 1 mm2 prodotta da AMS: è possibile sapere

Nella fattispecie, questa la corrispon- quanto costa?
Nuove sigle per denza tra le vecchie classi Wi-Fi e le Michele Guerra - Venezia
nuove indicazioni commerciali:
i dispositivi Wi-Fi • Wi-Fi 4: 802.11 n- fino a 600 Mb/s Se sei rimasto impressionato dalla micro-
(2,4 GHz e 5 GHz) camera da 1 mm 2, sappi che pochi giorni
• Wi-Fi 5: 802.11 ac -fino a 3 Gb/s (5 dopo AMS ha annunciato un modello
GHz) ancora più piccolo, la versione NanEyeXS
• Wi-Fi 6: 802.11 ax - fino a 1OGb/s con footprint di soli 0,46 mm 2•
(2,4 GHz e 5 GHz) Telecamere così piccole nascono per
impieghi in ambito medico, tipicamente
Per rendere ancora più semplice per endoscopia, anche se nessuno vieta
l'identificazione del Wi-Fi utilizzato, di usarle per altri scopi. In questo ambito
le nuove icon·e compariranno an- vengono utilizzate per realizzare sistemi
che nelle schermate di sistema dei di visione usa e getta, con costi che di-
d i spositivi. pendono dai quantitativi utilizzati. In ogni
Ho letto dell'iniziativa della Wi-Fi Alliance l nuovi loghi dovrebbero fare la loro caso, per quanto riguarda le campionatu-
relativa alla nuova suddivisione delle Classi comparsa verso la fine di quest'anno, in re, il prezzo si aggira sui 500 Euro.
dei dispositivi Wi-Fi. Ulteriore elemento di corrispondenza del lancio dei primi pro- La nuova NanEyeXS è una delle teleca-
confusione? dotti della Classe Wi-Fi 6, ovvero dello mere più piccole al mondo. Dispone di
Mario Righetti - Roma standard 802.11 ax in grado di garantire un'uscita digitale con una risoluzione di
velocità fino a 1OGb/s, oltre ad altri 40kpixel ad una velocità massima di 55
Tutt'altro! L'iniziativa nasce proprio dal vantaggi. frame/s a 28MHz. Le dimensioni ridotte
fatto che fino a ora per identificare le Ovviamente, come per le indicazioni del senso re offrono vantaggi significativi
varie classi dei dispositivi Wi-Fi venivano attuali, le nuove sigle potranno essere nello sviluppo di strumenti estremamen-
utilizzate le specifiche definite dalla IEEE, utilizzate solamente sui dispositivi certi- te piccoli per procedure minimamente
• •
quindi 82.11 n, 802.11 ac, ecc., sigle di dif- ficati dalla Wi-Fi Alliance a garanzia invasive in ambito sanitario, consentendo
ficile interpretazione per l'utente medio dell'interoperabilità tra dispositivi di la progettazione di dispositivi chirurgici
che non riusciva a èomprendere con im- differenti produttori. con un diametro molto piccolo o libe-
mediatezza le prestazioni del dispositivo rando più spazio per i canali di lavoro in
che stava acquistando. Per questo motivo, dispositivi più grandi. Come il NanEyeM,
la Wi-Fi Alliance ha deciso di apportare si- il NanEyeXS viene fornito come MCM;
gnificative modifiche alle denominazioni
Una telecamera NanEyeM è anche disponibile in forma di
commerciali dei dispositivi Wi-Fi, che da
ora saranno riconoscibili a colpo d'occhio
davvero minuscola chip con montaggio superficiale. L'intro-
duzione dei nuovi sensori di immagine
anche dai meno avvezzi al mondo della NanEye consente un nuovo approccio
tecnologia. Ho visto la notizia della nuova microcamera alla fornitura e all'uso di molti tipi di en-

·..~· ELETTRONICA IN - Dicembre 2018 /Gennaio 2019 7


Elettronica In

AC input vello del liquido- su un corpo cilindrico


al cui interno è presente un contatto
reed. Quando il liquido raggiunge

UpPer le':el level ~ itch il livello prefissato, il contatto reed
cambia stato permettendo l'invio di
un segnale alla centralina di controllo.
Quest'ultima utilizza -essenzialmente
- un microcontrollore appositamente
programmato e un rei è di potenza (1 O
ampere) per il pilotaggio della pompa.
La chiusura del contatto del senso re
di liv~llo inferiore (acqua sotto il livello
Vvater fevé switch minimo) determina l'attivazione della
Pump powered
pompa che si inibisce quando l'acqua
raggiunge il livello massimo.
Il dispositivo va alimentato a 12 VDC

Outlet per cui ti servirà anche un piccolo adat-
tatore di rete in grado di fornire almeno
0,5 ampere a 12 VDC, come il mod.
8260-PSSE121 O(Euro 7,00).

La tensione dei
sensori di spettro

A
Vorrei realizzare la breakout spettrometro pub-
blicata nelfascicolo n o 230 e collegarla al PC
come indicato nell'articolo, però mi è venuto
8 un dubbio: i sensori di spettro AMS possono

• effettivamente funzioruzre con i SV erogati
posizione A: contatto reed chlus
dall'F1782M o è meglio che stia un po' sotto?
posizione 8 : contatto reed aperte Davide Marangoni - Novara

La breakout board funziona con


tensioni comprese fra 3 e 5Vcc, tuttavia
per stare al riparo da fluttuazioni
dell'alimentazione conviene restare
doscopi per applicazioni quali: entro i 4,5V, quindi se utilizzi I'FT782M
• Artroscopia Sisten1a di controllo poni in serie alla linea +5V un diodo
• Broncoscopia 1N4004. Se vuoi mantenere lo schema
• Ureteroscopia per cisterna proposto, meglio l'utilizzo del conver-
• Cistoscopia titore TIL/ seriale 1686-USBTOUART
• Laringoscopia Devo realizzare un sistema automatico della Futura Elettronica, che è simile
• lsteroscopia per controllare il livello d'acqua di un ser- aii'FT782M ma fornisce un'alimentazio-
• Neuroscopia batoio: quando il livello è al minimo deve ne a 3,3V.
attivare una pompa che si deve spegnere al
Per acquisti in volumi, gli endoscopi raggiungimento del massimo livello. Avete
basati sui nuovi sensori NanEye avran- qualcosa da consigliarmi?
no un costo unitario sufficientemente Paolo Caneva- Torino
basso per supporta re il mercato WebFormn
emergente monouso. Gli endoscopi Sul mercato esistono numerose soluzio- e supporhl teenieo
chip-on-tip basati su NanEyeM o ni; tra queste, una delle più economiche
NanEyeXS offrono una qualità dell'im- è quella proposta da Futura Elettronica
magine molto più elevata rispetto a che dispone sia della centralina (Cod. Hai un problema con uno dei
quella disponibile negli endoscopi 8300-CTRLIVELLO, Euro 6,50) che circuiti pubblicati? Vorresti
convenzionali basati su fibre ottiche dei sensori di livello (Cod. 8220-FLO- effettuare una modifica?
che sono ampiamente utilizzati nelle ODSW1, Euro 6,00 cad.). Accedi al nostro Web Forum
sale operatorie. l sensori di immagini Il circuito è molto semplice, come puoi dove i nostri tecnici (ma anche
NanEye producono immagini più niti- vedere nel disegno: all'interno del gli altri lettori) ti aiuteranno a
de, un contrasto migliore e un'uscita serbatoio andranno fissati i due sensori chiarire qualsiasi dubbio
video più uniforme per consentire ai di livello, il primo in corrispondenza di natura tecnica.
professionisti di guidare in modo più del livello minimo, il secondo di quello Collegati a:
accurato e preciso le apparecchiature massimo. Ciascun sensore è composto
chirurgiche all'interno del corpo del da un galleggiante in polipropilene www.elettronicain.it/webforum
paziente. espanso che si sposta -al variare del li-

8 Dicembre 2018 /Gennaio 2019 - ELETTRONICA IN


www.microchip.com/SmartConnectedSecure

Il nome e logo Microchip ed illogo Microchip sono marchi industriali registrati di Microchip Technology lncorporated negli U.S.A. ed altri Stati.
Tutti gli altri marchi industriali menzionati appartengono ai rispettivi titolari.
© 2018 Mlcrochip Technology lnc. Tutti i diritti riservati. DS00002758A. MEC2220lta08/18


Mese dopo mese


realizza i progetti
descritti sulla rivista,
rimani aggiornato
con i nostri Corsi,
approfondisci
la conoscenza delle
tecniche e dei
component i più
avanzati con i nostri
· tutorial e le nostre
news.

COME ABBONARSI

compilando il modulo riportato nella


pagina "Abbonamenti" del nostro
sito www.elettronicain.it.

scrivendo a abbonati@elettronicain.it
con i dati riportati nel coupon a lato.

3
compilando il modulo di abbonamento
riportato a lato e inviandolo al seguente
indirizzo:
FUTURA GROUP srl
Via Adige 11
21013 Gallarate (VA)

/4"1
\.. .,}
.

telefonando a ,,
+39-0331·752668

PER l RINNOVI ATTENDERE NOSTRO AWISO


desidero abbonarmi per un
anno alla rivista Elettronica In.
Riceverò i seguenti omaggi:
11
CARD futura Elettronica"
ASCELTA, TRA QUESTI VO
della collana "L'Elettronica per tutti".

Entra nel mondo dt Raspberry Pi 3


Fishino - Arduino e Jflnternet delle
Cose in un'unica innovatwa scheda
RandA - Raspberry + Arduino
' -
Impara l'elettromca spenmentando
Pnmi passi in elettronica
Arduino e le tecniche
di progFammazione
dei microcontrollori ATMEl
Raspberry Pi - 11 mio primo
Linux Embedded
Alla scoperta dì Arduino YllN
Programmiamo con i PIC
••• l'®C
Stampiamo in 30

Resto in attesa del primo numero.

Nome:
-
Via:

No: CAP:
..... ______.....
Città:-------------~

Telefono:

IN OMAGGIO PER TE: Data: Firma:·

effettuati con la DISCOUNT CARD


SUl TUOI presso il punto vendita Resto In attesa di vostre disposizioni per il pagamento.
Ai sensi dell'art. 13 del D.Lgs. 196/2003, in tema dì protezione dei
ACQUISTI di Gallarate ~A) o nel nostro
store on-line www.futurashop.it
dati personali, FUTURA GROUP srl informa che i dati liberamente
forniti attraverso la compilazione del presente modulo saranno
trattati e conservati ìn conformità a tutte le normativa vigenti. l
dati suddetti saranno trattati su supporto cartaceo e informatico,
mediante sistemi di protezione atti alla tutela della riservatezza, per
finalità connesse all'esecuzione dei rapporti contrattuali instaurati.
Inviare in busta chiusa a: Futuri!Y f
+ FUTURA GROUP srl
VIa Adige 11 • 21013 Gallarate (VA)
Grou'!.J

1 VOLUME ASCELTA della collana "L'Elettronica per tutti". Tel. +39·0331·752668


cod . YM397 cod . SETCONDELE cod. YM403 cod. KITFUSSX30

..... .. ....................................... . .... '-·-' .... ·•· ........... -·· ......... -· -·-' .. . .. ... .... .... .... . ....... ... . . .. . .. . .
' ' ' ' ' ' ··········-············ ·· ···-···-············-
SET 1000 PEZZI DI LED SET CONDENSATORI ElffiROLITICI SET 100 CONDENSATORI KIT FUSIBILI82 PEZZI6X30
3MM- VARI COLORI 12 VALORI POLI ESTERE- VARIE CAPACITÀ VALORI ASSORTITI
.. , .......................................... . ....... . .... .. . .. . ... .. .. . . .. .- ' . ' . ' ..... ' . .. ' . . . .... . ... ... ... .. . .. .. . ... . . . ... . .
' ' ' ' ' ' ' '' ' ······' .... , ····· ..................... ...... , '

cod . YM406 cod. YM374 YM398 cod. YM379

- ·

···················-·························· ········-···•·-·········· ··· ··· -·- ············ .. ' ... ' .......... ... ·-. -.-·-. -· -...... ' ... ' .. .
SET 300 PEZZI LED 3-5 MM SET 50 TRIMMER DI PRECISIONE SET 500 PEZZI LED 5MM SET COMPONENTI ElffiRONICI
VARI COLORI MULTIGIRI- MONTAGGIO VERTICALE VARI COLORI ASSORTITI
..... . .. ' .. . ' . . . ' . ' -.. ' . .......... .' ..... .. .. . ......................... .............. ....... ..... ' ... .. ' . .. .. ' ..-. . .. . .. ... . ' . . ... .. ' . .. ' .

cod . YM377 cod . SETELEC cod. SET241NDU cod. SM DRES3K610M

....··''
..........
..... ~ .. w.
.
....uw•..,.. .•• ''"".....
....
•••••• ....f" f'
.
-.
."
..... .
... .,..
- ......Jo
:~<\- "·~

··'''···'

.................................. ' ......... .. . ' ... ' ' ... ' ' .. ' -- ......... ' ....... '. ·-'.' .... . ....... ' ..... ...... ·•·. -·-'. , ....... , ...
' ' .. ' . .. ' ' .. ' ............ ' .. ' ' .... , ...... ......... '.
SET 300 TRANSISTOR ASSORTITI SET COMPONENTI ELffiRONICI SET INDUTTANZE 24 VALORI SET RESISTENZE SMD 0805
T0-92 VARI CON PIASTRA EALIMENTATORE 1OPEZZI PER VALORE DA 3,6 KOHM A1D MOHM
' ...' ' .. . ' . .. ' . .- .... .... ' -.. ' . .- ' . .. ' . .-.. .. . .............. ····-·· .... ····· ............... . ........................... , ... , ... , ... , ... .. . -- .. -- ..... ... ' ............... ' .... ' .. '. , ... .
'

cod . SETZENER cod. SM DRES03K6 cod. SETCERAMICI cod. SETDIODI


,. • .,,m,,,,.,,,
. . . . . ~ jl
-
- nn

....... ~ .. ----·· ··-• ••


lll
.
l

..... •''
·anu ,v •
- -.... ....'!!l,... ,
i'

-• •
••
. ... .

• ••••
, .- . 1
11 •rwrtf • • • , ,
r j •
l.'

__ l a ft~a
. .. ' . .. .. . .. . . .... ... ... -. . .-.. .-...-. . .-. ...
' . ........................................... .. .., .......................................... . .. ' ........ ' ............ .............. ...... ..
SET DIODI ZENER SET RESISTENZE SMD 0805 PSET CONDENSATORI CERAMICI SET DIODI RADDRIZZATORI
10 PEZZI PER VALORE DA OA3,6 KOHM 22 VALORI-lO PEZZI PER VALORE 100 PEZZI
, .................................... ....... .. . ..................... ... ...... ........... ... . ········-·······-·····---· --··---·---·- --·--··

cod . SETTRIMMERMO cod . SETMULTIST cod. SETTRIMMERMV

......... ..... ......... ............. .......... . ............................................ . .... ' ... ' ............ ............. ........... . . ........ ... ... ......... ....... ... .. .. ....... .

SET TRIMMER MONTAGGIO SET CONDENSATORI MULTISTRATO SET TRIMMER MONTAGGIO SET 70 PZ ZOCCOLI ALAMELLA'
ORIZZONTALE- ASSORTITI VARI VALORI-lO PEZZI PER VALORE VERTICALE- ASSORTITI ASSORTITI
······· ··· ··-·····-······--····----····--·--·· .............................................. .. .... ....................................... . ........................................ ......

Forum Software Industriale •

Forum Software Industriale è la pri- 6 Febbraio 2019. zazione convergente sul paradigma
ma mostra-convegno organizzata l nuovi modelli di business del digi- di Industria 4.0 saranno al centro del
da Messe Frankfurt Italia e promossa tai e i benefici derivanti dagli inve- dibattito.
da ANI E Automazione, dedicata alle stimenti in un percorso di digitaliz- L'evento sarà strutturato in sessioni
soluzioni software per l'industria, verticali dedicate alle tecnologie del
tecnologie abilitanti per il passaggio software industriale nelle varie aree
all'Industria 4.0. r applicative.
La prima edizione del Forum Sof-
tware Industriale dal titolo "L'evo-
• Un focus particolare sarà su alcuni
importanti temi trasversali come la
luzione delle tecnologie software
nell'Industria 4.0" si terrà a Milano il
••• cybersecurity e l'efficienza.triale.it/
https://forumsoftwareindustriale.it!

ELETTRONICA IN - Dicembre 2018 l Gennaio 2019 13


l . .

13-15 FEBBRAIO 2019 nazionale. rivolge a tutti i diversi attori della filiera e
l risultati incoraggianti dell'edizione nella quale ciascuno di essi può trovare
A&T- Automation 2018 hanno spinto gli organizzatori del-
la fiera ad allargare l'offerta espositiva
prodotti, servizi e competenze utili a fi-
delizzare i clienti, raggiungere un buon
& Testing e contenutistica, creando uno spazio
dedicato alle soluzioni di logistica in-
grado di efficienza e migliorare il livello
competitivo della propria azienda.
Torino • Italia tegrata, a completamento ideale della La parte espositiva della fiera è suddi-
"filiera produttiva" di cui fanno parte visa in quattro aree, ognuna dedicata a
Dal 13 al 15 febbraio 2019 a Torino tutti i prodotti e le soluzioni che si pos- una diversa fase della filiera produttiva:
si svolgerà una nuova edizione della sono trovare presso gli stand delle so- • Progettazione e sviluppo prodotti e

fiera A&T- Automation & Testing, cietà espositrici. Ora la fiera può vantare process1; ·
l'esposizione specialistica di soluzio- un'offerta espositiva completa, che si • Produzione;
ni metrologiche e tecnologie per il • Affidabilità;
mondo manifatturiero che raggiun- • Logistica integrata.
ge quest'anno la 13" edizione. Il L'offerta espositiva di A&T è comple-
luogo che ospiterà la manifestazione tata dal Percorso formativo 4.0: un
è I'Oyal Lingotto Fiere, un unico pa- programma di convegni, seminari e
diglione di 20.000 mq che accoglierà presentazioni aziendali con l'obiettivo
espositori (422 nella scorsa edizione) di offrire le giuste competenze a figure
e visitatori (14.432 nel 2018) prove- aziendali di ogni livello.
nienti dal territorio nazionale e inter- AUTOMATION & TESTING www.aetevent.com

14 Dicembre 2018 /Gennaio 2019 - ELETTRONICA IN


~:

LANCIANO (CH) S. LUCIA DI PIAVE (TV)


RADIANT EXPO
M ILLENNIUMADRIA ELETTRONICA FIERA DELL'ELETTRONICA
Parco Esposizioni di Novegro (MI)
E AUTO-MOTO D'EPOCA DI SANTA LUCIA
Organizzazione: Comis Srl
Quartiere fieristico - Loc. lconicella Area Espositiva Santa Lucia
T el: 027562711
Organizzazione: Millennium Eventi Organizzazione: Eccofatto
Fax: 027020835
Tel: 0696840758 - Fax: 0696840758 T el: 3498632614
radiant@parcoesposizioninovegro.it -
info@millenniumeventi. it silvia@eccofatto.info
www.parcoesposizioninovegro.it
www. millenniumeventi.it http://eccofatto.eu/
26 e 27 Gennaio 2019
05 e 06 Gennaio 2019 16 e 17 Febbraio 2019

CEREA (VR) RAVENNA CENTOBUCHI (AP)


FIERA DELL'ELETTR0NICA MONDO EL:.ETTRONICA FIERA MERCATO DELL'ELETTRONICA
DI CEREA Pala De Andrè Centro Logistico Orlando Marconi
AreaExpo - Cerea (VR) Organizzazione: Expo Fiere Srl Organizzazione: Federvol
Organizzazione: Fierelettronica.it Tel: 054527548 Tel: 3477433924
T el: 0308376078 - Fax: 0308376078 Fax: 0545291179 Fax: 0734841316
info@fierelettronica.it info@mondoelettronica.net federvo/@gmail.com
www.fierelettronica.it www.mondoelettronica.net www.federvol.it
05 e 06 Gennaio 2019 26 e 27 Gennaio 2019 16 e 17 Febbraio 2019

MODENA FIRENZE SCANDIANO (RE)


EXPO ELETTRONICA FIERA ELETTRONICA • MAKERS FIERA REGIONALE
Modena Fiere OBIHALL DELL'ELETTRONICA DI SCANDIANO
Organizzazione: Blu Nautilus Srl Via Fabrizio De Andrè - Firenze Centro Fieristico di Scandiano (RE)
Tel: 0541439573 Organizzazione: Prometeo Organizzazione: Comune di Scandiano
Fax: 0541439584 T el: 057122266 - Fax: 05710831142 T el: 0522764302 - Fax: 0522857592
info@expoelettronica.it info@prometeo.tv entefiere@comune.scandiano.re.it
www.expoelettronica.it www.prometeo.tv www.fierascandiano.it
12 e 13 Gennaio 2019 02 e 03 Febbraio 2019 16 e 17 Febbraio 2019

BASSANO DEL GRAPPA (VI) FERRARA ROVIGO


FIERA DELL'ELETTRONICA FIERA ELETTRONICA • MILITARIA F.I.E.RA- F.IERA INFORMATI€A,
BassanoExpo Quartiere Fieristico - Ferrara ELETTRONICA E RADIANTISMO

via Capitelvecchio 88 - Cassola (VI) Organizzazione: Expo Fiere Srl Centro Servizi Rovigo Fiere
Organizzazione: Eboot Srl Tel: 054527548 Viale Porta Adige 45
T el: 3776777342 Fax:0545291179 Organizzazione: Area Rebus
ebootsr/@gmail.com info@mondoelettronica.net Tel: 042527402 - Fax: 042527065
www.eboot.it www.mondoelettronica.net fiera@arearebus.com - www.arearebus.com
12 e 13 Gennaio 2019 02 e 03 Febbraio 2019 23 e 24 Febbraio 2019

MONTESILVANO (PE)
- Cesena (FC) LA SPEZIA
FIERA DELL'ELETTRONICA EXPO ELETTRONICA EIERA DELL'ELETiTRONI€~
Palacongressi d'Abruzzo Cesena Fiera - Pievesestina DI LA SPEZIA
Montesilvano (PE) Organizzazione: Blu Nautilus srl Spezia Expo - La Spezia
Organizzazione: CM Eventi Tel: 0541439573 Organizzazione: Prometeo
T el: 3208322538 Fax: 0541439584 T el: 057122266 - Fax: 05710831142
info@cm-eventi.it info@expoelettronica.it info@prometeo. tv
www.cm-eventi.it www.expoelettronica.it www.prometeo.tv
19 e 20 Gennaio 2019 09 e 10 Febbraio 2019 23 e 24 Febbraio 2019
...

BUSTO ARSIZIO (VA) FERMO


EXPO ELETTRONICA FIERA ELETTRONICA E TEMP0 LIBERO
Malpensafiere - Busto Arsizio VA Quartiere Fieristico L'elenco aggiornato di tutte le Mostre
Organizzazione: Blu Nautilus Srl C. da Girola - Fermo Mercato del 2018/2019 è disponibile sul
Tel: 0541439573 Organizzazione: Electro Fiere sito www.elettronicain.it
Fax: 0541439584 Tel: 3356287997 sul quale è anche possibile scrivere
info@expoelettronica.it info@e/ectrofiere.it un commento sulle fiere visitate.
www.expoelettronica.i t www.electrofiere.it l
19 e 20 Gennaio 2019 16 e 17 Febbraio 2019

ELETTRONICA IN - Dicembre 2018 /Gennaio 2019 15


• • •

•• ••

MCP1811, LDO Ultra-low lqper au re la durata della batteria


Microchip Technology ha introdotto ficile e i requisiti di durata operativa
recentemente un regolatore lineare sono elevati. Disponibile in package
Low Dropout (LDO) che prolunga da l x l millimetro (mm), I'MCP1811
la durata della batteria in dispositivi utilizza uno spazio minimo sulla sche-
portatili fino a quattro volte rispetto da per soddisfare le esigenze di in-
ai tradizionali LDO a bassissimo con- gombro dei moderni prodotti elettro-
sumo (lq). Con un lq estremamente J nici. A seconda dell'applicazione e del
basso di 250 nanoamp (nA) rispetto numero di LDO, i progettisti possono
al funzionamento approssimativo di sfruttare lo spazio risparmiato per
1 ~A dei dispositivi tradizionali, I'LDO sabili, i telecomandi e gli apparecchi fare posto ad una batteria più gran-
MCP1811 riduce al minimo la corren- acustici, la corrente di quiescenza a de, aumentando così ulteriormente
te di riposo per risparmiare la durata 250 nA riduce il consumo energetico l'autonomia del dispositivo.
della batteria, consentendo agli uten- ai minimi termini in standby o in OFF.
La riduzione del consumo energetico
L'MCP1811 è già disponibile in volu-
mi con una quotazione- per il packa-
J .=...-; -.

.. '"""' ' .
.. .,._...,_.._
.

ti finali di ricaricare o sostituire le bat-


terie con minore frequenza. in standby è fondamentale nei nodi di ge DFN l x l mm che parte da USD
Ideale per l'loT e per le applicazioni sensori remoti alimentati a batteria, in 0,28 ca d. per l 0.000 pezzi.
• a batteria come i dispositivi indos- cui la sostituzione della batteria è dif- www.microchip.com

AD4111 e AD4112, COMSDL lancia la versione 5.4


convertitori di precisione A/D di Comsol Multiphysics
ne calibrate per il sense di La versione 5.4 di COMSOL 8 processori. L' AC/
corrente e partitori resistivi. Multiphysics porta molti DC Module offre una
L'alto livello di matching tra i miglioramenti dal punto nuova part library
canali che riduce le esigenze di vista della produttività: con avvolgimenti e nuclei
di calibrazione e la disponi- per esempio, la possibilità magnetici completamente
bilità fino a otto ingressi di di utilizzare set multipli parametrici e pronti all'u-
tensione e quattro di cor- di parametri in un model- so.
rente rendono questo nuovo lo, aggiungendo anche Il CFD Module comprende
prodotto la scelta ideale per lo sweep parametrico su ora large eddy simulation
Analog Devices (ADI) pre- l'impiego in soluzioni a piat- di essi. Inoltre, gli utenti (LES) e strumenti di simu-
• •
senta due convertitori ND taforma riconfigurabile, ridu- possono ora orgamzzare 1 lazione notevolmente ag-
multicanale di precisione cendo dimensioni, comples- nodi del Model Builder in giornati per i flussi multi-

da +/-1 OV e 0-20mA che fa- sità e costi nei moduli PLC e gruppi e assegnare tabelle fase.
cilitano l'implementazione DCS. Secondo le specifiche, di colori personalizzate ai www.comsol.it
di moduli di controllori a i convertitori ND AD4111 modelli geometrici.
logica programmabile (PLC) e AD4112 ND possono ac-
cettare tensioni d'ingresso
Tra i diversi miglioramenti
alla performance c'è uno
-- ----=-- --

e sistemi di controllo distri-
. .-- . . .. •
···~
buito (DCS). Sfruttando la di +/-1O V e permettono un schema aggiornato di al- - c:--=.-·-"-

tecnologia dei componenti intervallo funzionale di +/-20 locazione di memoria che --


---·
-- -·
passivi di precisione integrati V, aggiungendo un margine offre tempi di calcolo mol- ------
-- •
- •

iPassives di ADI, i convertitori supplementare ai +/-1 O V to più veloci con i sistemi -


ND AD4111 e AD4112 inte- nominali. operativi Windows 7 e 1O ---
--- - ..... - = =--
-- -
--·-
grano resistenze di precisio- www.analog.com sui computer con più di ---

Trusted ule per la sicurezza informatica delle auto


lnfineon Technologies è il pri- rezza basata sull'hardware gnare i diritti di accesso, l'au- le, nell'unirà-telematica o nel
mo produttore al mondo di che ha già dimostrato il suo tenticazione e la crittografia sistema di infotainment del
semiconduttori a introdurre valore in ambito sicurezza IT. dei dati in auto in modo pro- veicolo.
sul mercato automobilistico Usandolo, le Case Automobi- tetto. Il TPM può anche esse- Lo SU 9670 è costituito da
un Trusted Platform Module listiche possono incorporare re aggiornato in modo che il un chip di sicurezza resisten-
(TPM), il nuovo OPTIGA TPM chiavi di sicurezza per asse- livello di sicurezza possa es- te agli attacchi e un firmware
2.0 che protegge la comu- sere mantenuto al massimo ad alte prestazioni sviluppa-
nicazione tra il costruttore livello possibile per tutta la to in conformità ·con gli ul-
dell'auto e l'auto che diventa vita del veicolo. timi standard di sicurezza. Il
sempre più un computer su Il nuovo OPTIGA TPM 2.0 SU firmware consente l'uso im-
ruote. Alcune Case Automo- 9670 di lnfineon è una solu- mediato delle funzionalità di
bilistiche hanno già adottato zione plug & play per appli- sicurezza, quali crittografia,
la soluzione OPTIGA TPM di cazioni automobilistiche. È decrittografia, firma e veri-
lnfineon. particolarmente adatto per fica.
TPM è una soluzione di sicu- l'uso in un gateway centra- www.infineon.com

ELETTRONICA IN - Dicembre 2018 /Gennaio 2019 17


l

Da NXP la glia i.MX RTG con tecnologia Arm Cortex-M33/DSP


---
Conuol Prottnor Cort DSPPlocuwCoft

...
"'
ON r....:-·
NXP annuncia i.MX RT600, processori crossover multi- stazioni con SRAM on-chip
Shartd lnlri'AII
una famiglia rivoluzionaria core con tecnologia Arm a bassa perdita da 4,5 MB,
..
Digitai Pfllphehls """""
~ ., ""......., 9.lM

tJt,..W TCM
MOWC..WO
di processori crossover per
applicazioni edge Machine
Cortex-M33 fino a 300 MHz e
un processare DSP Cadence
configurate con zero-wait
state access simultaneo -
'"' l~tC~Cnt

H-.l~"'lf lntelligence (ML) l Artificial Tensilica HiFi 4 a 600 MHz ideale per l'esecuzione in
,_, lntelligence (Al) a bassissima con quattro MACS e con ori- tempo reale di applicazioni
- potenza, tra cui input vocale
intensivo ad alte prestazio-
ginali funzioni hardware di
attivazione.
audio/vocali, di machine
learning nonché di appli-
"' Sfruttando la tecnologia cazioni basate su reti neu-
ni e riproduzione audio 3D
coinvolgente. FD-SOI a 28 nm, i.MX RT600 rali.
IITCO.. 'Sto- ; ' •
I.MX RT600 è una famiglia di supporta i core ad alte pre- www.nxp.com

uSLIC Himalaya: la più ampia adi Rohm mette in auto la tecnologia •

Quick Buck Booster


tensi eeil minimo in ro del settore
ROHM ha recentemente an- stadio successivo. Il risultato è
Gli ingegneri che progettano ap- nunciato la disponibilità di un il miglior consumo di corrente
plicazioni nei vari mercati dell'au- chipset per alimentatori con senza carico del settore, pari a
tomazione industriale, della configurazione buck-boost 8 11A. e una fluttuazione del-
medicina, delle comunicazioni e che vanta il consumo di cor- la tensione di uscita di + 100
consumer, possono ora attingere rente più basso del settore, mV, utilizzando una capacità di
a quattro nuovi moduli IC micro- unitamente a prestazioni sta- uscita di 4411F (grazie al consu-
system level (uSLIC) di Maxim lnte- bili (caratteristiche di risposta mo di corrente minore del70%
grated. l moduli di alimentazione transitoria) nelle ECU (Unità di e alla capacità

di uscita minore
DC/DC step-down MAXM17552, Controllo Elettroniche) del set- del 50% rispetto ai prodotti
MAXM 15064, MAXM 17900 e dulo semplifica l'aspetto più difficile tore automotive per quadri di convenzionali), per cui contri- •
MAXM 17903 si uniscono all'ampio della progettazione di alimentatori, bordo e gateway impiegati nei buisce al miglioramento della
portafoglio di soluzioni di alimen- consentendo ai progettisti, anche a sistemi start-stop per veicoli. stabilità e dei risparmi ener-
tazione Himalaya di Maxim, for- quelli con poca esperienza in mate- Il chipset integra un converti- getici in applicazioni in cui si
nendo una gamma di tensione di ria di alimentazione, di crearne uno tore buck DC/DC con funzio- verificano significativi cali della
ingresso più ampia (da 4 a 60 V) e robusto e affidabile in meno di un nalità boost (BD8P250MUF-C) tensione di ingresso in un bre-
dimensioni più piccole. •
g1orno. e un circuito integrato boost ve periodo di tempo.
l nuovissimi moduli di alimenta- l moduli uSLIC possono esse- dedicato (BD90302NUF-C). www.rohm.com/eu
zione uSLIC Himalaya ampliano il re acquistati con le seguen- Il chip primario (BD8P250MUF-
range d'ingresso fino a 60 V rispet- ti quotazioni: MAXM 17552 C) utilizza l'innovativa tecnolo-
to al precedente di 42 V e sono per 2,53 $, MAXM15064 per gia di controllo buck-boost di
disponibili in una dimensione (2,6 2,78 $, MAXM17900 per 1,39 ROHM, nota come Quick Buck
mm x 3,0 mm x 1,5 mm) inferiore $ e MAXM17903 per 1,48 $ Booster, che consente la con-
alla metà della soluzione concor- (1 000-up, FOB USA); i kit di va- figurazione buck-boost di un
rente più simile. l moduli integra- lutazione MAXM17552EVKIT#, alimentatore senza degradare
no un regolatore buck sincrono MAXM15064E VKIT#, le caratteristiche dell'alimenta-
Himalaya con ampia gamma d'in- MAXM17900EVKIT# e tore con configurazione buck,
gresso, compensazione, altre fun- MAXM17903EVKIT# sono disponi- semplicemente aggiungendo
zioni e un induttore schermato. bili ad un costo di 29,73 Sciascuno. il circuito integrato boost de-
L'integrazione dell'induttore nel mo- www.maximintegrated.com dicato BD90302NUF-C nello

Da lntel il nuovo processare lntel Core i9-9900K


lntel ha annunciato il processare gamma di esigenze dei consu- workstation ideato per i carichi
lntel Core i9-9900K di nona ge- matori, dal gaming alla creazio- di lavoro e le applicazioni ad uso
nerazione, il migliore processare ne di contenuti. Sono stati inol- intensivo di elaborazione, che
• desktop lntel per il gaming, e tre svelati i dettagli completi dei sarà disponibile a dicembre.
intel' ha comunicato che i preordini nuovi processori lntel Core serie Il processare lntel Core i9-9900K
del nuovo processare sono già Xprogettati per piattaforme pre- di nona generazione offre un
C0RE"'i9 iniziati. L'annuncio è awenuto mium di creazione di contenuti, livello eccezionale di prestazioni
X-series insieme all'introduzione di una con disponibilità a novembre. alla linea di prodotti per PC de-
serie di nuovi processori per PC lntel ha anche fornito aggiorna- sktop, rappresentata dal primo
desktop che consentiranno stra- menti sul nuovo processare lntel marchio lntel Core i9 nel segmen-
ordinarie prestazioni e funziona- Xeon W-3175X, un concentra- to dei PC desktop mainstream.
lità atte a soddisfare una vasta to di potenza da 28 core per le www.intel.com

18 Dicembre 2018 /Gennaio 2019- ELETTRONICA IN



Soluzione di connettività aie LPWAN Certificazione CE per la soluzione SiP


Sigfox per loT Sigfox di DN Semiconductor
STMicroelectronics lancia dosi automaticamente alle Si fa più semplice il lavoro
una soluzione di connettivi- caratteristiche della rete lo- dei progettisti impegnati
tà globale LPWAN Sigfox per
loT. t il primo design di rife-
cale.
La soluzione di ST consente
nella realizzazione di di-
spositivi wireless per loT
·e
rimento certificato hardware agli utenti di creare oggetti con tecnologia Sigfox: ON
e software del settore per il intelligenti che si connettono Semiconductor ha annun-
servizio globale automaticamen- ciato di aver ottenuto la
Sigfox Monarch te alla locale rete certificazione CE per la sua . ..
basato sul chip Sigfox in qualsiasi nonché il rilevamento di
.... .
. - .~

soluzione AX-SIP-SFEU Sy- •• •



• •• r ' ;;•

radio sub-1 GHz parte del mondo, stem in Package (SiP). Ciò sensori e asset. Semplifi-
ST 52-LP con consentendo la significa che il dispositivo cando notevolmente la
MCU STM32 o mobilità interre- è conforme agli standard supply chain e miglioran-
SoC BlueNRG. gionale, la geo- riguardanti sicurezza, pro- do la qualità complessiva
Una soluzione localizzazione e tezione ambientale e pro- del dispositivo attraverso
pronta per il monitoraggio il monitoraggio degli asset tezione per la salute per i l'integrazione, il micro
remoto e il tracciamento senza fare affidamento sui prodotti venduti all'interno modulo SiP include un IC
di dispositivi, ovunque nel più costosi dispositivi di posi- dello Spazio economico radio Sigfox, una sezione
mondo. zionamento GNSS. europeo. RF a componenti discreti,
STMicroelectronics è il pri- La soluzione certificata Mo- AX-SIP-SFEU offre connet- tutti i componenti passivi
mo produttore di chip a svi- narch Sigfox è basata sul tività Sigfox pronta per e il firmware necessari. Il
luppare e commercializzare chip radio 52-LP sub-1 GHz a l'uso (uplink e downlink) ricetrasmettitore RF è già
una soluzione certificata per bassissimo consumo e lungo per applicazioni loT indu- verificato da Sigfox per il
connettività loT globale, a raggio, che si sintonizza auto- striali, compresa l'automa- protocollo RC l.

bassissima potenza e a lungo maticamente sulle frequenze zione di edifici e demotica, www.onsemi.Com
raggio, con localizzazione e locali di Sigfox, in tutte le zone
tracciamento, basato sul ser- del mondo (da RCl a RC6) e
vizio Monarch di Sigfox. che consente la connettività
Questo servizio consente ai senza soluzione di continuità
dispositivi di funzionare in
modo trasparente in ogni
con la rete Global Sigfox e con
i servizi di geolocalizzazione.
Renesas a ncia RXv3, il CPU Core RX
parte del mondo, adeguan- www.st.com a32 bit di terza ner

Renesas ha annunciato lo svilup-
po del suo CPU core RX a 32 bit di
Nuova LMG341 x di stadi terza generazione, I'RXv3. Il CPU
core RXv3 verrà utilizzato nelle
di potenza GaN da TI nuove famiglie di microcontrollori
(MCU) RX di Renesas, i quali inizie-
Texas lnstruments (TI) ha an- semplificano la progettazio- ranno la propria fase di sviluppo
nunciato una nuova gamma ne, consentono una maggiore alla fine del 2018. l nuovi MCU sce la portabilità delle applicazioni
di stadi di potenza al nitruro affidabilità del sistema ed ot- sono progettati per soddisfare le scritte per RXv2 e RXvl di prece-
di gallio (GaN) da 600 V, RDS timizzano le prestazioni degli prestazioni e la stabilità avanzata dente generazione. l progettisti
ON di 50 mO e 70 mO, con alimentatori ad alta tensione. in tempo reale richieste dai con- che lavorano con gli MCU basati
supporto per applicazioni fino Grazie al rapido rilevamento trolli motore e dalle applicazioni su RXv3 possono anche trarre van-
a 1OkW. La gamma LMG341 x integrato della limitazione industriali in fabbrica intelligenti taggio dal robusto ecosistema di
consente ai progettisti di cre- della corrente e della sovra- di nuova generazione, dalle ap- sviluppo Renesas RX per sviluppa-
are dispositivi più piccoli, più temperatura (inferiore a l 00 plicazioni nella demotica e dalle re i propri sistemi embedded.
efficienti e dalle prestazioni ns), i dispositivi sono in grado attrezzature smart per infrastrut- L'esclusivo CPU core RX combina
più elevate rispetto alle solu- di prevenire sia eventi indesi- ture. un design ottimizzato per l'effi-
zioni con transistor a effetto derati che l'instabilità termica, L'innovativo core RXv3 potenzia cienza energetica e un processo di
di campo in silicio, nel settore con l'interfaccia di sistema la comprovata architettura delle fabbricazione che produce presta-
degli alimentatori AC/ DC. del- che garantisce funzionalità di CPU Renesas RX arrivando fino a zioni eccellenti. Il nuovo CPU core
la robotica, delle energie rin- auto-monitoraggio. 5.8 CoreMark!MHz, come indicato RXv3 è prevalentemente un'archi-
novabili, delle infrastrutture di www.ti.com dalle misurazioni dei benchmark tettura CISC (Complex lnstruction
rete, delle telecomunicazioni EEMBC, per fornire le migliori pre- Set Computer), che offre vantaggi
e dell'elettronica personale. Ready-to-use portfolio of 600-V GaN FET stazioni del settore, alta efficienza significativi rispetto all'architettu-
La gamma dei circuiti integra- power stages for applications up to 1okW ra RISC (Reduced lnstruction Set
energetica e reattività.ll core RXv3
ti FET al GaN di TI costituisce è retrocompatibile con i CPU core Computer) in termini di densità
un'alternativa intelligente ai RXv2 e RXvl utilimti nelle attua- del codice. RXv3 utilizza una pipe-
tradizionali FET GaN stand- li famiglie di MCU RX a 32 bit di line per fornire elevate prestazioni
alone e cascade, integrando Renesas. La compatibilità a livello in termini di lnstructions per Cycle
funzionalità di protezione e binario, utilizzando lo stesso set di (l PC), paragonabilì a quelle RISC.
caratter.istiche uniche che istruzioni per tutti i core, garanti- www.renesas.com

ELETTRONICA IN - Dicembre 2018 /Gennaio 2019 19



Dai vita alle tue idee digitali con Micro:bit!
Micro:bit è una piccola scheda di sviluppo che integra un microcomputer
a 32 bit; può essere utilizzata per imparare le basi della programmazione
ed è adatta a tutte le età. Dispone di sensori di movimento, una bussola
elettronica, un buon numero di 1/0, alcuni pulsanti e numerosi LED
disposti a matrice per lo sviluppo di interfacce grafiche. Grazie al
bluetooth integrato è possibile programmarla facilmente dal web, da PC,
tablet e smartphone.

Impara ad utilizzarla con il kit Smart Robot Ca r...


Il kit permette di realizzare un piccolo
micro:bit robot con ruote controllato tramite
'f~ ... ...
,._ &1:1 .... ,1
Smart Car telecomando IR. Una volta programmato
-· ~
può inseguire una linea, evitare gli
ostacoli, seguire un oggetto, accendere

i LED RGB e tanto altro. La confezione
comprende la scheda micro:bit, una
breakout per micro:bit, due micro •
motoriduttori con ingranaggi in metallo,
due ruote e due staffe di supporto, un
· bali caster, un sensore ad ultrasuoni con
base di supporto e staffe di fissaggio, un
cavo USB-micro USB, un telecomando a
infrarossi, un piccolo cacciavite, quattro
distanziali femmina-femmina M3x40
e due maschio-femmina M2x1 O, una
Cod: batteria allitio da 3,7 volt, due adesivi in
velcro, viti e dadi per il montaggio.
-
§ MICROBITROBOT
l l

e con il prototipi ng kit!


Il kit comprende: la scheda
Micro:bit, una scheda con
connettore per Micro:bit,
un cavo USB-microUSB, un NIICROBITKii
porta batterie per 2 batterie
l ·
-o
mioo:bit
da 1,5 volt tipo AA, due
batterie da 1,5 volt tipo
AA, una breadboard a 400
contatti, 1 LED RGB, un
Buzzer da 5 volt, jumper, •
mini pulsante, 3 LED (1 rosso, '
1verde, 1giallo), resistenze Cod: MICROBITKIT Incluso nel kit
IL NUOVO MANUALE
di diversi valori e una
fotoresistenza.
o
~~
9ID:D a colori che spiega nel dettaglio
come utilizzare e programmare mlcro:blt
d produzione,
backup, ecc.
Open Soun:elmage Otipll<:a<or- P)1hon Vl .U


Select an inage:
Choose deVices.to Write
. 201-27-- IO:
· · to devices:
Start Wntmg
- -/mg (4.5G)
Se!ectA.I Demes (4) WR/Tf: '"ACòf: TO D
=-"""laiav(!!.JG) EVI CES

a.~~eoiSda (465.76GJ
o~~e •..., (14.48(;)
.Ileo~ (14.48(;)
.llevJsdd (14.48(;)

-
-

•••••••••••••• •••••••••••••• •••••••••••••• •••••••••••••• ••••••• di MARCO MAGAGNIN


uando la Fondazione Raspberry Pi ha iniziato Non solo, i rnicrocomputer Raspberry Pi sono adot-
lo sviluppo di Raspberry Pi, l'obiettivo princi- tati in gran numero anche in numerose applicazioni
pale era quello di fornire un ambiente di sviluppo professionali nei più svariati settori.
orientato alla didattica, nel dominio dell'informati- Prendiamo il caso di un laboratorio che adotta
ca, dei sistemi operativi e del"physical computing", Raspberry Pi come strumento di formazione. Molti
ovvero la capacità di interagire, da parte di un'ap- avranno realizzato che l'operazione più ... noiosa
plicazione informatica, con sensori ed attuatori che è la duplicazione delle SD Card per tutti i posti di
'
si interfacciano al mondo esterno. lavoro del laboratorio o per tutte le installazioni in
Questi anni hanno dimostrato che lo scopo è stato caso di applicazioni professionali.
ampiamente raggiunto, al di là di ogni aspettativa. Per risolvere questo problema il "programmatore"


ELETTRONICA IN - Dicembre 2018 - Gennaio 2019 21


Alimentazione 5V

Solect M lmoge: Choose deviees to write S~tt writìng to dcviees:


IO:
201~27~~~ WRITIIIU~I fO OIVICU
MIC.hJmg (4,11Ci) Set«< Ali Oev!cH (4)
• cono_Fuua,mg(8.3G) ~(~ 76G)

, A'klll$db(1U 8G)
'~(l44&G)

, A:levtsdd UU3G) Fig. 1 - Schema di


insieme dell'applicazione

californiano Aaron Nguyen ha realizzato, e messo a che come partizione root, è necessario installare al-
disposizione sulla piattaforma GitHub, un'applica- cuni pacchetti prerequisiti. Aggiornate il repository
zione per la duplicazione multipla di SD Card. dei pacchetti e la distribuzione con il solito metodo:
Il nome dell'applicazione è OSID ovvero Open
Source Image Duplicator. E' realizzata in Python3 .•
4 • • • • • • • • • • • ~ • • • i • • • • • ~ • • • • • • • • • • 4 • • • • l • • • • • • • • • • ' • • l • • l • • • • • • • • • • • • • • • • • • • • •



: sudo apt - get update •

e presenta un'interfaccia grafica che ne semplifica : sudo apt - get dist - upgrade •



l'utilizzo. La piattaforma di utilizzo è il nostro Ra- . :


sudo rpi-update •'

• • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • l • • • • • l • • • •

spberry Pi. In Fig. 1 è visibile lo schema d'insieme


• • • • • • • • • • l • • • • • • • • • • • • • • • • • • • • •

dell'applicazione. Nel nostro caso abbiamo utilizza-


to Raspberry Pi con il display Pi, tastiera e mouse. Ora installate i pacchetti dcfldd, pip3, e CherryPy,
Data la necessità di spazio per ospitare le immagini con i comandi:
del sistema operativo che si vuole duplicare è neces- • • • • • • • • • l • l • • l • • • • • • • • • • • • • l • • l • • • l • • • • • • • • • • • • • • • • • l • • • • • • • • • • • l l • • • • • • • • • • •

.
• •
sario utilizzare una SD Card da almeno 32Gb. Noi : s udo apt - get install python3




: sudo apt-get install python3-pi p
abbiamo preferito la soluzione con disco fisso, che :• sudo apt-get install dcfldd




abbiamo descritto nel numero 222 di Elettronica In :

sudo apt-get instal l g i t




(Febbraio 2018). Per ospitare le SD Card sulle quali : sudo pip3 install che r rypy •

• •
• •
• •
copiare l'immagine di sistema operativo abbiamo •
• • • l • • • • • • • • • • • • • • • • • • • • • • • • • • • l l l ~ • • ~ • • • • • • • ~ • • • • • • • • • • • • • • • • • • ~ • • • • • • • • • • • •

utilizzato un Hub USB alimentato con i lettori di


SD Card USB, tanti quante sono le SD Card che si Alcuni pacchetti saranno già presenti ad aggiornati.
vogliono duplicare contemporaneamen te. Niente di male, proseguite ad installare i successivi.
li pacchetto pip3 (Pip Installs Python) permette di
,
PREPARAZIONE RASPBERRY Pl aggiornare il linguaggio Python con componenti
Partendo da una installazione di Raspbian conven- aggiuntivi già pacchettizati ed ottimizzati per esse-
zionale, nel nostro caso con le modifiche necessarie re integrati all'ambiente di sviluppo Python.
ad utilizzare un disco fisso sia come disco di boot Il pacchetto dcfldd è un derivato del comando "dd",

22 Dicembre 2018- Gennaio 2019 - ELETTRONICA IN



..

Fig. 2 - Copia
applicazione OSID
da GitHub

comunemente utiHzzato p er copiare immagini di ".sample", con i comandi:


memorie di massa. Nella fattispecie permette di ..........
• ········~·~,f· · ~·········· . ······························,. .···•••1••••
indirizzare l'output della copia su diverse destina- : cd

/home/pi/osi d- python3/system •


: cp serv er . i n i. sampl e serv er . i ni •
zioni contemporaneamen te. Il pacchetto git permet- •
: cp ru n_app . sh . sampl e r un_app . s h




te di clonare applicazioni disponibili nel repository ; cp osid . de sktop . sample osid . des ktop •


.•• .•

GitHub. • ' • • • • t • • • • • • • t • • • • • ~ t ~ • • f • • • • • t • • t • t • t • • t t • • • • • t t • t • • t • t t t • • • • • ~ • t c • • • • t • 4 t • t

CherryPy, che ha come simbolo una bella ciliegia


rossa, è un framework minimale che permette di In dettaglio il contenuto dei file di configurazione.
scrivere applicazioni web in python con il mini-
• •
mo sforzo e la minima quantità di codice. Questo server.1n1
perché, come visibile nello schema di Fig. 1, OSID • ImagePath è la cartella che contiene le immagini
offre, per l'utilizzo, un'interfaccia grafica via web. di sistema operativo che si vogliono duplicare.
In questo modo è possibile utilizzare OSID sia in Possono essere più di una, ma se ne dovrà sele-
locale che da remoto. Preparato l'ambiente, clo- zionare una sola per ogni sessione di duplicazio-
nate l'applicazione OSID all'interno della cartella ne;
/home/pi con il comando (Fig. 2): • Host è il nome o l'indirizzo host al quale punta-
• re, dal browser esterno. Se si utilizza "localhost"
git clone https://github.com/aaronnguyen/osid-python3.git si potrà usare l'applicazione solo in locale. Per
• utilizzare l'applicazione da remoto è necessario
configurare un indirizzo IP od il nome host di
CONFIGURAZIONE OSID Raspberry Pi. Nel caso dell'indirizzo IP è oppor-
Ora è necessario configurare l'applicazione OSID. tuno configurare un IP fisso per Raspberry Pi;
Nella cartella "system" sono presenti dei file di • SocketPort è la porta sulla quale si vuole, rag-
configurazione di esempio, che utilizzeremo come giungere l'applicazione dal browser. E prede-
traccia per la creazione dei nostri. I file di esempio finita la porta 80 ma può essere cambiata, per
hanno l'estensione ".sample". In dettaglio ci interes- esempio in caso abbiate più di un server web su
sano i file: Raspberry Pi;
• •
• server .rm • Logs è la cartella dove si vuole vengano scritti i
• run_app.sh log dell'applicazione. Nel nostro caso / var/ log/
• osid.desktop • osid. Attenzione, la cartella deve essere creata
prima del primo utilizzo dell'applicazione;
Li copiamo nella stessa cartella senza l'estensione • SkeletonLocation è la cartella dove si trova il file

H ~ ~ ~ Codifica • C Colore • ® ~8 '


I[Dup l ì cat or setti ngs]
I magePat:h = / home7pi / osi d- python3/ i mg
HOSt = 1 92 .168 . 178 . 106 •
socketPor t = BO .
Logs = / var j os id
s kel etonLocat ion = / home/ pi / osi d- python3/ www/ s kel et on. mi n.css •

Fig. 3 - Configurazione
Riga: 1/6 Carattere: 91 (OxSB) Codifica: 1252 (ANSI -Latino
file server.ini

ELETTRONICA IN - Dicembre 2018 - Gennaio 2019 23


*;;l Codifica .., D Colore .., >>

# ! .l s r . bi n. e n\t bas h
cd / ho e. (pi . 'osi d- p)ft ho n 3.! S)'St e n
SL do ,..'t s r / bi n/ pyt ~1 o n 3 s er \ter . py

# A 11 O''' cher r' )'P~l t o boot Lp


sleep 5 ·
ct1ro i Lr - bro •tser --app:=bttp : //192. 168. 1 78. 106 :80
l
Fig. 4 - Configurazione
Riga: 8/ 7 Codifica: 1252 ~ANSI - Latino
file run_app.sh

"Skeleton CSS Framework". Nel nostro caso un file browser --app=http : //<IP_Raspberry_ Pi> : 80 ll1mO O
Il • d
Skeleton CSS è già presente nella cartella www. da non aprire un browser con l'applicazione in
locale (Fig. 4):
Per configurare il file server.ini apritelo con Win-
• a ~ ~ • • 1 ~ ~ a a • • • • • ~ a • • • • 1 * • • • • • • • • • • • • ~ • • ~ • « ~ 1 ~ •

SCP e digitate (Fig. 3):


• • • • f • 1 • • • • 1 • • 4 • • • • 1 • • • • • • • • • • • •

" •
• •
: #-! /usr / b i n/ env bash •

• •
l


1 • a. a 1 lf "' 1 -. a 1 a l • a ~ • 1 1 .. 1 1 ' l 1 a 11 il • 1 • 1 a a 1 .- ,.. 1 a 1 a a 1 • a • a • a • • ._ a 1 4 a a • a 1 1 • a 1 1 a 1 a f a " 1 1 a a ~ a

: cd /horne/pi/osid- python3/systern •

• • •
: [ Dupl i catorSetti ngs] : : sudo /usr/b in/python3 server . py •

• •
: I rnagePath = / horne/pi/osid- python3/irng :

:• # Allow Cherrypy to boot up •

• •
·• Host = 192 . 168 . 178 . 106 . ·

: sleep 5 •

• •

·• SocketPo r t = 8 O

·• : chrorniurn-browser - - app=http : //<IP_Raspberry_Pi> : 80 •

:. Logs = /var l osi d :.


'
••••••••••••..,•••••c,.e-ar••• • •••••• •••••~•~••• .. ~•• •••<~•••••••~••••••••• .. •••••
.

:• Ske let onLocation - / horne/ pi/osid-python 3/www/ ske - :• •


:• l e ton . min . css :•

~ • l ~ • l • a ~ • 1f • a 1 • l • p l l • • • • • • • • ~ • c r 6 • e • • • r • • e • • e • • • a • ~ • • ~ • a • a r a • a e • 1 • a l e • • a e p • • a e

osid.desktop •

I file con estensione ".desktop" servono a creare le


run_app.sh icone per il lancio delle applicazioni direttamente dal
• La prima direttiva di run_app.sh porta nella desktop grafico di Raspberry Pi. Se utilizzate l'applica-
cartella corrente dell'applicazione; zione OSID esclusivamente da remoto, questa ope-
• Successivamente esegue il server dell' applicazio- razione è inutile. Per configurare il file osid.desktop
ne OSID gestito dal framework CherryPy; apritelo con WinSCP e digitate il contenuto (Fig. 5):
• Delay di cinque secondi;
. . . .. . . . . . . . . . . . . . " . . . . . . . . . . . . . . . . . . . . . .
~ ~ . .. . . . ..... . . . . . . .. . . . . . . . . . . . .. .•
~ "

• L'ultima direttiva apre, in locale, il browser •


• •

: [Desktop Ent ry ] •
Chrornium passando come parametro l'URL del- •
: Narne=r Pi SO Card Dupl icator



• •
la pagina principle dell'applicazione. : Cornrnent=Des kt op ent ry open browser as app . •


: Icon=/usr/sha r e /pi xmaps/openbox . xprn •


: Exec=bash / horne/pi/osid- python3/systern/run_app . sh •

Per configurare il file run_app.sh apritelo con Win- :

Type=Application •


SCP. Se volete usare l'applicazione da remoto fate : Encoding=UTF- 8 •

• •
·' Terrninal =false •
attenzione a commentare la direttiva"# chromium- . •

: Categories=None ; •

all;t••••••••••••••••• .. ••s••••••••••••••••••••••••·•••*•••••••••••••••••••••••••

[ Deskto p Ent r y] •

Nar ~rP i s o card Dt pl i cat or


Colnn~ e nt==Des kto p ent r y open br O\'iSer as app.
_con=./Ls r /s har e/ pi x1 aps / openbox. xp1·
Exec=bash . 'ho e/ pi 1 osi d- pyt hon3. 'sy sten / r L n_ app. sh
ype=Applicati on
Encodi rlg=U F-8 ·
-erni nal• =fal se
cat egor 1es=None ;

Fig. 5 - Configurazione
Riga: 1/9 Carattere: 91 ~Ox SB) Coclifìe_a: 1252 ANSI .. Latino
file osid.desktop

24 Dicembre 2018- Gennaio 2019- ELETTRONICA IN


)

2:03

Fig. 6 - Icona OSIO sul desktop di Ra~pberry Pi

Per far apparire l'icona sul desktop copiate il file Create la cartella dove trasferirete le immagini delle
,
nella cartella /home/pi/Desktop: SD Card da duplicare:
........................


l ••••••••••••••••• , . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . il •••••


.• ............ , ....... ... ............ ............. , .................................... .•
• • • •
: cp /home/pi/osid-python3/system/osid.desktop / hame/pi/Desktop :• : mkdir / home/pi /osid- python3/img :•

.... ............ ......

..• ········ .. ........ ......... .. ............... .• •

• • • • • • • • • • • • • • • • • • • • • • ' • l • • • • l • • • • • • • • • • • • • • • • • • • • .. • • • • • • • • • • • • • • • • • • • • • • • • • •


Open Source lmage Ouplicator • Python v1 .1.1 Open Source lmage Oupficator - Python v1 .1.1

Select an image: Choose devices to write Start writing to devices: Select an image: Choose devices to write Start writing to devices:
to: to:
O 2018-06.27 -raspbian. 0 2018-06.27 -raspbian- WRITE IMAGE TO OEVl CES
WRfH IMAGE TO OEVJCf S

stretch.img (4,5G) D Select Ali Devices (4) stretch.img (4,5G) O Select Ali Dev~ces (4)

0/dev/sda (465.76G) 0/dev/sda (465 76G)

0 /dev/sdb (14.48G) ' 0/dev/sdb (14.48G)

0/dev/sdc (14.48G) 0/dev/sdc (14.48G)

0 /dev/sdd (14.48G) 0/dev/sdd (14.48G)

Released by vr.k & Sctssor Enteamses ltmrt ~, and heavily modrfied by ron Nquve under the
Released by Oock & Scissor Enterpnses L1mtted and heavily modified by uon Nguyl-?! 1 under lhe
""'"L "', ,. . .
...•• ...
Fig. 7 - Pagina iniziale OSIO Fig. 8 -Selezione origine e destinazioni della duplicazione.

ELETTRONICA IN - Dicembre 2018 - Gennaio 2019 25


l

.f rPI~

(+)<D L~2.~68~m:.~~~.----~---el ~~-ca-_·_--.~] .J 1t


----- ·---
-cr ~ ~ 4 4J =
Open Source lmage Oupficator . Python v1 .1.1 Open Source lmage Oupficator - Python v1_1_1

Progress •
Progress
48°/o 1000/o
Time Remaining: 00:05:38 Duplication Complete: 2018-06-27-raspbian-stretch.img
• Retum to Start

Released by Rock & Sctssor Enterpnses limrted and heavily mocfrfied by Aaron Nguven under the Reteased by Rock & Setssor Enterpnses lirrutec and heavily modified by Aaron Nguv under the
GNUGPlv3.
.,
.Jr.U 3Plv3.

Fig. 9 - Stato avanzamento della duplicazione. Fig. 1 O - Duplicazione completata.

Create la cartella per i log dell'applicazione OSID: Card od il disco fisso di sistema, come visibile in
• • * • • s ' • • ~ • a ~ • • • • • • • • • • • • • s • s • ~ ~ a • • • • • • a • e e • • • • • • s * ~ ~ * • • a • a a • • • a • , • • a • • a • ~ * • - a Fig. 8. In caso contrario il sistema operativo di Ra-

. .•
:• sudo rnkdir /var/log/osid ·• spberry Pi verrà irrimediabilmente distrutto.
• •
•• • • • • • • ~ • • • ~ • • • • • • • • • • • • • • 4 • • - • • • • • • • • • ~ • • • • • • • ~ • • c • • ~ ~ • • • • • • • • • • • • • ~ • • • • • • • •


Una volta selezionata l'immagine di origine ed i di-
spositivi di destinazione cliccate sul pulsante "WRI-
. UTILIZZO APPLICAZIONE OSID TE IMAGE TO DEVICES". In questo modo inizia

A questo punto è possibile utilizzare l'applicazione la duplicazione con l'indicazione dell'avanzamento
OSID. Come prima operazione dovete trasferire della copia e del tempo rimanente alla conclusione,
l'immagine da duplicare nella cartella "img". Per come visibile in Fig. 9.
questa operazione utilizzate WinSCP. Al termine apparirà la pagina di completamento
Poi collegate un Hub USB ad uno dei connettori dell'operazione e la richiesta, se lo si desidera, di
USB di Raspberry Pi. una nuova duplicazione (Fig. 10).
Inserite uno o più lettori/ scrittori di SD Card USB A questo punto potete recuperare le vostre SD Card
nelle porte dell'Hub USB, ciascuno con inserita una dai lettori/ scrittori USB. Buon lavoro.
SD Card. ·
In locale cliccate sull'icona di OSID sul desktop
(Fig. 6). Con un po' di pazienza si aprirà una
finestra browser con l'interfaccia grafica visibile in
Fig. 7.
Per eseguire l'operazione da remoto, aprite una
finestra di terminale, anche via SSH e, dalla cartel-
la" /home/pi/osid-python3/system" digitate il
comando: Il materiale utilizzato nel progetto può essere acquista-
• • • • • , ~ • • • • • • • • • • • • • • • • • • • • • • • • + • • • • • • • • • • • • • • • • • • • • to presso Futura Elettronica. La board Raspberry Pi3
.
4 • • • • • • • • • • • • • • • • • • • • • • • • •

..•
• •

.:• sudo bash run- app . sh . Tipo B+ (cod. RPI3BPLUS) è disponibile a Euro 44,00,
. • . l'alimentatore switching 5 VDC l 3 A con uscita mi-

• ~ • • • =• • ~ • • • • • • • • • • • • • • • • • • • ~ + • ~ • • • • • • • • • • • • • • • • • • ~ • ~ ~ • • • • • • • • • • • • • • • • • • • • • • • ~

ero USB (cod. AL05-3USB) è in vendita a Euro 10,50,


Sempre se vi collegate da remoto, aprite un browser I'HUB USB 2.0 a 7 porte (cod. PCUSB34) costa Euro
e nella finestra URL digitate l'indirizzo lP di Ra- 15,50 e l'adattatore USB l micro USB, con slot SO-
spberry Pi. Apparirà la stessa interfaccia grafica. card e funzione OTG (cod. PCUSBG01) è in vendita
L'applicazione ricerca in automatico le immagini a Euro 6,80. Tutti i prezzi si intendono IVA compresa.
disponibili nella cartella img ed i dispositivi di me-
noria di massa collegati a Raspberry Pi.
Selezionate l'immagine che volete utilizzare ed i
device sui quali volete duplicarla.
Fate estrema attenzione a NON selezionare la SD

26 Dicembre 2018 - Gennaio 2019- ELETTRONICA IN


Il ,,
- •

- ICe
• elettronica e componentis tica • informatica e networking
• smartphone e accessori • droni e modellismo dinamico
• videosorvegli anza • mobilità elettrica
• editoria tecnica • mercatino dell'usato •

segreteria organizzativa :
studio fulcro
via ausonia, lOOr - genova

tel. 010 5908809 l

berti®studiof ulcro.it
'
inserisci qui i tuoi dati e ottieni il tuo biglietto ridotto!
(informativa sul trattamento dei dati personali sul sito www. studi fui o.it)

e ma i 1 .1 •• 111111111111111111111111111111111 111111111111111111111111111111111 1111111111111111111111

C.A.P. ~··~··~·~··~·~~~·~~·~·~~·~·~··~
8 ,5o •

Cod.
24LR6AA

-c
CJ
·-
-~

BATTERIE BATTERIA
BATTERIE ALCALINA
ALCALINE ALCALINE
LR3 AAA • 1,SV 6LR61-9V
LR6AA 1,SV
Blister Blister
Blister da 1 pezzo
da 4 pezzi da 4 pezzi

e 1,5o AAA LAOuuu.sv cE • 'il f'.. e


e 1,5o e 1,ao
Cod. LR6·AA·4 Cod. LR03·AAA·4 Cod. 6LR61·9Y·1

BATTERIE •
ALCALINE BATTERIE BATTERIE
23A-12V ALCALINE ALCALINE
LR14 C-1,SV LR20 D-1,SV
Blister
da 5 pezzi Blister Blister
da 2 pezzi da 2 pezzi

e2,5°
Cod. 12V·23A·S
e2,3o
Cod. LR14·C·2
e3,2o
Cod. LR20·D·2
l

KEYBOARD
BATTERY /
+
R2 R3 R4 RS R6 R7 R8

R12 PIEZO Rll Rl

R9
LLg 1111

STYLUS
Cl C2
\0
E
Q}
RlO

..r.:
(_)
-
(l) TRl
L.,,,.....,.....'

l l l l

di un semplice strumento musicale che possiamo in alternativa all'altro, facendo in modo che TRl e
considerare un remake elettronico di una cornamu- TR2 presentino sempre livelli opposti.
sa, giacché come il popolare e antichissimo stru- Questo fenomeno inizia quando si alimenta il
mento, peraltro saldamente ancorato alla tradizione circuito, allorché, pur essendo scarichi entrambi i
natalizia, permette di far slittare a tonalità delle condensatori, il transistor che ha tensione di soglia
note mentre lo si sta suonando. più bassa entra per primo in conduzione e blocca
Questo piccolo circuito, alla portata di chiunque l'altro, almen o fin quando il condensatore collegato
perché essenziale, economico e di facile realizzazio- alla base di quest'ultimo non si carica.

ne, può diventare il primo strumento musicale per Per comprendere il funzionamento del circuito
un bambino o un ameno gadget per accompagnare studiamo innanzitutto quello del multivibratore
con delle musichette le feste di fine d'anno. astabile che ne è il cuore, partendo dalla considera-
zione che può funzionare, sebbene sia teoricamente
SCHEMA ELETrRICO composto da due stadi a transistor simmetrici, per
Andiamo subito a vedere di cosa si tratta, analizzan- il fatto che due BJT, per quanto di uguale modello,
do il circuito che realizza lo strumento musicale, il hanno caratteristiche leggermente differenti e tali
quale sostanzialmente è un multivibratore astabile a che, nell'istante in cui il circuito riceve l'alimenta-
BJT di tipo NPN, cui abbiamo aggiunto un cicali- zione, uno dei due entri in conduzione per primo
no piezo (senza elettronica, perché verrà pilotato condizionando l'altro. Infatti nell'astabile le condi-
dal segnale variabile prodotto dall'astabile stesso) zioni dei due transistor che lo compongono sono
e un trimmer in modo da alterare la frequenza intrecciate e una influenza l'altra.
spostandola anche di un'ottava. Grazie a una scala Per il nostro studio supponiamo che il contatto
di resistenze e ad un filo che facciamo toccare su STYLUS sia collegato a una delle resistenze R2, R3,
otto piazzole corrispondenti ai nodi di unione delle R4, R5, R6, R7, R8 e che nell'istante in cui applichia-
resistenze della suddetta scala, possiamo impo- mo tensione al circuito tramite i punti+ e - BATTE-
stare il multivibratore astabile per fargli generare RY, entri in conduzione per primo TRl; per effetto
altrettante note, semplicemente toccando con un
filo collegato al punto STYLUS le piazzole che nello
schema elettrico sono raggruppate sotto la dicitura
KEYBOARD.
Chi volesse, potrà rendere più pratico da suonare il
.•
piccolo strumento realizzando una vera e propria •

tastiera, che potrebbe essere composta semplice- : • Tension--=.... ~


~

mente da otto pulsanti normalmente aperti, uniti :• • Corrente


: • Minima frequenza riprodotta: 580 Hz
per un'estremità e con i contatti liberi connessi •
:• • Massima frequenza riprodotta: 2.400 Hz
ciascuno ad una delle piazzole KEYBOARD. :• • Numero di note eseguibili: 8
Il circuito è un generatore di segnale rettangolare, : • Estensione: circa 2 ottave

dato che non riesce a mantenere uno stato stabile e :• • Possibilità di utilizzo Pitch Bend

i suoi transistor commutano in continuazione e uno ............................................................................ •

. 30 Dicembre 2018 /Gennaio 2019 - ELETTRONICA IN


' di ciò, il collettore di quest'ultimo si porta a circa o
piano di MONTAGGIO •••••••••o
o

o
o
o o
o o
o

zero volt (ponendo a massa l'armatura ad esso


o
o o

•o •o
•o •o
•o o

collegata del condensatore Cl) e comunque e un •o


o
o
o
o

o •
o

potenziale tale da non permettere la polarizzazione o


o
o
•• o
o
o
o
o o
o

della base del TR2, giacché la corrente di collettore o


o
o
o
o
o
o
o
o
o o

del TRl causa nella resistenza R11 una caduta di va- o o


•o o
o
o •o
o
•o o

lore tale da mantenere la Vbe al disotto di quella di


o
• •o o
o
o
•o o
o o

o
soglia. Ciò avviene perché C2 è inizialmente scarico o
•o
o
o
o
o
o
o
o
•o o

e fa passare corrente. o
o
••
o
o
o
o
o •
In questa condizione TR2 resta interdetto e tramite •o o
o

o
•o
o
o
•o

Rll inizia a caricarsi il condensatore C2, fin quando
o

•••
o
o

•o •o
la base del T2 non si trova ad un potenziale tale . o o
o

o ••
o
• o
o o
•o
da far saturare tale transistor, quindi pian-piano la o
o
o
o
o
o

••• o

tensione di base del TR2 si abbassa al disotto della


o
o o
o
•o o
o o
o
• o

tensione di soglia e lo stesso TR2 si interdice. •


•• •o

•••
o
o
o

Adesso è il collettore del TR2 ad andare a zero


o
• o
• o
o
• o
o
•o o

logico e scaricare Cl, fornendo alla base del TRl un o o


o
• o
o
• o
• •o
•••
impulso a livello basso che porta lo stesso transistor
o
o
• •o
•o
o

•••
o
•o
in interdizione, il che comporta che il collettore o

•'
•o
o

••
o

di tale BJT si porta a livello alto. Ora Cl inizia a


o
o
••• •o
• •o

••
caricarsi e a un certo punto porta la base del TRl a
o
o
o o
o
• o
o
•o •o
un potenziale tale da provocarne nuovamente la o
o
o
o
o
o

•• •
••o
conduzione di tale BJT, il cui collettore torna a zero •o
•• o
o
o o
o

volte fa scaricare immediatamente C2,il quale dà •o


o

o
••o
o
o

un impulso a livello basso sulla base del TR2, facen-
o
• o
•• o
o
o
• •o
•o
do interdire quest'ultimo.
o
o
• •o

• •o
•• TR2 o

Il ciclo descritto si ripete fin quando il circuito resta ••





PIEZO o
•o
•o
• Cl
o
Rl2 o

alimentato e porta alla produzione di due onde •o


•o C2
•o
••

•o

rettangolari opposte di fase su TRl e TR2, quindi •o
•• •••
••
o
•• TRI •o
connettendo il cicalino PIEZO tra i due collettori ••
• o
o

••o
~
• -~
otteniamo un segnale variab~le, anzi, alternato, di . o•

••

"
~
R9 0 !;': o
o

•o --CJ- --CJ- o o:
~
~
m
o

forma d'onda rettangolare e di ampiezza teorica o RIO R11



•o
o

o
o
•o
pari al doppio di quella degli impulsi presenti tra +
o

collettore ed emettitore dei transistor. Un'ampiezza


o smus
o

•o

o
••
o
•o
o o
•o
o

di valore sufficiente a pilotare la pastiglia piezoe-


o
o •
o ••

lettrica che si trova all'interno del cicalino e da farle


•••

•o
o o Rl R2 R3 R4 RS R6 R7 RB •o
o
o
o
o
o
o
• •
emettere una vibrazione acustica abbastanza in-
o
• •
o• KEYBOARO o

• •
o ••
o

tensa da essere udita al giusto livello nell'ambiente o
o
••
o
•o

•o
••
circostante e comunque quanto basta a soddisfare le o
o

o
o
o
o
•o o

esigenze di una persona che sta suonando il piccolo


o

Elenco Componenti=
o
•o •o
o


o
o
o

strumento. •
••

o
•o
o
o

R.;-R91: 1 kohm
o
•o •
La durata dei cicli di carica e scarica dei condensa- ••
•o
••
o
o

tori dell'astabile determina la frequenza della nota


•o R10, R11: 47 kohm •o•
••
o

C1, C2: 4,7 nF ceramico
o
o • o
o o

riprodotta, nel senso che quest'ultima vale: ••


•••
o
o
o

o
•o
TR1, TR2: BC547 o
o
•o
o


•• PITCH: Trimmer 47 K MO o
•o

f = l / (tl + t2) •o
o
o
•o PIEZO: Buzzer senza elettronica
••o
o
o
o
o
••
•o •o
o
• o
•• ••
dove chiamiamo tlla durata della permanenza del •o
•o
Varie: o
•o
o

livello alto sul collettore del transistor TRl e quindi
o

••

- Alberino per trimmer o

••o
• o

- Clipo batteria 9V
o

della carica del condensatore Cl, mentre con t2


o
• o
• o
• o
• o

- Spezzone filo 1O cm
o

intendiamo la durata del livello alto sul collettore
o

o
o
o

••
o
o

dell'altro transistor (TR2) e della carica del C2. A



••

- Circuito stampato 81421 · o
o

••


o
• ••o
loro volta i cicli dipendono dai valori di resistenza e •

••••••••••••••••••••••••

• ••• • • • •••••••••••• • • • ••••• • ••••••••• • •••••••••••••••••• • • • ••••• •• ••••••••••••••• ••• ••• • • • •••••••• •• •• • ••••••

ELETTRONICA IN - Dicembre 2018 /Gennaio 2019 31


vremmo comprendere anche l'effetto delle correnti
• di base di TRl e TR2.
Comunque il calcolo di massima è quello proposto
dalla formula, dal quale vediamo che, essendo t2
condizionato dai valori delle resistenze inserite,
possiamo ottenere dal cicalino tante frequenze
quante sono le note più una, quindi 8: tante sono
le note musicali componenti un'ottava, ovvero DO,
RE, MI, FA, SOL, LA, SI, DO.
Resta inteso che le frequenze esatte si ottengono
accordando lo strumento con qualcosa simile a
quegli strumentini per accordare le chitarre; non va
bene il classico diapason, perché emette tipicamen-
te la nota LA superiore al DO centrale (per centrale
si intende quello dell'ottava centrale della tastiera
del pianoforte, che ha 88 tasti suddivisi in tre tasti
a sinistra, 7 ottave e un ulteriore DO a destra) che
per convenzione suona a 440 Hz ma si può usare
un fischietto accordatore. Nel nostro caso, siccome
la minima frequenza riproducibile è dell'ordine dei
580 Hz serve qualcosa che suoni a una frequenza
maggiore o uguale. ·
L'accordo si può eseguire con il trimmer VRl, il •
e realizzate da quale essendo montato come reostato permette di
variare la resistenza che pone in serie al circuito di
carica del condensatore Cl e, più esattamente, di
aumentarla portando il cursore verso la base del
TRl (all'aumento corrisponde l'allungamento del
tempo t1 e quindi l'abbassamento della tonalità
delle note) o di diminuirla se il cursore si porta nel-
la direzione opposta (la frequenza riprodotta sale
perché t1 si accorcia).
In ultimo, notate (e lo potrete verificare suonando
lo strumento) che la nota riprodotta dal nostro pic-
colo strumento musicale è tanto più acuta quanto
più STYLUS viene collegato vicino al positivo di
alimentazione, ovvero la nota diviene più grave
passando dal nodo Rl-R2 a quello R2-R3, fino ad
arrivare all'estremo libero della R8, condizione alla
quale corrisponde la nota più grave.
Visto che siamo in tema di frequenze, la minima
riproducibile (collegando STYLUS all'estremo
libero della resistenza R8 e con il trimmer RVl tutto
inserito) è di circa 580HZ, come appena esposto,
mentre la massima è dell'ordine dei 2.400 Hz: in
condensatore interessati, quindi Rll per C2 (t2) e la questo caso ci troviamo nella condizione di RVl
somma di R9, VRl e quella, tra R2-;-R8 collegata dal cortocircuitato e STYLUS collegato al positivo di
filo che parte da STYLUS (ci riferiamo alla carica di alimentazione.
Cl e quindi al tempo tl). In vero nella determina- Riepilogando, la gamma più bassa delle note spazia
zione dell'intervallo t1 rientra anche il rapporto tra tra 580 (nota relativa al pad più a sinistra del PCB) e
la resistenza inserita R2-;-R8 ed RlO, ma prendiamo 1.680 Hz (nota relativa al pad più a destra) portan-
per buono che questa sia poco rilevante, altrimenti i do STYLUS dal positivo di alimentazione all' estre-
calcoli si complicherebbero, anche perché allora do- mo libero di R8 e corrisponde ad RVl tutto inserito;

32 Dicembre 2018 /Gennaio 2019 - ELETTRONICA IN •


LA CORNAMUSA Una volta inciso e forato il circuito stampato, di-
sponetevi i componenti a partire dalle resistenze e
ELETTRONICA dai condensatori, per poi passare ai transistor (da
orientare come mostrato nel piano di montaggio
che vedete in queste pagine) e al cicalino piezo, che
deve essere del tipo senza elettronica di controllo,
in quanto riceverà un segnale variabile dal bistabi-
le; essendo senza elettronica, il cicalino può essere
montato senza riguardo per la polarità.
#

Il trimmer dev'essere dotato di un perno per poter-


lo azionare tramite una manopola; volendo potete
sostituirlo con un potenziometro, che il perno già
ce lo ha. Per completare il montaggio, inserite e
saldate nelle piazzole+ e- BATTERY i due fili
(rispettivamente rosso e nero) di una presa volante
a strappo per pile da 9V o portapile.
L'intero circuito va alimentato con una pila da 9
volt (o un alimentatore che fornisca tale tensione ma
stabilizzata, nonché una corrente continua di alme-
no 60 milliampere) e racchiuso in un contenitore in
la più acuta, invece, va da circa 990 Hz (pad più a plastica basso che lasci esposta la fila di pad corri-
sinistra) a 2.400 Hz (pad più a destra) e corrisponde spondenti alle note, da toccare con uno spezzone di
ad RVl cortocircuitato. Nelle posizioni intermedie filo in rame flessibile isolato ~a scoprire alle estre-
del trimmer si ottengono frequenze intermedie, il mità e saldare, da un lato, alla pia~zola STYLUS del
che ci permette, volendolo fare, di slittare la nota circuito stampato. Se volete potete realizzare una
(funzione Pitch Bend) mentre la suoniamo, un po' tastiera composta da otto pulsanti unipolari nor-
come si fa con il distorsore della chitarra. malmente aperti uniti per un capo (da collegare al

~ontatto STYLUS del PCB) e gli estremi liberi, uno
REALIZZAZIONE PRATICA per ciascun pad; i pulsanti devono possibilmente
Bene, spiegato come funziona il circuito, passiamo essere rettangolari, meglio ancora se trovate una
alla costruzione di questo ameno strumento musi- piccola tastiera da riciclare di un vecchio organino
cale, che è alla portata di tutti, sia perché utilizza elettrico o un giocattolo musicale guasto.
esclusivamente componenti elettronici tradizionali I pulsanti andranno posizionati sul pannello su-
e di facile saldatura (senza le complessità e la neces- periore del contenitore, dal quale dovrà spuntare
sità di particolari attrezzature che gli SMD impli- anche la manopola del trimmer; magari aggiungete
cherebbero), sia per l'essenzialità e il basso costo di anche un interruttore di accensione, che colleghe-
realizzazione. rete in serie al filo del polo positivo del portapile in
Per la cornamusa abbiamo pensato a un circuito modo da risparmiare la pila.
stampato, fermo restando che, data la notevole sem-
plicità del circuito, potete tra~quillamente realiz-
zarlo su un pezzo di basetta millefori. In ogni caso,
anche ricorrendo al circuito .stampato, il montaggio
è semplicissimo, perché monofaccia.
.. Comunque se optate per il PCB, potete autoco-
struirlo a partire dalla traccia lato rame che potete Il kit didattico per realizzare la cornamusa elettronica
scaricare dal nostro sito www.elettronicain.it e (cod. MLP1 041T) è disponibile presso Futura Elettro-
stampare su carta da lucido o acetato per attenerne nica al prezzo di Euro 9,00. Il prezzo s·i intende com-
la pellicola utile alla fotoincisione; notate la partico- prensivo di IVA.
lare sagoma della basetta, che richiama quella della
cornamusa, con le sue molteplici canne che escono
dall'otre, tuttavia chi lo desidera può tranquilla-
me~te mantenere la traccia lato rame e applicarla a
una basetta di forma tradizionale, a quadrilatero.

~ ELETTRONICA IN- Dicembre 2018/ Gennaio 2019 33



X: Molto vicino al 30o/o , Vicino al 70% , Lontano allo O%

Verità ~~lto •
VICinO Vicino Lontano •
1 ll
n funzionamento del sistema così descritto è il
l
ll
seguente:
l
l • in base al valore di input si determina il grado
ll
ll
di appartenenza di quel valore alla classe corri-
ll spondente;
o. ~~-----h.
l
l
l • viene esaminata ogni regola e valutato il suo
l
l
l
l grado di verità, il quale diventa un "peso" da
o l
l
l attribuire al valore di output collegato a quella
Ocm Scm ~ 1Scm 3bcm regola; .
• alla fine della valutazione di tutte le regole,
Fig. 1 - Esempio di Fuzzy set. viene calcolata la media pesata dei valori di ou-
tput assegnati ad ogni regola e questo risultato
rappresenta l' output analogico.
la loro presentazione: almeno qualche migliaio di
ripetizioni. In sostanza il sistema Fuzzy divide il complesso
Nell'articolo che abbiamo dedicato ai sensori di in sottoinsiemi che valuta singolarmente in base
distanza (pubblicato nel fascicolo di ottobre 2018), all'associazione fornita dalle regole e poi ne rias-
ma soprattutto in un precedente articolo (Rivista sume il risultato. L'insieme delle classi in cui viene
numero 169), è stato accennato ad un diverso partizionato ogni output si chiama Fuzzy set. In
approccio alla gestione delle grandezze analogi- Fig. l vedete come viene rappresentato, di conse-
che, basato su una logica differente utilizzabile dai guenza, ogni valore di input; ovvero come insieme
computer: la Logica Fuzzy. di appartenenze ad ogni classe. In Fig. Z è invece
Rimandiamo agli articoli succitati chi volesse ap- rappresentato il processo di inferenza delle regole

profondire l'argomento Fuzzy, e riassumiamo qui per la costituzione dei valori di output.
le caratteristiche salienti di questo approccio. Gli inviluppi che determinano le classi si chia-
• L'input analogico viene partizionato in classi: mano funzioni 4i membership e possono avere
per esempio grande distanza, media distanza, diverse forme analitiche, ma in genere sono
piccola distanza. Ogni classe risulta centrata su formati da tratti lineari e si sovrappongono par-
un valore caratteristico con le bande laterali zialmente (come in Figura 1). In questo modo il
decrescenti. sistema Fuzzy finisce per scomporre la funzione
• Le classi dell' output analogico sono rappresen- input->output in combinazioni di tratti lineari.
tate solo da valori caratteristici senza le bande Un sistema Fuzzy, quindi, non va addestrato ma
laterali (Fuzzy Systems in modalità Sugeno, rientra nella programmazione anche se di tipo non
chiamato così grazie studioso che lo ha propo- tradizionale. I sistemi Fuzzy sono utilizzati anche
sto) . nei processori di ridottissimo hardware per fornire
• Un insieme di regole collega classi di input a una risposta più uniforme e "morbida" (Fuzzy) in
conseguenti valori di output (per esempio if varie apparecchiature, sia civili che sia industriali.
sensore 1 = Molto vicino and sensore 2 = Vicino Per utilizzarlo in un hardware limitato, il sistema
then classe-output-C). software deve poter essere configurato in modo
efficiente per eseguire velocemente il processo
di inferenza delle regole. Ne consegue una certa
macchinosità di programmazione, a meno di non
Esempio di esecuzione di regole: in base ai valori di input usare IDE predisposti. Ma in queste pagine vi pro-
Regola 1: if ....................then aut= O. 3 risulta vera al 1O%
Regola 2: if ....................then aut= · 0.1 risulta vera al 50% poniamo un'alternativa che utilizza una variante
Regola 3; if..... then aut= -0~ 3 risulta vara a/30%
r • • • . , . " ' ,•• q .... delle Neural Network classiche e che permette una
Regola 4; if.....................then out= o.·7 risulta vera allo O% rapida descrizione e soprattutto una rapida elabo-
Risultato per l'output effettivo:
razione di un sistema Fuzzy.

/)..
v11~u;
t 2: val*veritù =--------------------
0.3•0.1 - 0. 1*0.5 - 0.3*0.3 +0.7*0
...
UNA RETE NEURALE CHE E UN SISTEMA FUZZV
2: verirà 0..1 +0.5 +03 +0 Le Reti Neurali sono un universo vasto ed in
evoluzione; tra le topologie di reti proposte ce
Fig. 2 - Esempio di inferenza delle regole n'è una che utilizza un tipo di nodi dello strato
e determinazione del/'output hidden diverso da quello classico che effettua la

38 Dicembre 2018 /Gennaio 2019 - ELETTRONICA IN


o. .Nodo
. . . . . . -...c1assico
. . ~~ Nodo RBF
i . . ~ ~
~~ / ~
~~
j ·'
\ \
· - - - - -...... f y
o.Jw1.=x y=f{x) · - •
~-~-----~~ ~ Fig. 3 · Differenti tipi
\\ Att" .
. tvaZtone di nodi delle Neural

Network.

somma pesata degli input. Questo nodo si chiama tri corrispondono alle classi dei fuzzy set. Ma per
Radiai Basis Function (in gergo RBF). In questo caso rendere completa l'analogia occorre definire an-
l'attivazione di ogni nodo è dovuta alla distanza cora due parametri per ogni dimensione di input.
dell'input dal centro del nodo (Fig. 3). Questi due parametri corrispondono alle bande
La funzione di attivazione più utilizzata per i nodi laterali delle funzioni di membership (vedi Fig. 4).
RBF è senza dubbio la Gaussiana: Poiché in ambito Fuzzy l' AND è generalmente as-
sociato alla funzione MIN, l'attivazione è sempli-
-x2
2 cemente il valore minimo fra tutti i valori di verità
J(x )=e s dell'array di input. Più precisamente:

In questa formula s2 è l'ulteriore parametro della


devianza. Lo strato successivo (strato di output) è
invece di tipo classico. In queste condizioni è stato
dimostrato che questo tipo di rete risulta essere il dove:
• migliore approssimatore universale. In genere lo
strato RBF viene addestrato con metodi statistici
sulla base qelle distribuzioni dei valori di input,
a
lasciando la EBP per l'ultimo strato . .Ma ci sono fi=MAX( I- ai*( ci-oJ) if (oi<cJ
situazioni in cui si assegnano i centri dei nodi RBF oc
b
d'autorità e si addestrano solo i pesi di uscita.

La struttura che proponiamo è un'elaborazione fi =MAX (1-bi* (oi-cJ) if(o;>cJ c o
delle reti RBF. Invece di determinare la distanza
totale dell'input dal centro di ogni nodo, consi- Lo strato successivo a questo punto realizzerà la
deriamo ogni nodo come una regola di un siste- somma pesata delle attivazioni. Dove i pesi non
ma Fuzzy. L'attivazione sarà allora l'AND delle saranno altro che i valori delle classi di output:
distanze dalle componenti del centro. In parole
povere:

Attivazione = f 1 (c 1 , o 1) AND f 2( c 2 , o2) AND ...


Benché dalla descrizione, l'utilizzo di questo siste-
ma possa sembrare un po' complicato, in realtà si
dove le f sono le funzioni di membership ed i cen- tratta di utilizzare praticamente la stessa libreria

z
... ,..--· ---
. ...-
-r-
------~ -·
--
._.:.•

Fig.. 4 · Rete che realizza


un Fuzzy system. Strato hìdden strato di uscita

- ELETTRONICA IN - Dicembre 2018 / Gennaio 2019 37


l

--
..... , l.-:':"
..

1
' -~

Listato
-
~ . --~ ;,--
' r '"·
,, lt•· :.... • '
.
.. ( l ''l
' ·!'-·.''.
,,, ;~,.!!
,, •H" o. 1.. .110.:.:.6,,....,.'

• •
• •
• •

: input 2 Il numero degli input (sensori ) .

: output 2 Il numero degli output (moto ri) •




:• l * insieme delle classi per il sensore O ed l *l •


:• inpfuzzys et O L=O . OOO V=0 . 400 VV=0 . 800 Il L: l ontano , V: vic i no , VV : molto vicino •


· inpfuzzyse t l 1=0 . 000 V=0 . 400 VV=0 . 800

Il L: lonta no , V: vicino , VV : molto vicino •

: l* classi per i conseguent i delle regole *l •
.•

:• outclass BO - 0 . 200 - 0 . 800 Il indietro(ba ck) ruotando a de st ra •

:• outclass RD• 0 . 400 - 0 . 400 Il ruota a destra •


:• outclass RS - 0 . 400 0 . 400 Il ruota a sinistra •


:• outclass AM O. 600 O. 600 Il avanti con media ve locità •


· outclass AS l . 000 O. 600 Il avant i piegando a s inistra •

: outclass AD O. 600 l . 000 Il avanti piegando a destra •


:• outclass AV l . 000 l . 000 Il avanti veloce •


:• l* Regole *l •



: if O=VV and l=VV then BO •

• •
: if O=VV and l=V then RD •


: if O=V and l=VV then RS •
.•• •


if O=V an d l=V then AM •

• •
• if O=V an d l =L then AS •

• •
• if O=L an d l =V then AD
• •
• •

.• if O=L an d l=L then AV




• •
• •
• • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • ~ • • • • • • • • • • • • • • • • • • • • p • • • • • • • • • • • • • •

• • • • • • • • • • • • • • • • • • • • • • • • •

Listato 1 • Descrizion e del modello Fuzzy per Ardusumo.

delle reti neurali descritta nel preceden te articolo, transcodi fica per produrre una descrizion e com-
con qualche piccolo cambiam ento nelle descrizion i pleta della rete neurale fuzzy da inserire nello
delle reti. Infatti ora ci sono più parametr i per i sketch per Arduino. Si tenga presente che il valore
nodi hidden. del sensore è inversam ente proporzio nale alla •
Questa volta la rete va inizializz ata completa men- distanza.

te perché non sarà più addestrat a. Il compito di Come si vede dal Listato l, vengono utilizzate
trasforma re degli assunti in logica Fuzzy nella poche parole chiave: "input" e "output" per de-
struttura della rete, potrebbe rivelarsi un po' mac- finire le dimensio ni degli ingressi e delle uscite;
chinoso; per questo abbiamo pensato di fornire "inpfuzzy set" per elencare le classi in cui si voglio-
un programm ino C++ che legge una descrizion e no partizion are gli input (in questo caso sono le
Fuzzy del sistema da implemen tare e scrive su un stesse); "outclass " per definire gli insiemi dei va-
file la descrizion e completa della rete. lori di uscita consegue nti ad una regola (in questo
• caso corrispon dono ai valori PWM normalizz ati da
PILOTARE ARDUSUM O CON LA LOGICA FUZZV applicare ai due motori); infine le regole descritte
Nell'artic olo presentat o in novembre scorso abbia- dalla parola chiave "if" seguita dalle classi in cui
mo usato una Rete Neurale addestrat a per pilotare gli input si devono collocare collegate dalla parola
il rover Ardusum o, distribuit o dalla Futura Elet- chiave "and" e conclusa dalla parola chiave "then"
tronica, il quale dispone, fra le altre cose, di due seguita dalla consegue nte classe di output. Tene-
sensori di distanza posti ad un angolo di circa 30° te presente che carattere minuscol o e maiuscolo
rispetto alla direttrice di marcia e di due motori contano (case-sensitive), e tutto ciò che è preceduto
pilotati in PWM. Il roverè gestito da un Arduino da "l" viene considera to comment o e non è preso
Uno. I sensori danno una risposta analogica inver- in considera zione.
samente proporzio nale alla distanza dell'ostac olo. Dando un file con questa descrizion e al program-
La risposta dei sensori è normaliz zata tra l (con- ma "FuzzyDe fine.exe", quest'ulti mo produce
tatto) e O (campo libero> di 40cm), dal software di un file contenen te la descrizion e operativa della
gestione. Mentre il pilotaggio dei motori è nor- Neural Network Fuzzy, che può essere riportata in
malizzato tra -l (indietro tutta) e +l (avanti tutta). uno sketch Arduino.
L'addestr amento è stato realizzato off-line (su PC),
fornendo un set di esempi prototipa li di risposte LIBRERIA FUZZV NEURAL NETWORK
motorie ad impulsi sensoriali. Nel repositor y https://github.com/open-electronics/
Ve diamo ora come programm are il pilotaggio di NNetFuzz y è presente la versione Fuzzy della Neu-
Ardusum o usando il sistema Fuzzy implemen tato ral Network illustrata nel fascicolo di novembre
mediante la rete Neural Network modificat a. Per scorso; la trovate nel Listato 2 e per distingue rla le
prima cosa descrivia mo la logica Fuzzy utilizzan- abbiamo dato un nome differente: "NNetFu zzy".
do una terminolo gia gestita dal programm ino di Ma in realtà è praticame nte identica (solo nell'uso)

38 Dicembre 2018 / Gennaio 2019 - ELETTRONICA IN



------

all'altra, tuttavia i nodi dello strato hidden devono sole sette regole ha un comportamento un p o' p iù
obbligatoriamente chiamarsi "NodeFuzzy" men- "schematico".
tre quelli dello strato di uscita devono chiamarsi In Fig. 5 è rappresentato il comportamento dei due
"NodeDeFuzz" oppure "NodeDFTnh" se si vuole motori per i vari valori dei sensori del sistema con
costringere l'uscita tra i valori -l e +l, o infine rete neurale, mentre in Fig. 6 l'analoga rappresen-
"NodeDFSig" se si vogliono uscite comprese tra O tazione è relativa al sistema in logica fuzzy.
ed l (a patto che la logica implementata lo consen- La spiegazione del diverso comportamento sta
ta). proprio nella natura dei due processi: il primo,
Nello stesso sito è presente il programma quello relativo al funzionamento con la rete neura-
"FuzzyDefine" nella forma eseguibile (per Win- le, produce una sintesi interpolata degli esempi e
dows) o come sorgente. . quindi presenta una maggiore continuità, mentre
il secondo applica delle regole che, se benché in
CONFRONTO DEl DUE APPROCCI SU ARDSUMO logica sfumata (Fuzzy), sono più definite e quindi
Nel Listato 3 è proposto lo sketch che utilizza la producono una variazione meno uniforme. Uti-
Neural Network Fuzzy, mentre nel Listato 4 è mo- lizzando un maggior numero di regole, il sistema
strato lo sketch presentato nel precedente articolo programmato può diventare più "morbido".
e che usa una normale Neural Network addestra- Questo sistema proposto per implementare un o

ta su un set di 16 esempi per alcune migliaia di sistema a logica Fuzzy è abbastanza efficiente in
ripetizioni. Come si vede, gli sketch sono quasi esecuzione e permette di usare la stessa modalità
identici, ma se andiamo a vedere il loro funziona- operativa del sistema con Neural Network classi-
mento possiamo verificare che la Rete Neurale pro- co presenta, inoltre, delle sue caratteristiche ben
duce un comportamento un po' più "equilibrato", determinate:
mentre quella programmata con logica fuzzy e con • Adotta il paradigma Sugeno e non il più clas-

• .
• o

• • •
• •
: char* netde-f= •


:• "LO 2 " •


:• "11 7 NodeFuzzy " •


: "FCTO 0 . 8 0 . 8" //regola O •



: " FCTl 0 . 8 0 . 4 " //regola l •
• •

• " FCT2 0 . 4 0 . 8 " //regola 2 •

• •


"FCT3 0 . 4 0 . 4 " //regola 3 •

• •


" FCT4 0 . 4 0 . 0 " //regola 4 •




"FCT5 0 . 0 0 . 4 " //regola 5 •


• " FCT6 0 . 0 0 . 0 " //regola 6 '•
• •
: //pendenze sinistre per le c l assi uti l izzate nelle regole •
•'
:• "FWAO 2 . 5 2 . 5 " •

:• "FWAl 2 . 5 2 . 5 " .•


:

"FWA2 2 . 5 2 . 5 " .•

: " FWA 3 2 . 5 2 . 5 " •




: " FWA4 2 . 5 O. l " •


:• " FWA 5 O. l 2 . 5 " •


:• " FWA6 0 . 1 0 . 1 " •


: //pe ndenz e destre per le classi utili zzate nelle regol e •



: " FWB O O. l O. l " •


· " FWB l O. l 2 . 5 " •

• •
·• " FWB2 2 . 5 O. l " •



· " FWB 3 2 . 5 2 . 5 " •


.• " FWB 4 2 . 5 2 . 5 " •


: "FWB5 2 . 5 2 . 5 " •
• •
: " FWB 6 2 . 5 2 . 5 " •


:

"12 2 NodeDFTnh " •


; Il valori del motore O ed l per le 6 regole •


:• "OLWO - 0 . 2 0 . 4 - 0 . 4 0 . 6 1 . 0 0 . 6 1 . 0 " •


: "OLWl -0 . 8 - 0 . 4 0 . 4 0 . 6 0 . 6 1 . 0 1 . 0 " •


• • • •
• l •

; /* da istanziare come al solito */ • •

:• NNfuzzy net (netdef) ;

Il net instance •

• •

. . . . . . . . . ............... . ............... ~ .... . . . . . . . . . . . . . . . . . . . . . . . . , , . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + .. •• •••············•· "t ••·•····· . . ······· ·'" ··"'·······,...,.•
.. l
Listato 2 - Definizione della Fuzzy Neural Network.

• ELETTRONICA IN - Dicembre 2018 /Gennaio 2019 39


.
listato 3 - Sketch con Logica Fuzzy Listato 4 - Sketch con Neural Network

#indude ur JNetfuzzy.h J !/libreria Fuzzy Neural r Jet't'.rork .uin€lude urJFJet.h • Il libreria r eural Network
indude 'ArdsumoLib.h" l/libreria d1 gestione Ardusumo .1Lin€lud e ..Aro su moLi b.h· Il fibre ria d i gestione Ardusum o

float inp[2): l. buffer dei se nsori fio a~ inp[2]: f: buffer dei sensori
ffoat out[2]: Il buffer dei motori floai out[2]; !! buffer dei n1otori

c ar' net def= cha~ netdef=


2 ..
~' LO "L O2 ''
"L17NodeFuzzy · 'L 1 3 rJodeTanh u
··FeTO 0.8 0.8 ' .'HLVvO -1.7421 1.8831 '
'FCT 1 0.8 0.4 ' "H~f\11 -1.2655 -1.2739 l

"FCT 2 0.4 0.8 l 'HL\AJ2 5.57 44 5.5538 '


1
FCT3 0.4 0.4 ' 'L2 2 r~ ode Tanr "
UFCT 4 0.4 0.0 , HOLVVO -1.0792 2.8989 2.8752 l

'FCT 5 0.0 0.4 ' 'OLVV11.0836 3.2336 2.9449 '


'FCT6 0.0 0.0 " •

~· P. ·rAo 2.5 2.5 "


'P/VA1 2.5 2.5 " r\INfuzzynet{netdeO : Il istanza
"AIVA2 2.5 2.5 '
'FWA3 2.5 2.5 .. void setup() {

·'FVVA4 2.5 0.·1 .. Seria . teg in(9·60 O};
I'FVVA5 0.1 2.5 ' setu pPins(};
11
P~/A6 0.1 0.1
1
de a. (2000):
'PllBO 0.1 O.1 " }
'F'f!81 0.1 2.5 Il
\
'FV\l82 2.5 O.1 ' void loopO{
'A/'JB3 2.5 2.5 ' delaJ (50) ; l/ inter t aIlo operativo
HFV\184 2.5 2.5 ., u se net(); •
''FV\/85 2.5 2.5 ' }
.'FW86 2. 5 2 .5 ' •
.. L2 2 NodeDFTnh "
'O LVIO -0.2 0.4 -0.4 O.6 1.0 0.6 1.0 ' oid usenetQ
'OL'/J 1 -0.8 -0.4 0.4 O.6 0.6 1.0 1.0 '' {

in p[O]=ReadlrL(): /l legge il sensore IR sinistro
inp[1]=ReadJ' rR(): Il tegge il senso re IR destro
NNfuzzy net(netdef): l! istanza net fo rw(inp .2 out 2) : Il esecuzione de Ila rete
r'i1oto rL (out[O]): Il applica l uscita al moto re sinistro
oid setup() { fv1otorR(out{1]); Il applica ruscita al motore destro
Seria ~gin ( 96 00): }
setupPin s( ):
deta (200 O);
J

void lo op() {
delaJ(50) : il intetvalfo operativo
usenet()·
1 sori adotta questo modello.
l
• Le funzioni di membership sono lineari e trian-
void usen et() golari (al massimo trapezoidali ma solo agli
{ estremi).
inp[O]==Readlrl(): // legge il sensore IR sinistro • Le funzioni di membership si sovrappongono
inp[1]=R ead l rR(): 1/legg e il se nsore IR de stra
net.forvvQnp 2 out2): l! esecuzione della rete parzialmente (sul centro di ognuna termina la
MotorL (out[O]); !l applica l'uscita al motore sinistro precedente e inizia la successiva).
MotorR(out[1]); il applica l'uscita al moto re destro • Le regole hanno sempre lo stesso numero di
} antecedenti e di conseguenti (input e output).

Fig. 5 - Versione dello scketch per Ardusumo Nel caso di due variabili di input possiamo dare
con NN e con NNfuzzy. una rappresentazione tridimensionale della com-
• binazione delle funzioni di membership in ogni
regola (ovvero la sua attivazione) che risulta così
sico Mamdani (lo studioso che lo ha proposto). rappresentata da una piramide nel grafico.
Ma ciò a poca importanza perché la maggior Vediamo ora cosa ci può entrare in un Arduino
parte delle implementazioni con microproces- Uno. La libreria occupa meno di lO chilobyte

40 Dicembre 2018/ Gennaio 2019 - ELETTRONICA IN



• •


- -

MotDre Sinistro -
MotDredestro - Motore sinistro -
Motore destro

l
0.8 0.8
0.6 0.6
0.4 0.4
0.2
0.2
o
.0.2
o
·0.4 ·0.2
-o.6 ·0.4
-o.8 -o.6
·0.8

o
0.2 O.l o
0.3
0.5 M
6
0.7 0. Sensore sinistro
Sensore destro 0.8 Sensore sinistro
0.9
l Sensore destro
l

Fig. 6 - Pilotaggio di Ardusumo con Neural Netwo rk Fig. 7 - Pilotaggio di Ardusumo con NNfuzz y programmata.
addestrata.

di memo ria di progra mma, quindi molto poco


(circa il25%). Ma lo spazio di lavoro (variabili) è
veram ente limitato su Ardui no Uno. In ogni caso
è possibile creare reti Fuzzy da circa 300 param e-
tri totali (nodi + link). In pratica si può creare al l
0.9
massimo una rete da 4 input 20 regole e 4 output ; 0.8
0.7
oppur e da 2 input, 30 regole e 2 output ; oppur e 0.6
0.5 o
0.4
da 5 input, 14 regole e 5 output ; oppur e ogni altra 0.3
0.2 0.2
combinazione intermedia. E' chiaro ·che con queste 0.1
o •
0.4
dimensioni rimane pochissimo spàzio alle altre

eventu ali variabili del progra mma .
Riguardo ai tempi di esecuzione, si ha una elabo- 0.8
razione della rete (funzione forward) in un tempo l

che va da un minim o inferiore a 2 millisecondi
(per la rete per Ardus umo) ad un massimo di circa Fig. 8 - Attivazione delle regole in base ai valori dei due sensori.
7 millisecondi, secondo le dimensioni della rete.
In conclusione sul sito https://github.com/open-elec-
tronics sono scaricabili due alternative che perme t-
tono di elaborare gli input e gli outpu t analogici di
Arduin o in modo da fargli generare una risposta
anche complessa ma di bassissimo impatt o com-
putazi onale e abbast anza veloce in un hardw are
limitato. Sono sistemi che si possono applicare
ad un'infi nità di applicazioni che spaziano dalla
robotica ai veicoli terrestri o ai velivoli, dai sistemi Il materiale utilizzato in questo proget to è disponibi-
di allarme all'aut omazi one casalinga o industriale. le presso Futura Elettronica. Il robot Ardusumo (cod.
Infatti si tenga presen te che i sistemi Fuzzy pos- ARDU SUMO ) è in vendita al prezzo di Euro 149,00, la
sono essere usati anche come sistemi di controllo board Arduino Uno REV3 (cod. ARDU INOUN OREV 3)
dinamici al posto dei PID (controller Propo rtiona l costa Euro 24,50 e il blister con 4 batteri e alcaline
Integrative Derivative), perché le variabili di in- LR6 AA (cod. LR6-AA-4) è disponibile a Euro 1,50. l
gresso posson o anche rappre sentar e le deriva te (o prezzi si intendono IVA compresa.
più precisamente la velocità di variazione ad ogni
step temporale) delle funzioni da controllare.
Ciò detto, abbiamo concluso e vi rimand iamo al
Futura 21013 Gallarate
prossi mo articolo dedicato all'Intelligenza Artifi-
V.'WW.fUtU rastiop l t
ciale, che esporr à nuovi concetti.

ELETTRONICA IN- Dicembre 2018/ Gennaio 2019 41

l
.,
con .l.


BOARD Utvo
COMPRESA
(PER IL MODELLO ALPHABOT
, LE BOARO RASPBERRY Pl
EARDUI NO NON SONO COMPRESE)
Cod. ALPHABOT Cod. ALPHABOT2

Al habot e Alphabot2 piattaforme robotiche - in kit


AlphaBot eAlphaBot2 sono piattaforme di sviluppo robotiche controllate da Raspberry Pi e Arduino
(ALPHABOT) eArduino (ALPHABOT2). l robot possono essere comandati tramite telecomando (incluso)
o smartphone (iOS o Android). Sono in grado di evitare ostacoli ed inseguire una linea, ma grazie agli
accessori opzionali è possibile aumentarne le funzioni e le prestazioni.

r
\"astaCO\

Futura Group srl


Via Adige, 11 • 21013 Gallarate (VA)
ELETTRONICA ® Tel. 0331/799775

Caratteris~iche tecniche
e vendita on·lme su:
www fu tu ra s h o p it
• •
• •


IL SET LEGO UTILIZZATO


Il progetto che vi proponiamo
è basato sul set LEGO EV3 che
comprende due motori grandi, un
motore medio, un sensore di tocco,
un sensore a infrarossi, un sensore di
colore, un telecomando wireless e un
mattoncino intelligente, un cavo USB,
• sette cavi RJ12 di diverse lunghezze e

oltre 500 pezzi della serie Technic della
LEGO, ossia quelli utilizzati per costruzio-
ni tecniche come veicoli, robot, dproduzio-
ni di macchine ecc.
Esiste anche un'espansione del set base appe-
na descritto, che comprende altri pezzi come
un altro motore (ma grande e quindi più potente)
e altri due sensori. .
La parte più affascinante di questo set LEGO è
veri e propri componenti robotici. rientranti nel con- proprio il mattoncino intelligente (Fig. 1), il quale
cetto RIS (Robotic Invention System), ancor più dal è basato su un processare ARM9 sul quale gira un
2006, quando nacque il mattoncino programmabile sistema operativo con kemel Linux, quindi open
NXT, contenente un microcontrollore in grado di source; possiede una porta USB e uno slot SD; è in
realizzare robot indipendenti attraverso il controllo grado di connettersi via Bluetooth a uno smartpho- •

di sensori e attuatori realizzati dalla stessa LEGO. ne (o tablet) oppure a un Personal Computer; inol-
Le più recenti evoluzioni sono state la Mindstorms tre è dotato anche la connessione WiFi. n micropro-
EV3 (nata nel2013 e protagonista di questo artico- cessore del mattoncino LEGO NXT ha una memoria
lo) e la BOOST (2017), particolarmente dedicata ai Flash EPROM da ben 16 MB e conta su 64 MB di
più piccoli, ossia ad avvicinare i bambini al mondo memoria RAM, espandibile grazie alla possibilità
della robotica. di inserire una SD-Card nell'apposito slot.
Con l'avanzare degli anni possiamo notare quanto
l'azienda danese abbia evoluto il concetto alla base -
COME PUO ESSERE UTILIZZATO?
dei propri mattoncini e di quanto le persone si La caratteristica principale che da sempre con-
siano appassionate a questo nuovo tipo di model- traddistingue i LEGO è che possono essere usati in
lismo, che partendo dal concetto di meccanismi e modi diversi per impieghi differenti. Nel set base,
macchine già realizzabili alcuni decenni fa con la
serie LEGO convenzionale (che potremmo definire
passiva) è approdato all'attualissimo mondo della Fig. 1 - Il mattoncino
robotica educativa. intelligente è il cuore di
ogni realizzazione LEGO
Nei giornali o sui social si sente sempre più parlare
Mindstorms.
di artisti emergenti che creano opere straordinarie
impiegando anche fino a 80.000 mattoncini.
'
L'ultimo grande progetto scaturito dalla mente
degli ingegneri Technic è stato addirittura quello
che ha permesso di realizzare una Bugatti Chiron •

in scala 1:1, propulsa da 2.304 motori elettrici per


costruzioni LEGO, che raggiunge la velocità di 20
km/h! Fantascientifico!
Quindi ci è sembrato più che azzeccato proporvi
un'applicazione di un kit robotico che ci ha permes-
so di mettere in funzione una mano robotica, che
applicata all'avambraccio rileva il movimento delle •

dita e lo replica con le proprie dite meccaniche.

44 Dicembre 2018 /Gennaio 2019 - ELETTRONICA IN


BRACCIO ROBOTICO
Fig. 2 BASATO SU LEGO

X Off Blocco
{) On verde. •
{9 On for Seconds

e On for Degrees

\!) On for Rotations

Mindstorms fornisce cinque personaggi principali


con istruzioni e relativo programma:
• TRACK3R, una macchina dotata di tutti i sensori
e motori che può seguire una linea, evitare di
toccare un muro e grazie alla pinza frontale può
eliminare gli ostacoli;
• SPIK3R, ragno dotato dei tre motori e del sensore
infrarossi, è in grado di camminare su sei zam-
pe e di sparare tre palline al telecomando usato
come bersaglio;
• EV3RSTORM, umanoide dotato di tutti i sensori
e motori, in grado di camminare, parlare e lancia-
re palline; tre motori, è dotato di una pinza posta frontal-
• • R3PTAR, serpente di 30 cm, in grado di riprodur- mente per afferrare gli oggetti .
re fedelmente l'animale, utilizza i tre motori e il
sensore ad infrarossi, quindi se mentre striscia Oltre questi cinque progetti, LEGO ne mette a
trova un ostacolo, apre la bocca per morderlo disposizione sul proprio sito web altri dodici
e torna indietro, poi cambia strada; può essere ufficiali, sempre fornendo istruzioni e programmi,
comandato anche con il telecomando; ma ciò non vieta di costruire un proprio progetto
• GRIPP3R, è la versione più piccola di EV3R- liberamente; dopotutto i LEGO sono fatti per questo,
STORM, possiede solo il sensore a infrarossi e i ossia per dare spazio alla creatività di ognuno.

Pro>drrity

Fig. 3 O'J Bea con Heading Fig. 4


Blocco Blocco

aranctone. o o
Remote giallo.

ELETTRONICA IN- Dicembre 2018 /Gennaio 2019 45


l

Fig. 5
Blocco rosso.


Fig. 6
Blocco blu.

In questo articolo vedrete il set LEGO utilizzato per robotica: come avrete notato, tutte le creazioni con
realizzare un avambraccio esoscheletro, vale a dire Mindstorms EV3 posseggono nel nome un "3" che
una protesi da applicare all'avambraccio per repli- viene letto come "e", quindi per mantenere la tradi-
care i movimenti della mano: il progetto che ne è zione, il nome Cyborgr3 deriva dall'unione tra l'u-
r:tato è stato battezzato Cyborgr3 e tramite i sensori sanza LEGO e il nome del supereroe Cyborg, perchè
di cui è dotato rileva i movimenti della mano e li dopotutto, chi non si sentirebbe come un supereroe
replica con i propri attuatori. indossando un'armatura, anche se per ora si tratta
solo di un arto? L'esoscheletro può infatti

essere
QUANDO NASCE CYBORGR3? cosiderato un amplificatore di forza: qualcosa che
Cyborgr3 è la realizzazione di un sogno dell'autrice amplifica i nostri movimenti e, costruito opportu- •

di questo articolo, che nasce quando la passione namente, può applicare forze notevoli a elementi
per i LEGO incontra il desiderio di voler aiutare il più duri di qu.ello che le mani umane potrebbero
prossimo; la caratteristica di essere una macchina sopportare.
che replica fedelmente i movimenti di una mano
equivale al fatto che, in futuro, possa essere presa in -
DA COSA E COMPOSTA?
considerazione per le protesi vere e proprie di chi Cyborgr3 è formata da 239 pezzi, incastrati tra di
ha perso il movimento dell'avambraccio o ha subito loro nel miglior modo possibile per permettere una
una grave menomazione in quella zona del corpo. buona stabilità quando viene utilizzata. n matton-
Questo concetto è alla base dell'esoscheletro, che è cino centrale è il cervello di questo progetto. Ad
un ausilio applicabile agli arti, capace di rilevare un esso sono collegati, tramite cavi RJ12, un sensore di
movimento abbozzato o solo pensato (esistono pro- tocco e quattro motori e attorno a questi ultimi sono
tesi in grado di rilevare i segnali nei nervi e coman- costruite le dita.
dare con essi il movimento) e realizzarlo tramite L'alimentazione è fornita al braccio da sei pile AA
una serie di attuatori che azionano la protesi. posizionate in serie oppure da una batteria ricarica-
Soluzioni del genere permettono alle persone bile presente solo però, in un set speciale di LEGO
motolese di camminare o anche a chi ha perso Mindstorms.
parzialmente un arto di sostituirlo con una prote-
si robotica; aiuteranno anche gli anziani o chi ha
perso le forze alle gambe (per esempio a causa di
gravi polineuropatie) a camminare, semplicemente
rilevando l'intento e generando il movimento corri-
spondente.
LEGO Mindstorms può costituire la base per la
realizzazione di ottimi ausili, giacché, avendo una
programmazione semplice ed essendo di facile rea-
lizzazione, chiunque può essere in grado di costrui-
re ed avere in casa una protesi robotica.
Prima di procedere vogliamo sciogliere un enigma Fig. 7 · Pulsanti virtuali per la gestione del programma
riguardante l'etimologia del nome dato alla mano dell'applicazione.

46 Dicembre 2018 /Gennaio 2019 - ELETTRONICA IN


SI PROGRAMMA? • Giallo (Fig. 4) : è lo spazio dove è possibile


Il mattoncino intelligente si può connettere all' ap- trovare i blocchi dedicati ai sensori; essi possono
posito programma (tramite computer o tramite l'ap- essere programmati in base a una misura o a un
plicazione dal cellulare) grazie a un cavo miniUSB confronto, e le impostazioni di lontananza, vici-
tipo A oppure tramite Bluetooth; una volta connes- nanza o di stato cambiano da sensore a sensore.
so, il programma rileverà automaticamente quali • Rosso (Fig. 5): è lo spazio dove si trovano i
motori e sensori sono connessi e attraverso quali blocchi per le operazioni o la casualità; vengono
porte di ingresso. Il programma è diviso in sei spazi utilizzati nel caso in cui fosse necessario tiiare a
descritti qui di seguito e distinti per colore. sorte o fare dei calcoli matematici, per esempio si
può richiedere al mattoncino di fare testa o croce
• Verde (Fig. 2): dove si prendono i blocchi dei per decidere chi inizia in un gioco.
motori; ogni motore può funzionare in modo • Blu (Fig. 6): è quello dove si trovano i blocchi

infinito, finito in base ai gradi, ai secondi o alle avanzati; essi comprendono impostazioni di
rotazioni effettuate o può non funzionare (per bluetooth, WiFi, fine del programma, inversione
esempio, una semplice auto, dotata di un motore dei motori o commenti.
A e un motore B, posti rispettivamente a destra e • Azzurro: è lo spazio personale dove si creano i
a sinistra, se dovesse girare a destra il motore B propri blocchi.
dovrebbe funzionare mentre il motore A sareb-
be spento e viceversa), il secondo tasto decide La combinazione di più blocchi permette la
la velocità, mentre il terzo pulsante fornisce le composizione del programma, il quale può essere
rotazioni o i secondi da fare e l'ultimo tasto è per testata sulla costruzione premendo il pulsan-
attivare o disattivare un motore. Inoltre in questi te play in basso a destra nella Fig. 7; una volta
blocchi si possono aggiungere suoni o disegni constatato il funzionamento, il programma deve
emessi dal mattoncino principale. essere scaricato nel mattoncino con l'apposito
• Arancione (Fig. 3): è lo spazio dove si trovano i pulsante a freccia in basso tratteggiata che si trova
blocchi di controllo (inizio, loop, attesa); come in sopra il play (triangolino), così si potrà scollegare
qualsiasi programmazione esiste il ciclo infinito il mattoncino e renderlo operativo autonomamen-
• o finito, in questo caso in base a determinate te, ovvero applicarlo al braccio robotico .
posizioni dei sensori, infatti il blocco con la cles-
sidra serve per ritardare un'azione o eseguire un FUNZIONA
algoritmo solo dopo che un sensore ha compiuto In questo tipo di progetto, la programmazione (nel-
un determinato movimento, come nel caso di la Fig. 8 trovate il programma nell'ambiente grafico
Cyborgr3. di sviluppo basato su Lab VIEW) prevede un loop

LtW MINDSTORMS EV3 Home Edition o x


Edit Tools
hand 2_3.ev3 x
-.f hond 2_3 x +

Fig. 8 · Il programma grafico completo di Cyborgr3.

ELETTRONICA IN - Dicembre 2018/ Gennaio 2019 47


,
.- Stt~ttch 3.0 GUI x + (] x

mAw
c
~ Googt~
a httpsi/beta.scratch.mit.edu
futura eh:ltiOili~• a YouTui.H: .. CMvnloJ:J (Oilvt''lO.ÌO • (011Yt' )(, ISISS Geymonal • argo D MindCI.ib3:-Ed·vlp l Ll MindCub3r for EV3 sabli h~i)~ ~ c++ »
*• :
J\lln Pcefe1iti

ti L<tscl~ un fHdbJck

•e
O'ea un 81òcco

Movitntnto LEGO EV3

h petto


Suono

Slunlonl

Fig. 9 · Pagina del servizio


on-line di Scratch .


'la!Mbi)

Stage
l ... x o t y o
Bl«.'thl


mieto blt
l
O'

Valtgetta

Q Scrivi qui per eseguire la ricerca ~ · . -.. m m ;; w-


\ffJ • o
--
(2j i'- _,., .-, .. r: ,~~~~~~-;)1U ~

generale dentro al quale sono compresi due cicli in senso antiorario, determinando così l'apertura e •

minori, i quali, in base al valore del sensore di tocco la chiusura della mano.
(O se rilasciato, l se premuto), eseguono la rotazione .
dei quattro motori rispettivamente in senso orario e QUALCHE CONSIGLIO
L'arto si può riprodurre seguendo le istruzioni for-
nite. Le misure della parte principale sono standard
mentre la parte dove si trova il sensore di tocco e
quella dove la costruzione si aggancia all' avambrac-
cio hanno una misura personale. Nelle istruzioni,
per esempio, la grandezza è fatta sulla misura di
15 cm per la circonferenza del polso e 19 cm per la
circonferenza del palmo.
La caratteristica più interessante del LEGOEV3 è
che può essere programmato, oltre che con il pro-
gramma apposito, anche grazie a un'estensione di
Scratch online creata appositamente per questo tipo
di programmazione.
Il servizio web di Scratch che realizza tutto ciò è
visualizzato nella Fig. 9, dove vedete la pagina di
accesso.
Fig. 10
CONCLUSIONI
L'app per il
controllo da Ricordiamo che per la gestione del braccio robotico
dispositivo la LEGO ha previsto una specifica app (Fig. 9) da
mobile installare ad esempio su uno smartphone; questa
tramite app permette di colloquiare con il mattoncino intel-
Bluetooth. ligente attraverso la connessione wireless Bluetooth
di cui esso è fornito e di comandare il movimento
del braccio robotico mediante i pulsanti, il joystick e
il cursore virtuali.

48 Dicembre 2018/ Gennaio 2019- ELETTRONICA IN



..- Stldlch 3.0 GUI x + (] x


c a httpsJ/beta.scratch.mit.edu
*• :
mApp G Googt~ futura eh:l\toni~• a YouTuut • [ÀlWIIIOJ:J D COflvt''lO.ÌO ~ (011'/t' ~ ISlSS Geymonat • argo D MmdCvb3:-Ed-vip l Cl MindCub3r for EV3 :!òatni h~a)e ~ c..... » Allu Pcef~riti

~ Codice ., Cos' ffll .Co Suont


Movitntnto LEGO EV3


"'pcmo


Suono

Slunlool
• ••

Conttollo
Fig. 9 · Pagina del servizio
Sensorl
on-line di Scratch.


'laò.\bii

.... x o t y o

•"'

mieto blt


Valtgetta

O Scrivi qui per eseguire 1..1 ricerCil ~

generale dentro al quale sono compresi due cicli in senso antiorario, determinando così l'apertura e •

minori, i quali, in base al valore del sensore di tocco · la chiusura della mano.
(O se rilasciato, l se premuto), eseguono la rotazione .
dei quattro motori rispettivamente in senso orario e QUALCHE CONSIGLIO
L'arto si può riprodurre seguendo le istruzioni for-
nite. Le misure della parte principale sono standard
mentre la parte dove si trova il sensore di tocco e
quella dove la costruzione si aggancia all' avambrac-
cio hanno una misura personale. Nelle istruzioni,
per esempio, la grandezza è fatta sulla misura di
15 cm per la circonferenza del polso e 19 cm per la
circonferenza del palmo.
La caratteristica più interessante del LEGOEV3 è
che può essere programmato, oltre che con il pro-
gramma apposito, anche grazie a un'estensione di
Scratch online creata appositamente per questo tipo
di programmazione.
Il servizio web di Scratch che realizza tutto ciò è
visualizzato nella Fig. 9, dove vedete la pagina di
accesso.
Fig. 10
CONCLUSIONI
L'app per il
controllo da Ricordiamo che per la gestione del braccio robotico
dispositivo la LEGO ha previsto una specifica app (Fig. 9) da
mobile installare ad esempio su uno smartphone; questa
tramite app permette di colloquiare con il mattoncino intel-
Bluetooth. ligente attraverso la connessione wireless Bluetooth
di cui esso è fornito e di comandare il movimento
del braccio robotico mediante i pulsanti, il joystick e
il cursore virtuali.

48 Dicembre 2018 /Gennaio 2019 - ELETTRONICA IN



cod. SET3ASSI

... ....... ...... ... "

o
€ 7s,oo
cod. ELEMANDERll
... ...... ... ... ...............
€ ss,oo

cod. STEPMOT03
...... . . .. .... .. ... ... .. . .. . .. cod. MW14524
... ... ..... .. ... .. .. ... .. ..
€ 18,oo € 24,00

(sono necessari 3 pezzi)

MECCANICA CNC IN KIT


cod. CNC2018
... ... .. ..... ... .. .... .... ...... ... ...
...... ............. ~ ..1. 79,00 .o ••
o
N.B.la confezione non comprende l tre
motori passo-passo (cod. STEPMOT03),
la scheda di controllo (cod. SET3ASSI),
l'elettromandrino (cod. ELEMANOER11 )
e l'alimentatore (cod. MW14524).

-- .

"' ,, -
.- .

- •
• 'r


- ..
-.: ~
- -: :;
- •

- --
• •

• •
.. . -
•••
...... r
c
\. Il.
·"'
~
o

• •
Schema di cablaggio o

FA# SOl SOL# lA lA# SI DO DD# RE RE#

'
l

@
' • o

-- • < "

--
J::llli~

_
o
~~
ti
""'
[~

il
...• - un :a
!

- H l
'
1OX SENSORilASER
(cod. 2850-lASERSENSORJ

•.

'


SCHEDA A RElÉ TTl
(cod. 2846·RElAY1 CHI

ARDUINO UNO REV. 3


+ MI DI SHIElD

l contatti C
o

ed NO del
relé vanno
collegati in
-•
parallelo al
pulsante della
o

macchina del

fumo . -
o


ossia di trigger; (www.futurashop.it) con il codice P AM8403POT.
• lo shield MIDI genera i suoni richiesti quando Ma partiamo spiegando in cosa consistono le corde
riceve il trigger. virtuali, implementate da 10 sensori di passaggio a
laser, ognuno dei quali è un dispositivo LASERSEN-
,.
In mezzo c'è Arduino, il cui compito è triplice: SOR della Futura Elettronica.
• acquisisce gli eventi di trigger dai dispositivi di •

input, vale a dire i sensori laser; IL SENSO RE A LASER •

• sulla base di questi indirizza e comanda lo shield n dispositivo, già descritto nel fascicolo n° 209 (il
MIDI affinché produca i suoni richiesti; progetto era la Barriera a laser), ci permette di rile-
• attiva la macchina del fumo (opzionale). vare il passaggi delle dita perché funziona rilevando •


la presenza e l'attraversamento di un oggetto grazie
Lo shield MIDI produce i suoni disponibili su un alla combinazione di un diodo laser che emette un
connettore jack (per un eventuale amplificatore raggio di luce e di un fototransistor che rileva quella
esterno) e in altoparlante, perché, come spieghere- riflessa (Fig. 1). .
mo tra breve analizzandone lo schema elettrico, a Si tratta di una barriera a laser, ma non di tipo a
bordo abbiamo messo un amplificatore audio stereo interruzione, dove l'oggetto da rilevare non deve •

2x3 watt commercializzato dalla Futura Elettronica passare tra un emettitore e un fotorivelatore, bensì

52 Dicembre 2018 / Gennaio 2019 - ELETTRONICA IN

\
a riflessione: nel nostro circuito, un laser proietta un munizzare nei confronti dei disturbi e della luce
raggio di luce concentrata e collimata all'infinito e nell'ambiente il funzionamento del sensore: infatti
un oggetto che vi passa davanti ne riflette una por- se il laser fosse acceso costantemente, DOUT presen-
zione, che ritornando viene intercettata da una lente terebbe (in caso di luce che arriva sul fototransistor
convergente e concentrata sulla superficie sensibile dopo essere stata riflessa) una tensione influenzabile
di un componente fotosensibile. dalla luce ambiente, dato che il fototransistor potreb-
Questo genere di dispositivo presenta il vantaggio be andare in conduzione costantemente se venisse
di non richiedere il posizionamento a distanza di un illuminato a sufficienza o colpito da altre radiazioni
sensore, con l'inevitabile cablaggio richiesto, ma di luminose comprese nel suo spettro di sensibilità.
concentrare tutta in un punto l'elettronica richiesta, Invece emettendo degli impulsi luminosi a una certa
risultando così l'ideale per sistemi mobili come i frequenza possiamo, adottando un modulo ricevi-
robot su ruote o cingoli, ma anche per simulare la tore dotato di filtro, fare in modo che rilevi solo essi,
corda di uno strumento musicale, che non vibra ma scartando componenti luminose continue.
semplicemente rivela il contatto. Così è nella nostra n circuito del sensore laser si alimenta con una
tecno-arpa. tensione che può essere compresa fra 2,5 e 12 Vcc,
La distanza di rilevamento tipica è di 80 cm ma si grazie alla presenza di un regolatore switching inte-
può arrivare a un massimo di 1,5 metri ed anche grato basato sull'integrato PT1301.
questo fattore ha giocato a favore della realizzazione
dell'arpa, perché ci ha permesso di realizzare un LO SHIELD MIDI
telaio abbastanza grande da somigliare a un'arpa Passiamo adesso al cuore dello strumento musica-
vera; la distanza di rilevamento dipende comunque le, che è uno shield basato sull'integrato VS1053B
da quanta luce riflette la superficie del corpo da rile- della VLSI, già utilizzato in altri progetti in passa-
vare, ossia da quello che passiamo tra le corde. to e capace di generare un certo numero di note
Il circuito elettronico impiega un laser come tra- musicali sintetizzando i suoni di una gran quantità
smettitore e un modulo optoelettronico basato su di strumenti musicali sia melodici (tra cui l'arpa e
fototransistor come ricevitore. n fascio emesso dal l'organo) sia a percussione, dietro comandi impartiti
trasmettitore si riflette sulla superficie posta di fron- da un canale dati; i comandi accettati possono essere
• te e colpisce la lente (che serve a concentrare la luce di vari formati, compreso il popolare MIDI, che è lo
riflessa sul fototransistor) del ricevitore, mandando standard utilizzato da decenni per interfacciare al
in conduzione il fototransistor. Il ricevitore rileva PC sintetizzatori musicali e tastiere elettroniche.
solo la luce rossa riflessa ed emessa dal diodo laser, Partiamo analizzando lo schema elettrico del circui-
aggirando i disturbi da altre fonti luminose. to, che trovate in queste pagine.
n diodo laser è un piccolo puntatore (cioè un ll tutto ruota intorno all'integrato U1, che è il nostro
componente che integra un diodo laser raffreddato VS1053B; quest'ultimo è insieme un CODEC/ deco-
dall'apposito involucro in alluminio, un regolatore der multistandard (contiene codici e memoria dati
di corrente e una lente collimatrice); il laser viene per i coclee Ogg Vorbis, MP3, AAC, WMA e W AV
alimentato attraverso un transistor pilotato da un
segnale rettangolare a 180 kHz.
Gli impulsi di luce vengono inviati frontalmente e
quando colpiscono un oggetto la cui superficie ne
riflette almeno una parte, tornano al circuito, dove
parte di essi investe la lente del fototransistor, che li
fa convergere sulla giunzione esposta.
Quando il fototransistor viene colpito dalla luce
l'uscita DOUT (pin 3) della scheda commuta da Oa
1logico, mentre lo stesso contatto, in assenza di luce,
assume lo Ologico. Tale linea viene letta da Arduino
per rilevare la presenza del dito o della mano sulla
n
corda virtuale. LED rosso presente sulla scheda
ripete, invertito, lo stato dell'uscita omonima. Fig. 1
Notate adesso che la scelta di pilotare il diodo laser Il sensore laser utilizzato:
con una forma d'onda rettangolare invece che con ce n'è uno per ciascuna
nota suonata.
un segnale continuo, nasce dalla necessità di im-

ELETTRONICA IN - Dicembre 2018 /Gennaio 2019 53


+SV +3V3 +3V3 +1VB +1VB +SV


ARDUINO
sv IN OUT IN OUT
U3 U2
C3 C4 Cl + C13 C2 + C6
GND • GND GND 4
vcc
U4
l l l 7
OL +-------< +
RST 3 6 OUTL
. - - - - - - - - 1 1 IL OL- -------< -
1 8
r - - - - - - - 1 IR OR+-------< +
+3V3 +1V8 +1V8 2 9 OUTR
..---41 IG OR- -
5,7,24,31 i

GND
CVDO
38 6 5
AVDDl IOVl ~
43 14 l l
AVD02 IOV2
45 19
R5 R2 R10 AVDD3 IOV3 __,
32 42 AUDIO
TEST
JRX ..__ _ _34_ GPIOl 39
03 ~
R13 26 R 46
o---o >---' -~ ~-------1 RX
L9
JRST GPI02------.
D'+ r"\
R14 3 10
o---o )---1\ \ r - - - e - - - - - - - - - RST GPI03 ~
JTX 11 R7 R6 R9
GPI06~
02 ~
R8 27 12
o---o J--1 - - - - - - - - - - - - 1 TX GPI07 ~ C11 C10

U1 R3
R12
GPI04-
\
GPIOS l

~ GPIOO

C9 44
- RCAP
• •
4
• ~----- DGN01
16
~----- DGND2 18 C7

Rl
~----- OGNOS
35 17
~----- OGN06 X2 ~ ~-~ ~

AGNO
37,40,41,47
l , l

PCM+ADPCM audio decoding) ed un completo ming di dati a un altro dispositivo esterno o da esso.
sintetizzatore MIDI standard. Grazie a plug-in Delle due, quella configurabile per funzionare in
software, il chip può anche realizzare la decodifica modalità seriale TTL o SPI è la SCI, cioè l'interfaccia
lossless FLAC bene come quella di una registrazione di controllo.
high-quality in formato Ogg Vorbis. nsintetizzatore di suoni integrato è basato su un
Il tutto si avvale, per la comunicazione con il DSP (Digitai Signal Processar) proprietario VLSI,
dispositivo host (il microcontrollore che governa il chiamato il VS_DSP. I suoni sintetizzati vengono
sintetizzatore) di un'interfaccia seriale, configurabile convertiti da un DAC stereo multi-rate, alla cui usci-
anche in modalità SPI-bus. In realtà il VS1053B inte- ta si trova uno stadio preamplificatore audio e filtro
gra un complesso di interfaccia seriale che conta due d'uscita stereo.
interfacce: una di controllo (SCI=Serial Command L'integrato supporta anche la codifica audio PCM/
Interface) che serve per comandare il funzionamen- ADPCM, utilizzando come stadio d'ingresso un
to del chip e che nel nostro caso è quella attraverso amplificatore microfonico (per chi desidera utiliz-
la quale Arduino (ma potrebbe farlo qualsiasi micro- zare un microfono) o prelevando il segnale da un
controllore ... ) impartisce i propri comandi ed una di ingresso di linea e inviandolo a un A/D converter
trasferimento dati (SDI=Serial Data Interface) grazie stereo. Nello schema vediamo che Arduino gestisce
alla quale il VS1053B può trasferire o acquisire strea- il VS1053B attraverso la porta seriale utilizzata come

54 Dicembre 2018/ Gennaio 2019- ELETTRONICA IN


'

UART, che nell'Ul fa capo ai pin 26 (RX) e 27 (TX) modulo amplificatore P AM8043, mentre al resto
connessi rispettivamente ai pin digitali D3 e D2 di provvedono i regolatori lineari LDO U2 (MIC5504-
Arduino; quest'ultima gestisce anche il reset dell'Ul, 1.8YM5-TR) ed U3: quest'ultimo (è un MIC5504-
tramite D4, così da predisporlo a ricevere i comandi. 3.3YM5-TR) ricava, partendo dai 5 volt prelevati da
Le tre linee in questione sono dotate di pull-up sul Arduino, una tensione di 3,3 volt con cui alimentare
lato del VS1053 e vengono comandate dai pin di Ar- i piedini dell'alimentazione analogica del VS1053
duino tramite resistori in serie; tre jumper GRX, JTX (AVDDl, A VDD2 e A VDD3) e U2, il quale dai 3,3V
e JRST) sul circuito stampato dello shield consento- ricava gli 1,8V che occorrono al funzionamento del
no di sconnetterle all'occorrenza, per esempio se si core dell'Ul, sui piedini CVDD (core VDD) e IOVl,
opta per una differente forma di controllo, come ad IOV2, IOV3. I condensatori sulle linee di alimen-
esempio la SPI. tazione filtrano le relative tensioni da disturbi ed
In ogni caso le linee sono tre anche per consentire eventuale ripple.
l'interfacciamento su SPI, giacché una fa da canale L'integrato VS1053B dispone di un'uscita audio
dati, una da reset e l'altra da clock; basta scrivere stereo localizzata sui pin 39 (canale R) e 46 (canale L)
opportunamente il firmware. riferiti al comune pin 42 (GBUF) che non è collega-
Lo shield prende alimentazione da Arduino attra- to alla massa analogica, ma anch'esso accoppiato,
verso il pin 5V e la GND; con i 5 volt funziona il come le linee di segnale, tramite reti R/C.

[piano di m ntaggio







••




Elenco Componenti:
•.
••


U4


• R1: 1 M ohm (0603)
•• JRST JTX
••
••
.•
••
R2 + R5: 100 kohm (0603)
R6, R7: 22 oh m (0603)
ODO JRX



• •• R8: 1 kohm (0603)
C
O


••
••

R9: 22 oh m (0603) l
••



•• R1 O+ R12: 100 kohm (0603) 1 oo •
••

• 3 oo ••
••


R13, R14:1 kohm (0603) 5o o •
••
••
• c ••
••
••

C1 +C5: 100 nF ceramico (0603) a: g ••
••
•• <

.•• C6: 100 JlF 6,3 VL elettrolitico (0 4mm) c
l


••
c •
••
C7, CB: 22 pF ceramico (0603) -i ••
• r ••
•• •

.• + ••


C9: 1 JlF ceramico (0603) •••
•• + •

•• C1 O, C11: 1O nF ceramico (0603) c
c
••
••

• -i


••


C12:47 nF ceramico (0603) :::0
••
••
.

• C13: 100 JlF 6,3 VL elettrolitico (0 4mm)

••
.•
•• ••
••


• RST: M icroswitch •



•• ••
.



U1:VS1053B •
••
•• ••

• U2: MIC5504-1.8YM5-TR .

••
•• •
••
••

U3: MIC5504-3.3YM5-TR ••
••
• ••
••
•• U4: Modulo amplificatore PAM8403 ••

•• ••
••
••
SPK:Presa Jack 3.5mm .•


• ••

••

• Q1: Quarzo 12.288 MHz •
••

• •

• •
• ••
••
• .
••
•• Varie: •



•• ••

•• - Morsetto 2 vie passo 5mm (2 pz.) ••

••
•••
••
• Pin Strip Ardui no 6 vie •••
••
• .• Pin Strip Ardui no 8 vie (2 pz.) •
.••
..•• •


•.
• Pin Strip Ardui no 1O vie •

••
• •
•.


Pin Strip Arduino 2x3 vie ••
.
••



.•
• Circu ito stampato 81414 (69x55 mm) •
••


• •
•• •


•• ••
• •

• •
• ••

• •
~· ········ ····· · · ······ ·· ··· · ··· · ·· · ···················· · ··· ·· ················· ··· · ··· ······ ····· ··· · · ··~·· ··· ················ ············· ········· · ·· ·············· ··· · · ··············· ······ ····· ···· ····· · ········ ···· ···················· ·

ELETTRONICA IN- Dicembre 2018 /Gennaio 2019 55


l

Tabella 1
Le note generate dal sintetizzatore integrato nel VS1053B.

Fig. 2
Il re/è a
comando ITL.

Le uscite dell'Ul audio raggiungono una presa jack


stereo da circuito stampato cui è possibile collegare
una cuffia, giacché le stesse fanno capo a un am-
plificatore BF di piccola potenza con uscite a bassa
impedenza. analogici, li abbiamo assegnati come digitali, es-
. Le stesse linee R ed L raggiungono gli input del mo- sendoci questa possibilità e non avendo, altrimenti,
dulo amplificatore U4, che eleva il livello del segnale abbastanza pin digit~li.

quanto basta a pilotare una coppia di altoparlanti n pin smoke (pin 7 di Arduino) è l'unico impostato
da 3 watt e 4 ohm d'impedenza ciascuno; il modulo come uscita, dovendo attivare il relè della macchina
U4 è il P AM8403, basato sull'omonimo integrato già del fumo. La prima nota in ordine di frequenza e
dotato di tutti i componenti esterni di cui necessita e quindi, se ci trovassimo sulla tastiera di un piano- •

del potenziometro per il controllo del volume. forte, partendo da sinistra, è quella correlata con il
L'integrato VS1053B funziona sincronizzato dal pin digitale 6 e la più acuta è quella relativa all'input
proprio oscillatore interno, che per la temporizza- analogico 4. Quindi la sequenza delle note eseguibili
zione si basa sul quarzo da 12,88 MHz collegato tra i è Fa#, Sol, Sol#, La, La#, Si, Do, Do#, Re e Re# dell' ot-
piedini 17 (Xl) e 18 (X2). tava superiore; se volete conoscere la corrispon-
Nello schema, notate il pulsante RST, collegato alla denza con tutte le note eseguibili dal sintetizzatore
linea di reset degli header è utile a replicare quello di integrato nel VS1053B consultate la Tabella l.
Arduino quando la board viene coperta dallo shield. Ogni volta che Arduino rileva il livello logico alto
su una delle predette linee, costruisce la stringa di
COME FUNZIONA comando seriale del sintetizzatore contenuto nel
Vediamo adesso come funziona l'insieme, premet- VS1053B e la invia all'integrato, il quale produce la
tendo che ad ogni sensore laser corrisponde una nota desiderata, con il registro (strumento) impo-
nota suonata e che i sensori vengono letti ciascuno stato nel comando stesso; nel nostro caso il registro
da una linea di Arduino, secondo queste imposta- è fissato nello sketch ed è lo stesso per tutte e lO le
• • •
ZlOru: note. Lo strumento riprodotto è il 9 del banco GMl
(Celesta) come si evince dalla Tabella 2.
pinMode (smoke , OUTPUT) ; Per quanto riguarda la macchina del fumo, ne
pinMode(6 , INPUT) ; abbiamo modificata una di quelle reperibili dalla
pinMode(S , INPUT) ; Futura Elettronica (cod. HQSMlOOOl) collegando in
pinMode(8 , INPUT) ; parallelo al pulsante di comando del getto di fumo
pinMode(9 , INPUT) ; lo scambio di un relè su breakout board, pilotato ~al
pinMode(lO , INPUT) ; pin 7 digitale di Arduino. L'uscita si attiva (porta a
pinMode(ll , INPUT) ; livello logico alto) per 400 ms e poi viene inibita per
pinMode(12 , INPUT) ; 10 secondi, in modo da evitare di saturare l' ambien-
p inMode(13 , INPUT) ; te nel caso si suonino note continuativamente .
pinMode(AS , INPUT) ; I tempi possono essere cambiati a piacimento dallo
pi nMode (A4 , IN PUT); sketch. Il modulo relé è del tipo ad l canale con
comando TTL ed è il RELAYlCH della Futura Elet-
I pin A4 e AS di Arduino, pur essendo nativamente tronica.

58 Dicembre 2018 / Gennaio 2019 - ELETTRONICA IN



• Ox62,0x63,0x64,0x65: NRPN and RPN selects


• Ox78: ali sound off
• Ox79: reset ali controllers
• Ox7b, Ox7c, Ox7d: ali notes off

I parametri permettono di stabilire il funzionamento


del sintetizzatore, vale a dire lo strumento (registro)
da suonare e di quale banco, l'eventuale applicazio-
ne di effetti come il sustain, il range del pitch bend
se utilizzato, ecc.
Infine vale la pena di evidenziare una particolarità
del VS1053B, riguardante lo stadio di uscita per la
cuffia, nel quale è implementata una parametriz-
zazione dell'elaborazione audio in quattro moda-
lità selezionabili; il tutto allo scopo di restituire la
spazialità che nell'ascolto in cuffia tipicamente non
Dettaglio si ottiene.
di una delle spalle del Le quattro modalità applicabili sono:
telaio, con all'interno le
• Off: nessuna correzione della spazialità, utile se
"mensole" cui fissare i
sensori a laser.
si ascolta l'audio in altoparlante, giacché il suono
Le dimensioni del telaio nello spazio circostante acquisisce spazialità di
sono: 127x82x8,5 cm suo; tale modalità si applica anche nell'ascolto in
(LxHxP). cuffia se l'audio che deve essere riprodotto deriva '

non dal sintetizzatore ma dal decoder e contiene



già una preprocessing binaurale;
• minima[: pensato per l'ascolto in cuffia di brani
Lo schema di cablaggio mostrato in queste pagine caratterizzati da pochi strumenti e da una minima
' spiega bene come si devono interconnettere gli ele- correzione spaziale;
menti del circuito .

• norma[: adatta all'ascolto di brani in cuffia spo-
Per quanto riguarda il formato dei comandi diretti stando la sorgente audio percepita in maniera
da Arduino al VS1053B,la stringa di impostazione minima da un padiglione all'altro; •

del sintetizzatore è di questo tipo: • extreme: adatta alla riproduzione di registrazioni


vecchie o asciutte, oppure quando l'audio ripro-
• Ox51: set tempo dotto è quello generato dal sintetizzatore MIDI.
• Ox01: master volume
• Ox80: note off
• Ox90: note on
• OxcO: program
• OxeO: pitch wheel
• OxbO: parameter channel message
• OxOO: bank select (O is default, Ox78 and Ox7f is
drums, Ox79 melodie)
• Ox06: RPN MSB: O= bend range,
2 = coarse tune
• Ox07: channel volume
• OxOa: pan contro[
• OxOb: expression (changes volume)
• OxOc: effect contro[ l (sets global reverb •

decay)
• Ox26: RPN LSB: O= bend range
In primo piano la camera nella quale
• Ox40: holdl il tubo corrugato porta il fumo.
• Ox42: sustenuto
• Ox5b effects level (channel reverb level)

ELETTRONICA IN - Dicembre 2018 /Gennaio 2019 57


. •

Tabella 2
l registri del banco di strumenti GM1 (strumenti melodici).
VS10S3b Melodie lnstruments (GM1) il rischio di unione di pin adiacenti ad opera dello
1 Acoustlc Grand Piano 33 Acoustlc Bass 65 Soprano Sax 97 Rain (FX 1)
2 Bright Acoustie Piano 34 Electric Bass (finger) 66 Alto Sax 98 Sound Track (FX 2) stagno.
3 Electric Grand Piano 35 Electrlc Bass (pick) 67 Tener Sax 99 Crystal (FX 3)
4 Honky-tonk Piano 36 FreUess Bass 68 Baritone Sax 100 Atmosphere (FX 4) Procedete con i componenti passivi, rispettando la
5 Electric Piano 1 37 Slap Bass 1 69 Oboe 101 Brightness (FX 5)
6 Electric Plano 2 38 Slap Bass 2 70 Engllsh Horn 102 Gobllns FX6) polarità indicata per gli elettrolitici, poi con i due
7 Harpslchord 39 Synth Bass 1 71 Bassoon 103 Echoes :Fx 7)
8 Clavi 40 Synth Bass 2 72 Clarlnet 104 Scl-fi (FX 8) regolatori integrati ed il pulsante di reset; sistemate
9 Celesta 41 Violln 73 Piccolo 105 Sitar
1oGlockensplel 42 Viola 74 Fiuta 106 Banjo
poi la presa jack 3,5 mm stereo da circuito stampato,
11 Muslc Box
12 Vìbraphone
43 Celio
44 Contrabass
75 Recorder
76 Pan Flute
107 Shamisen
108 Koto
i pin strip degli header Arduino, le due morsettiere
13 Marlmba
14 Xylophone
45 Tremolo Strings
46 Pizzicato Strlngs
77 Blown Bottle
78 Shakuhachl
109 Kalimba
110 Bag Pipe
per connettere gli altoparlanti e, infine, il modulo
15 Tubular Bells 47 Orchestrai Harp 79 Whistle 111 Fiddle PAM8403, che collegherete al PCB mediante tanti
16 Dulcimer 48 Timpani 80 Ocarina 112 Shanai
17 Drawbar Organ 49 String Ensembles 1 81 Square Lead (Lead 1) 113 Tinkle Beli spezzoni di filo quante sono le piazzole corrispon-
18 Pircusslve Organ 50 Strrng Ensembles 2 82 Saw Lead (Lead) 114 Agogo
19 Rock Organ 51 Synth Strings 1 83 Calliope Lead (Lead 3) 115 Pltched Percussion denti.
20 Church Organ 52 Synth Strings 2 84 Chltf Lead (lead 4} 116 Woodblock
21 Reed Organ 53 Choir Aahs 85 Charang Lead (Lead 5) 117 Talko Drum Per l'esattezza, inserite e saldate dei corti spezzoni
22 Accordlon 54 Volce Oohs 86 Volce Lead (Lead 6) 118 Melodie Tom
23 Harmonica 55 Synth Volce 87 Afths Lead (Lead 7) 119 Synth Drum di filo in rame da l mm circa di diametro nelle piaz-
24 Tango Accordion 56 Orchestra Hit 88 Bass + Lead (Lead 8) 120 Reverse Cymbal
25 Acoustto Gultar (nyton} 57 Trumpet 89 New Age Pad 1) 121 Guitar Fret Nolse
zole dello shield riservate al modulo P AM8403 e poi,
26 Acoustlc Guitar (steel)
27 Electrlc Gultar (jazz)
56 Trombone 90 Warm Pac (Pad 2) 122 Breath Nolse tenendoli ben dritti, infilateli nei fori delle piazzo-
59 Tuba 91 Polysynth (Pad 3) 123 Seashore
28 Electrlc Guttar (clean) 60 Muted Trumpet 92 Choir (Pad 4) 124 Blrd Tweet le corrispondenti sul modulo, facendo scendere
29 Electric Gultar (muted) 61 French Horn 93 Bowed (Pad 5) 125 Telephone Rlng
30 OVerdriven Gultar 62 Brass Section 94 Metalllc (Pad 6) 126 Helioopter quest'ultimo fino ad appoggiarsi al circuito stam- .
31 Dlstortlon Guitar 63 Synth Brass 1 95 Halo (Pad 7} 127 Apptause
32 Gultar Harmonics 64 Synth Brass 2 96 Sweep (Pad 8) 128 Gunshot pato e stagnando poi le piazzole, tagliando infine
l'eccedenza dei fili. Preparato lo shield e verificato
(con l'aiuto della lente d'ingrandimento) che non vi
REALIZZAZIONE PRATICA siano cortocircuiti causati da "baffi" di stagno né
Bene, passiamo adesso alle note costruttive, ini- componenti fuori posto, potete innestarlo su Ardui-
• ziando dalla preparazione dello shield, del quale in no e iniziare il cablaggio dell'elettronica seguendo il
,
queste pagine trovate il piano di montaggio; il circu- disegno di queste pagine.
ito stampato da realizzare è a doppia ramatura e la Per quanto riguarda la parte meccanica, siete liberi
componentistica richiesta è quasi tutta SMD, ragion di realizzarla carpe vi pare, rammentando però che
per cui occorre disporre di un minimo di attrezza- i sensori laser devono essere disposti in verticale (in
tura per poter compiere le saldature del caso, vale a alto o in basso) e chiaramente puntati verso l'interno
dire un saldatore con punta molto fine, una pinzetta del telaio; l'intento è realizzare delle corde virtuali
per posizionare gli elementi, della pasta flussante e perfettamente verticali. Come telaio potete utilizzare
del filo di lega saldante da 0,5 mm di diametro, una quello da noi proposto ma nulla vi vieta di costruire
lente d'ingrandimento e della trecciola dissaldante un telaio in compensato opportunamente ritaglia-
per rimuovere eventuali eccedenze di stagno. to. In ogni caso conviene realizzare una struttura
.. Partite con il circuito stampato, ottenibile per fo- che sul perimetro interno sia scavata o cava così da
toincisione utilizzando allo scopo le tracce lato rame poterei collocare i lO sensori laser che realizzeranno
scaricabili dal nostro sito www.elettronicain.it; inciso le corde virtuali; per questo il nostro telaio è fatto da
e forato il PCB, posizionate e saldate i componenti due fianchi in plexiglass uniti da traverse anch'esse
partendo dal VS1053B, che dovrete porre ben cen- in plexiglass.
trato sulle rispettive piazzole, stagnandone poi un Come già spiegato, la generazione del fumo è
contatto per lato in modo da fissarlo e procedendo opzionale, ma se la desiderate, il nostro consiglio è
alla saldatura di un pin alla volta per ciascun inserire sul lato dritto del telaio un tubo forato i cui
lato, allo scopo di non surriscaldare il compo- fori siano affacciati all'interno, poi chiuso in alto e
nente. Consigliamo di spalmare con della aperto in basso per connetterlo con un tubo flessibi-
pasta flussante le piazzole, allo scopo di le all'ugello di uscita della macchina del
facilitare la saldatura e minimizzare fumo. Nel prototipo abbiamo usato
una guaina per cavi elettrici
che si introduce in una ca-
mera ricavata nella spalla
dell'arpa.

IL FIRMWARE
Bene, completiamo la de-
scrizione dell'arpa laser

58 Dicembre 2018 /Gennaio 2019 - ELETTRONICA IN

,

• •
• •

:• voi d readTouchinputs () •

• { •
• •
• •
• •
• •
• •

• touchStates[1]= !digita1Read(6 ); •

• •


touchStates[2]= !digita1Read(5) ; •


• touchStates[3]= !digita1Read(8) ; •





touchStates[4]= !digita1Read(9) ; •



• touchStates[5]= !digita1Read(10) ; •

• •


touchStates[6]= !digita1Read(11) ; •

• •


touchStates[7]= !digita1Read(12) ; •




touchStates[8]= !digita1Read(13) ; •



• touchStates[9]= !digita1Read(A5) ; •

• •

• touchStates[10]=!dig italRead(A4) ; •
••

• •
• •
• ••
.
• •

• •
• •

• for (int i=1 ; i<1 Q; i++) •

• •


{ •

• •


Serial . print (touchStates[i]) ; •

• •
) •
• •



Serial . println() ; •


• ) •
• •
• •
• •
• •

: voi d Play ()



• •
• { •
• •

• int note=30 ; •

• •
• •
• •
• •


for (int i=1 ; i<10 ; i++) •

• •
• { •
• •
• •


if ((touchStates[i]==1) && (touchPres[i]==false )) •

• { •
• •
• •

• noteOn(O , note , 127) ; •

con l'analisi del firmware, scaricabile dal nostro sito •




touchPres[i]=true ;



www.elettronicain.it; di esso, nel Listato l riportiamo •




//ho premuto una corda •




• if (fumoinib==O) { •
la parte di sketch che associa le note alle "corde" •

•• timefumoon=millis() ;




toccate. •


fumoinib=1 ; •


} •
Dopo l'assegnazione dei pin di l/O, si imposta lo •





• •
strumento desiderato con l'istruzione: •


) •


• •
• if ( (touchStates[i]==O) && (touchPres[i]==true) ) •

• •


{ •

const int STRUMENT01=9 ; •
• noteOff(O , note , 127) ;


• •
• •


touchPres[ i ]=false ; •

• ) •
•• •
Chi volesse potrà modificare lq_ strumento inter- •
• note++ ;




venendo in questa area del codice. Abbiamo poi la •



} •


delay(100 ); •
porzione di sketch che riguarda l'impostazione della •

:• }


comunicazione seriale per il controllo da parte di •









Arduino dove potete notare che la velocità di comu- •• • ••• • •• •••• ••• •••• • •• • • • • • • • • •• •• •• • • • • •••• • •• • •• • • • •••• • • • • • • •• • • • • • •• • • • • • ••• • ••

nicazione è impostata in 31.250 bps:

#if USE- SERIAL- MIDI sendMIDI (cmd) ;



midiSerial . begin(31250) ; //Some commands only have one data byte .
#endif if ( (cmd & OxFO) <= OxBO l l (cmd & OxFO) >= OxEO) {
sendMIDI (da t a1 );
E veniamo alla parte dello sketch riguardante il sendMIDI(data2) ;
comando finalizzato alla generazione delle note, che l else {
è la seguente: sendMIDI(data1) ;
}

void talkMIDI(byte cmd , byte data1 , byte data2) {



#if USE - SPI - MIDI
#if USE - SPI MIDI
-
digitalWrite(VS XDCS , HIGH) ;
Il Wait for chip to be ready #endif
while ( !digitalRead(VS DREQ)) )


' •
digitalWrite(VS_XDCS , LOW) ; //Send aMIDI note - on message .
#endif //Like pressing a piano key

ELETTRONICA IN - Dicembre 2018 /Gennaio 2019 59

l

-
Disposizione dei sensori laser a riflessione nella parte cava del telaio dell'arpa:
sono distanziati quanto devono essere distanti l'una dall'altra le corde virtuali luminose.
l sensori vanno collegati in modo che quello su/lato più lungo del telaio corrisponda alla
nota più grave (1/06 di Arduino) e quello su/lato corto al pin A4.

//channel ranges frorn 0- 15 quindi se a commutare è touchStates[S] il parametro


void noteOn(byte channel , byte note , note vale 30+4, quindi viene eseguita la nota 34. Insie-
byte attack_velocity) { me all'esecuzione della nota parte l'attivazione della
talkMIDI( (0x90 l channel) , note , attack_velocity) ; macchina del fumo. Naturalmente chi se la sente può
} modificare i vari parametri in modo da disattivare il
comando della macchina del fumo (basta mettere a
//Send aMIDI note- off rnessage . zero int timespruzzo) personalizzare le note e, volendo,
//Like releasing a piano key modificare il suono dello strumento.
,
void noteOff(byte channel , byte note , Bene, ciò detto abbiamo concluso: non ci resta che au-

byte release_velocity) { gurarvi buon lavoro e soprattutto buon divertimento
talkMIDI( (Ox80 l channel) , note , release_velocity) ; con la vostra arpa digitale con la quale stupirete chi
} vedrà suonarla.

I comandi, come vedete, impostano la nota, il registro,


il tempo, le modalità di attack e decay (progressione
del suono e decadimento) e via di seguito, inviando
poi al MIDI la stringa di comando corrispondente.
Per quanto riguarda il comando della macchina del
fumo, i parametri sono i seguenti: l componenti utilizzati per realizzare que-
sto progetto sono disponibili presso Futura
unsigned long tirnefurnoon=O ; Elettronica. La board Arduino UNO REV3
int tirnespruzzo=400 ;
(cod. ARDUINOUNOREV3) è in vendita a Euro
int tirnefurnoinib=lOOOO ;
24,50, lo shield musicale (cod. FT1414) è dispo-
l

boolean furnoinib=O ;
nibile a Euro 19,00, il micro amplificatore 3+3 W
unsigned l ong tirnestartinib=O ;
(cod. PAM8403POT) costa Euro 6,50, la scheda
con sensore laser (cod. LASERSENSOR) è di-
Qui vediamo che il comando al relé che chiuderà in sponibile a Euro14,80. Il modulo a 1 relè 5 VDC l
cortocircuito il pulsante di comando della macchina 1O A (cod. RELAY1 CH) costa Euro 5,00, l'alto-
dura 0,4 secondi, cui seguirà un tempo di inibizione di parlante 4 Ohm l 3 W 0 52 mm (cod. AP5243W)
lO secondi (tutti i tempi sono espressi in millisecondi). è disponibile a Euro 2,90. Le parti in plexyglass
La parte di codice contenuta nel Listato 1 vede la fun- (cod. PLEXYARPA) tagliate al laser necessa-
zione void readTouchlnputs() con le variabili associa- rie per realizzare l'arpa sono disponibili a Euro
te ai lO sensori: quando una touchStates passa da Oa l 420,00. l prezzi si intendono IVA compresa.
si avvia un ciclo forche produce la stampa su seriale
della nota suonata, ai fini di debug. Segue la funzione
void Play() in cui un ciclo for esegue la nota associata
a touchStates, a partire dalla 30, che è la più grave; per
ogni touchStates che cambia di stato si somma l nota,

80 Dicembre 2018/ Gennaio 2019 - ELETTRONICA IN


VIA CAVO
Fi

Caratteristiche tecniche e vendita on-llne su:

www. futura shop. it


o'
(.)
03

02 +5V
PWR
01 • D2, che riceve i dati dal modulo MP3 attraverso
Cl + C2 C3 + C4
il suo contatto TX (pin 3) attraverso la resistenza
5V
Rl·
Lu •
'
D3, che invia i comandi al modulo MP3 sul suo
iiJ pin RX (2) mediante la resistenza R2;
eu • D6, che controlla la linea BUSY (pin 16) del
E
(l) OUTl
+5V moduloM P3.
5V sv
..t:: 2 D2 e D3 costituisc ono l'interfacc ia seriale che per-
(.)
,Cl)
1 05 mette a Fishino Guppy di controllar e il modulo
~ 3 MP3 a 9.600 baud e le resistenze sono state inserite
U2
per "adattare " i livelli logici della Guppy a quelli
del lettore.
OUT2 Le strip NeoPixel vengono gestite in parallelo con
5V una sola linea del rnicrocon trollore della nostra Fi-
03----,
.-- 06 02--, shino, impostato nello sketch; la comunica zione è
GNO unidirezi onale.
Rl R2 NeoPixel è una particolar e soluzione a LED RGB
+5V
"intellige nti" dove ogni LED NeoPixel dispone di
controller a bordo, comanda to da Fishino attraverso
- OUT3
5V l'apposita libreria FastLed (https://github.com/Fa-
2 vcc
DI 16
BUSY TX
3 stLED/FastLED) .
1
3 RX
2 SPK Ogni LED RGB può essere gestito individua lmente
6 tramite un apposito comando inserito nella stringa
SPKl +
8
SPK2 - seriale e può produrre fino a 256 tonalità del pro-
Ul prio colore, determin ando un totale di 16.777.216
OUT4
4 AMP combinaz ioni di colore.
OACR
• 2 5 Una particolar ità dei LED NeoPixel è che possono
1
OACL

essere collegati in cascata in modo che la linea dati
3 GNO
7
da uno passi al successivo.
Per ogni strip di LED è possibile impostar e a piaci-
mento la frequenza di refresh, in modo da rendere
impercett ibili determin ati giochi di luce, fermo
restando il limite dettato dalla quantità di strip col-
Il tutto viene alimentat o da un comune alimentat o- legate. Nel nostro caso utilizziam o 3 strip da 12led
re AC/DC con uscita a tensione stabilizza ta 5V 2A. ciascuna e una strip da 13 led. La striscia più lunga
Il tutto va collegato secondo lo schema di cablaggio utilizza l'ultimo sul led per illuminar e la stella po-
che trovate in queste pagine. sizionata in cima all'albero . Le strisce sono ricavate
partendo da una strip da 150 led su 5m disponibi le
SCHEMA co da www.futurashop.it con il codice STRIP150LED
Diamo dunque uno sguardo allo schema, nel (ovviame nte la porzione di striscia avanzata può es-
quale distingui amo la Fishino Guppy, siglata U2 sere utilizzata per altri progetti o per altri alberi).
(cod. GUPPY) e il riprodutt ore MP3 con rnicroSD, L'intero circuito viene alimentat o attraverso un jack
chiamato Ul (cod. DFR0299); della Guppy DC dal quale la tensione continua applicata dall'a-
utilizziam o solament e quattro pin di IlO digitale, limentato re raggiung e la linea 5V attraverso i diodi

OSSia: di protezion e Dl, D2 e D3, collegati in parallelo per
• D5 per inviare le stringhe di comando alle strip ripartirsi la corrente e presentar e così la minima ca-
Neopixel , che saranno collegati in parallelo duta di tensione possibile.
attraverso i connettor i OUTl, OUT2, OUT3 e Sul catodo dei diodi abbiamo posto una batteria
OUT4, sui quali è multiplat a la linea dati da di condensa tori di filtro (Cl, C2, C3 e C4) utili a
collegare al contatto DI (Data Input) delle strip livellare ulteriorm ente la tensione continua prima
(l'aliment azione è riportata in parallelo sui di mandarla alla Fishino Guppy e al modulo MP3:
quattro connettor i); Cl e C3 filtrano eventuali disturbi impulsiv i (sono

84 Dicembre 2018 /Gennaio 2019- ELETTRONICA IN


• • • • • • • • • • • • • • • • • • • • • • • • • • • o • •

.,

CARATTERISTICHE TECNICHE
molto utili se alimentiamo il circuito con un ali- •~

• Tensione di alimentazione: 5 Vcc •'

mentatore switching) e C2-C4 fungono da ulteriore •'


• '•


• • Assorbimento: 1 A •
livellamento e soppressione del ripple di un even- •

• • lnterfaccia di controllo: WiFI



• •
tuale alimentatore da rete con trasformatore e filtro •

• • Illuminazione a LED Neopixel



• •
capacitivo. •


• Riproduttore MP3 integrato con microSD •



• •
La Fishino Guppy viene alimentata attraverso il pin •
• • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • o • • • • • • • • o • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • o

+5V e quelli di GND.


Quanto al modulo MP3, nello schema rende dispo-
nibili entrambe le uscite audio di cui dispone, ovve- DFR0299 (Ul nello schema) è un completo decoder
ro quella per altoparlante (in questo caso è MONO) che attinge a un supporto SD-Card (microSD, per
che va collegato tra i contatti SPKl ed SPK2, oltre a l'esattezza), decifra l'audio e poi lo amplifica on-
quella a basso livello, da amplificare con un dispo- board pronto per inviarlo a un altoparlante (da 8
sitivo esterno o da inviare all'ingresso di un mixer, ohm di impedenza) con quasi 3 watt di potenza,
un registratore o altro di simile, stereo e localizzata erogati da un piccolo finale BF interno mono, con
ai piedini 4 e 5 (riferiti a massa) . stadio d'uscita a ponte. Siccome il decoder MP3
del modulo è stereo, in realtà le uscite audio
IL RIPRODUnORE MP3 disponibili sono due, ossia una per canale, però
Il componente che utilizziamo per la riproduzione sono accessibili dall'esterno solo a basso livello e
dell'audio permette di far riprodurre dalla base impedenza relativamente alta, fatte per pilotare
dell'albero brani musicali MP3 senza dover amplificatori, ingressi di mixer, cuffie a 300 ohm
utilizzare hardware costoso e impegnativo: infatti il ecc. Sono accessibili dai pin 4 (DACR, canale destro)

piano di MONTAGGIO ••••••••••• •••• ••• ••••• •••••••• •••••••••• •••••••••• •••••••• •••• •••••••••••••••••••••••••••• ••• ••• ••••• ••••••••••• ••••••• • •••••• • ••••••
•••
••


• •
•• •
• •




S1422 - U2 U1 •

••
• - '

••

.••• •
••

• •
••


Elenco ComponenJi: •
••
•••

••

••
••
• -- •

••

••

. •

R1:1kohm ·~ ~, ~- •
••
• •
••


• R2: 1 kohm •u,.., ,_. J ••
•• ••

•• C1: 100 nF ceramico \
-c=J- ~: i1
••


;!. /+ C2 ~ Jr+ -rr:=J-
R2 1
••
••

'l -c=J-


C2: 470 J.lF 16 VL elettrolitico EO ••

FI
• R1




C3: 100 nF ceramico -rr:=J- za •

••

••






C4: 470 J.lF 16 VL elettrolitico
- ~ ~

'- -rr:=J- '" AMP






••

••
• ••
••


U1: Modulo MP3 OFR0299 •




OUT1 OUT2 OUT3 OUT4 + SPK •
. U2: Guppy •

~

•••




••


01: 1N4007 o 000 000 000 000
01 5V GN>
- 1661
+ -
o •






. DI SV Gfl) DI 5V Glll





02. 1N4007 DI SV GN>
""" •



••

.•

03: 1N4007 •

••
• •
.
.


• AMP: Connettore jack 3.5mm da CS •
••
••
.


••


• ••
• •
••
•• Varie: ••
••
• •
.•
• - Plug alimentazione •
••
• •

• ••




- Presa filo-scheda 2 vie volante •
••

• •

••

- Presa filo-scheda 3 vie volante •
••

• •

.




(4 pz.) •

••
• •




• - Connettore filo-scheda 2 vie da PCB •
••

• •
••
•• - Connettore filo-scheda 3 vie da PCB •



• •





(4 pz.) ••



• ••


.
• - Strip maschio 8 vie (2 pz.) ••

• ••




- Strip maschio 15 vie (2 pz.) •


• ••





- Circuito stampato S 1422 •
••


••
••


(1 02x53 mm) •

••

• •
• ••

..• .. ... ... .... .. ..... .. ... ...... ... ... .. .... .. ... .... .. ... ......... ... ... ......... ... ... ...... ... .... ........ ... .... .. ... .. ... ... .. ... .... .. ..... ... .. ... .. ... ... .. .... ... ... ..... .. ... .. .. .... .. .... ...... .. ... ... .. .... ... ... .. .... ... ... ... .. .. .... .... .... .•
• •

ELETTRONICA IN - Dicembre 2018 /Gennaio 2019 85


ALTOPARLANTE ALIMENTATORE 220V / 5V · 2A 3 STRIPNEOPIXEL 12 LEO STRIP NEOPIXEL 13 LEO

Se
di cablaggio

e 5 (DACL, canale sinistro) . L'amplificatore di Le principali caratteristiche del modulo sono:


potenza incorporato è, invece, mono e amplifica la • decodifica MP311172-3 e IS013813-3layer3
miscelazione dei canali destro e sinistro. audio decoding;
Il modulo nasce per essere gestito da Arduino, • possibilità di equalizzazione Pop,
il quale di fatto si limita a inviargli comandi Rock, Jazz, Classica;
in formato seriale (9.600 baud) per gestire la • frequenze di campionamento in
riproduzione; nel nostro caso, a gestirlo è la scheda riproduzione (kHz): 8/11,025/12/1 Le connessioni
Fishino Guppy; il resto viene fatto dal chip decoder 6/22,05/24/32/44 ,1/48 alle strip Neopixel:
interno al modulo. • DAC a 24 -bit, che supporta una si utilizzano tre
Il riproduttore DFR0299 può essere utilizzato in gamma dinamica di 90 dB e un fili da saldare
stand-alone, alimentandolo a 5 volt (la corrente rapporto segnale/rumore di 85dB; nelle piazzole
dell'estremità bassa
richiesta per erogare 3 watt su 8 ohin, che si • supporto file system FAT16 e
degli spezzoni.
ottengono a 5 volt, è 0,45 ampere), collegandogli un FAT32;
altoparlante e dei pulsanti, oppure può essere usato • massima capacità di
in combinazione con un microcontrollore dotato di memoria indirizzabile
porta seriale TTL. pari a 32 GB, 32G di
I brani musicali MP3 da riprodurre devono essere USB disk, blocchi
contenuti in una microSD e il decoder supporta fino di 64 MB Flash
a 100 cartelle, ciascuna delle quali può contenere N OR.
fino a 255 brani MP3. Nel nostro caso abbiamo
creato una cartella MP3 dove abbiamo copiato fino Per la gestione
a 9 brani chiamati 0001.mp3, 0002.mp3, ecc. del modulo è •

La regolazione del volume prevede 30 livelli. chiaramente stata


L'alimentazione prevista è da 3,2V a 5V in continua sviluppata una
(la corrente assorbita in standby è di soli 20 mA). libreria specifica

SS Dicembre 2018/ Gennaio 2019 - ELETTRONICA IN


(scaricabile anche dal nostro sito www.elettronicain.it


insieme agli altri file del progetto) che il nostro
sketch include, la quale permette di decidere quale
file riprodurr e, regolare il volume ecc.
Da Telegram potete ordinare al modulo di suonare
un brano specifico, con il comando playx nel quale
al posto di x va il numero del file MP3 memoriz zato
nella card (da l a 9); potete anche impostar e il vo-
lume d'ascolto, alzandolo con il comando volup o
abbassan dolo con voldown .
Tutti i comandi, al pari di quelli per gli effetti lumi-
nosi, sono testi da inviare tramite Telegram.

IL COMANDO REMOTO
Come accennato, Fishino Guppy si connette in WiFi
al router che lo affaccia su Internet e da qui dialoga
con i server di Telegram attraverso un bot creato ad
arte; il bot si crea con servizi web come BotFather e
risiede in Fishino.
Ma facciamo un passo indietro e spieghiam o, a chi
non lo sapesse, che cosa è un bot di Telegram: si
tratta di un utente virtuale, non associato (o non
necessariamente associato) a un numero di telefo-
no, come invece è necessario se si vuol creare un
account Whatsap p. La particolarità è che si tratta di
un robot software (da qui il nome bot, che ne è l'ab- •

breviazione) che interloquisce con altri utenti quasi utilizzato un'appos ita libreria chiamata Fishgram,
fosse un utente vero e che ci permette di realizzare la quale permette la gestione tramite un semplice
alcune automazioni. Nel nostro caso il bot manda a messaggio di Telegram. Per poter realizzare il
Fishino Guppy i comandi che noi, tramite il nostro nostro progetto, innanzitu tto dobbiam o scaricare
account utente di Telegram, trasmetti amo dallo Telegram sul nostro dispositivo portatile, sia
smartpho ne sotto forma di messaggi di testo e rice- esso basato su sistema operativo Android, iOS,
ve risposte di stato (sull'esecuzione dei comandi) e Windows Mobile, collegandoci allo store oppure
richieste da inoltrarci, sempre attraverso messaggi sul web, alla pagina https://telegram.org/. Una
testuali di Telegram. Insomma , il bot è come una volta installata la app, utilizzan do lo strument o
persona cui scriviamo cosa deve fare il nostro al- di ricerca, dobbiam o cercare Botfather, avviarlo e
berello luminoso WiFi e che si occupa di interagire creare il nostro bot che utilizzere mo per la gestione
con Fishino Guppy, informan doci anche sull' at-
tività dell'alberello stesso. Quando accendiamo .
l'albero la prima volta, Fishino cerca la connessione
WiFi (nello sketch dobbiam o inserire l'SSID e la
password della nostra rete) e se non la trova lancia
l'illumina zione in dissolvenza, che è l'animazi one
RICERCA Gt,QBALE
predefinita; quando si connette in WiFi, invece, ese-
gue quella che gli inviamo da smartpho ne. Ad ogni . . . BotFather
•Q• .'

successiva accensione esegue l'ultima animazio ne @Botfather
luminosa che gli è stata impostat a da remoto per
ultima. Oltre alle luci, se glielo ordiniam o da Te-
legram fa accendere anche il riprodutt ore MP3 ed
eseguire il brano corrispon dente alla richiesta.

La libreria Fishgram
Per gestire Fishino Guppy da Telegram abbiamo Fig. 1 - Ecco come si presenta la chat con BotFather


ELETTRONICA IN- Dicembre 2018 /Gennaio 2019 B7


Cosa può fare questo bot?

Bot:F-a.t her is the.one botto rule t:hem ali, BotFather, oppure conoscerne l'access token. Inoltre
Use. it: t:o create ne.w bot accounts and
ma.l"'a.ge your e:.cist ing bot s. ogni messaggio inviato al Bot viene contrassegnato
About Telegrarn bots:
https://corr,.t.efurym ,çri/bots
da un id utente al quale abbiamo accesso, perciò
Bot API manual:
https!//c.ore.ttleara.m.orslbotsltpi
è possibile inserire un controllo nel codice per
Contad:_@&tSu.pport if you have questions
eseguire solo le istruzioni dell'id autorizzato. I
>Owt t he Bot N'I,
restanti messaggi verranno letti, ma ignorati.

/start l .,
IL FIRMWARE
1 can help )IOu creat e and rnanag.e Tele.gram
bots. If you're new to t he Bot API. please
Addentriamoci quindi nei meandri del codice; dopo
see the roaruJ)I, aver incluso le librerie necessarie e dopo aver impo-
You c.an contro! rne _by sending these stato SSID, password con i comandi:
comrnands:

/newho~ - create a new bot


/111ybots - edlt your bots [beta) #define MY SSID ''********''
/.,yga1110s - edlt your jèmeS [beta)

Edk Bots
/setname - change a bot's-name. #define MY PASS ''********''
. . . .. . . ..
/se.tdescription - chanae bot desGript ion
. .. -
troviamo l'istruzione che ci permette di inserire il
Token di Telegram:
Fig. 2 - Chat in corso con BothFather:
ci vengono mostrate le funzioni disponibili.
#define MY TELEGRAM TOKEN ''****** •• ******************** ''

dell'alberello a LED (Fig. 1). Una volta avviato Dopo e solo dopo aver inserito quest'ultime due
BotFather ci troviamo di fronte alla schermata linee di codice inseriamo:
proposta nella Fig. 2. Nella Fig. 3 vedete un
esempio di interazione tramite messaggi con FishGram . begin(F(MY_TELEGRAM_TOKEN)) ;
BotFather, il quale ci parla come se fosse un utente
in carne ed ossa e possiamo interloquire con Questa istruzione inizializza Fishgram con il Token
• lui. Nel caso specifico, inviandogli il messaggio l del nostro bot.
start impartiamo•
il comando che ci restituisce le
funzionalità e la rispettiva sintassi. L'istruzione:
Da qui, il procedimento da seguire per creare il no-
stro bot è molto semplice: FishGram . messageEvent(FishGra mHandler) ;

l. inviare il testo di comando /newbot;
2. scegliere un nome; permette di richiamare la routine FishGramHandler
3. scegliere un soprannome terminante in "bot". ogni volta che arriva un messaggio. In questa
routine andremo a verificare il messaggio ricevuto
Annotiamoci l' access token perché ci servirà in (salvato nella variabile message) e se è tra quelli '
seguito. Dovrà essere qualcosa del tipo: previsti eseguiremo la relativa funzione. Ad
276340267:AAHselgOVrYae5r]edXgsSBIGid01XgO- esempio per alzare il volume il comando è /volup e •
PHc il codice che gestisce questo comando è il seguente:
Adesso dobbiamo permettere al bot di comunicare
con noi attivandolo. Sempre nella casella di ricerca if (!strcmp(message , "/volup"))
dobbiamo rintracciare il nostro bot cercandolo tra- {if (vol<MAX- VOL-STEP VOL) {
- •
mite il soprannome che abbiamo scelto per esso. vol=vol+STEP VOL ;
Una volta aperta la chat, dobbiamo premere Avvia ) else {
come abbiamo fatto per BotFather. Così facendo sa- vol=MAX VOL ;
remo in grado di comunicare con il bot e lui sarà in )

grado di comunicare con noi. setvolume(vol) ;


Ai più attenti tra voi non sarà sfuggito un String ans = F(.Alzo il volume . Livello volume •J ;
importante dettaglio: se per attivare il nostro bot è ans += val ;
stato sufficiente cercarlo e premere avvia, questo FishGram . sendMessage(id , ans . c str()) ;
significa che chiunque può farlo, tuttavia solo chi return true ;
ha creato il bot può modificarne le proprietà tramite )

88 Dicembre 2018 /Gennaio 2019- ELETTRONICA IN


Come vedete in ans viene salvata la risposta che


il bot dovrà restituire e con l'istruzio ne FishGram. Alrijht, a new bot, liow are ""'going to cali
it? Please. c.hoose. a narne for your bot. 1 ~
sendMessage(id, ans.c_str()); viene inviata al mittente.
Good. Now let's choose a u.SernZNne .for yoy.r
REALIZZA ZIONE PRATICA bot, tt mu.5t end in 'bot', Llke t his, fo~
e1ta.mple: TetrisSot-or i:etris_bot.
Passiamo dunque alla costruzio ne dell'alber ello,
soprannome_bot l ~.,
partendo dall'elettr onica e in particolar e dall'unico
Done! Consratulations on your new bot. You
circuito da autocostr uire seguendo la traccia lato will find it at !:elgFM'o!!!!!lsoJ>?nnomc bot,
Ycx. an now add a de.sc~iption, about
rame di cui trovate sul nostro sito web la traccia scc.tion and proiìfe picture for you.r bo~
see /l.elp for alist of comonands, By the way,
rame da cui partire per ricavare la pellicola neces- when you'\Je -flnished çreatin& your cool bot,
ping our Sot Support if you war'lt a better
saria alla fotoincisione. Una volta ottenuta la ba- ..semarne for it , ~ust make sure the bot is
setta, che è a singola ramatura e quindi facilmente fully operntional hefore you do this,

realizzabile anche da chi abbia poca esperienz a di Use this token to access the HTTP Pl'l:
2'1&)402&7:AAllselg011éYaeSW3eHXgsSSIG;do
montagg i elettronici, montate i compone nti richie- lXgOP\ic

sti a partire dalle resistenze e dai diodi 1N4007, da Fora deseription of the Bot API, see this
page: httpS:L/çore.t§ lejrtm.ori/bots/ apj •"'
orientare come mostrato nel piano di montaggi o
visibile in queste pagine, proceden do con i conden-
satori (attenzion e alla polarità degli elettrolitici) e
poi con gli strip femmina che dovranno ospitare le Fig. 3 · Creazione del bot da BotFather.
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 amplificatore. Completa ta la scheda dovete
piazzole laterali e da stagnare superiorm ente, da assembla re l'albero, che è composto da una sagoma

dove spuntano . ad abete (con in cima la stella) nella quale incastrare
Completa te il montaggi o inserendo e saldando il verticalm ente, ad angolo retto, le due semisago me
plug di alimentaz ione, i quattro connettor i per il ad abete; nell~ intercape dini ricavate nei punti di
collegam ento con cavetti tripolari alle strip di LED intersezio ne delle sagome collocate 3 strip a 12 LED
e il connettor e per l'audio, oltre alla presa jack Neopixel più una strip a 13 LED che deve sporgere
stereo 3,5 mm per la connessio ne a un eventuale in cima per illuminar e la punta a stella.
Le strip si ritagliano da un rotolo da 150 LED (codi-
ce STRIP150LED della Futura Elettronica)
distanzia ti di 33,3 mm l'uno dall'altro ; a tanto
ammonta la distanza tra i piani orizzonta li in ple-
xiglass dell'alber o. Quindi questa distanza non è
casuale ma corrispon de al passo delle strip a LED
utilizzate ed è fatta in modo che la luce emessa da
ciascun LED penetri trasversa lmente i piani in ple-
xiglass.
Una volta assembla to l'albero saldate ai tre contatti
di base di ciascuna strip un cavetto a tre fili termi-
nante con un connettor e femmina volante a passo
2,54 mm che innestere te nella scheda, quest'ulti ma
da fissare al fondo della base dell'alber o insieme
all'altopa rlante, come mostrano le foto del proto-
tipo che vedete in queste pagine e in particolar e la
Fig. 4.
Notate che i piani dell'alber o si introduco no dall'al-
to della struttura a portante (che appare come una
croce) partendo dal più grande, giacché si incastra-
no in virtù del fatto che le sagome sono triangolar i,
quindi larghe alla base e strette in cima; la Fig. 5
Fig. 4 · La scheda elettronica completa di Fishino Guppy chiarisce come avviene l'assembl aggio per incastro.
e del DFR0299 applicata al fondo della base dell'albero.

ELETTRONICA IN - Dicembre 2018 /Gennaio 2019 89


• •
Fig. 5
t.:albero applicato alla
sua base, dalla quale

escono i quattro
safdare

Comando Funzione
/ PLAY Riproduce la prima canzone

/PLAYX ] Riproduce la canzone x
/ STOP Ferma la musica
/ VOLUP - A - u-menta il volum_e_
-----'
/ VOLDOWN
/ NEXT
Diminuisce il volume
-
Riproduci la prossima canzone
/ RANDOM Riproduci in maniera casuale la musica
/ RAINBOW
/ GLITIER
- ---
Effetto Arcobaleno
Effetto Arcobaleno con la mpeggio
/ CONFETII Effetto Confetti
/ SIN E Accensione sequenziale
/ JUNGLE Effetto Rimbalzo
--~~--
·; sPM Effetto Scorrevole
Il materiale per realizzare l'albero di Natale Wi-Fi è di-
sponibile 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'altoparlan-
te 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 30 e tutta la minuteria
necessaria all'assemblaggio (cod. WIFITREEST) è in
vendita a Euro 89,00.
L.:alimentatore switching (cod. AL5V2A) che permet-
te di alimentare l'albero costa Euro 8,50. l prezzi sono
comprensivi di IVA.

21013
• •

/play 11 41 .p

Ok. Parte la riproduzione dell'mp3 numero 1

/voi+

Ok. Alzo il votume 1 42


Fig. 7
/glitter 11.42 ..u
l comandi
per l'audio Ok. Effetto Glitter 11 43
e i giochi
di luce, con /next 11 43 ..u
le rispettive
Ok. Riproduco la prossima canzone 1 •3
risposte
generate /play4 1 ht3 #
dal bot.
Ok. Parte la riproduzione dell'mp3 numero 4

/random 11 43 v/

Ok. Riproduco musica random 1 43

/voi+ 111 43 ...u

Ok. Alzo il volume 1 43

1:{! Messaoqio

• 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 è an-
dato 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 prodot-
te 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 im-
partiti che sono contrassegnati dal colore azzurro
perché sono i messaggi che inviamo alla Fishino
Guppy e nel fumetto, in nero, le risposte.
INFORMAZIONI DETTAGLIATE E ISCRIZIONI SU Bene, con questo abbiamo terminato; non ci resta
www.futura.academy che augurarvi buone feste in compagnia del vostro
nuovo Social-albero di Natale!

72 Dicembre 2018 /Gennaio 2019 - ELETTRONICA IN



• • o o • o • • • • • • • • • • e • • • • • • • • • • o • • • • • • • • • • • • • • • • • • • • • 0 0
• • • • • • • •
0
• •
0
di MATTE O DE5TRO

ella precedente puntata abbiamo descritto la libre- diamo che la programmazione dei codici PIN e PUK in
ria e le funzioni messe a disposizione dalla stessa. EEPROM non può essere fatta direttamente dall'IDE
Ora presenteremo una serie di sketch attraverso i quali Arduino ma solo con apposito sketch di scrittura dei
vedrete in pratica come funziona la libreria e le sue dati in EEPROM.
potenzialità. Gli sketch implementeranno funzioni tra Ciò detto, iniziamo la descrizione degli sketch dalla
cui ricezione o invio di SMS, chiamate vocali, gestione programmazione in EEPROM dei codici.
di alcuni comandi generici, nonché la scrittura in EE-
PROM dei codici PIN, PUK ecc. PROGRAMMAZIONE EEPROM
La libreria è pensata per svolgere la gran parte del La prima operazione da compiere per utilizzare il
lavoro e lasciare il compito più facile allo sviluppato- GSM Shield è programmare la EEPROM di Arduino
re, che dovrà semplicemente adattare la libreria alle con i codici necessari al corretto funzionamento degli
necessità proprie e delle proprie applicazioni. Ricor- altri sketch.

' •

o •

,.....
1' \
o
o~ •
·o o

'
' f.-i9S ; ... ·

/
nfile "GenericCmd_GSM.h", subito all'inizio del file, &LONG- GEN- PSWD[O]
contiene l'elenco dei dati da memorizzare nella memo-
ria EEPROM. Questo valore viene quindi salvato in un'apposita va-
Allo stato attuale si tratta di una serie di codici numeri- riabile. Nel nostro caso abbiamo definito una struttura
ci che identificano le seguenti voci: dati p er recuperare gli indirizzi di partenza di tutti gli
array usati per le password, la quale è:
• Password generica 1 --? 8 caratteri numerici, spazio
occupato 11 byte (comprende le virgolette e il struct
carattere di chiusura della stringa); {

• Password PH PUK -T caratteri numerici, spazio uint8 t StartAddPinlCode ;


occupato 11 byte; uint8 t StartAddPin2Code ;
• Password PUK2 -T 8 caratteri numerici, spazio uint8 t StartAddPhPi nCode ;
occupato 11 byte; ui nt8 t StartAddPuklCode ;
• Password SIM PUK -T 8 caratteri numerici, spazio uint8 t StartAddPu k2Code ;
occupato 11 byte; uint8 t StartAddPhPukCode ;
• Password generica 2 --? 4 caratteri numerici, spazio uint8 t StartAddShor tPswdCode ;
occupato 7 byte; uint8_t StartAddLongPswdCode ;
• Password PH PIN -T 4 caratteri numerici, spazio ) EepronAdd;
occupato 7 byte;
• Password PIN2 --? 4 caratteri numerici, spazio Di conseguenza, la sintassi da utilizzare per sfruttare
occupato 7 byte; questa'struttura dati sarà:
• Password SIM PIN--? 4 caratteri numerici, spazio
occupato 7 byte. Gsm . EepronAdd . Sta r tAddLongPswdCode =& LONG_GEN_PSWD[O] ;
Gsm . EepronAdd . Sta rtAddPhPukCode =& PH- PUK- CODE[O] ;
Per dire al compilatore che si vuole inserire dei dati in Gsm . EepronAdd . Star t AddPuk2Code =& PUK2_CODE [O l ;
EEPROM si utilizza la seguente sintassi: Gsm . EepronAdd . Star tAddPuklCode =&PUKl_CODE[Ol ;
Gsm . EepronAdd . StartAddShortPswdCode=&SHORT_GEN_PSWD[Ol ;


const uint8- t EEMEM LONG- GEN- PSWD[ll] = " \"1 2345678 \ ""; Gsm . EepronAdd . Sta r tAddPhPinCode =&PH- PIN- CODE[Ol ;
Gsm . EepronAdd . Sta r t AddPin2Code =&PIN2 CODE [O l ;
In pratica abbiamo definito una variabile intera senza Gsm . EepronAdd . St a rtAddPi nlCode =& PI Nl CODE [O l ;
segno (uint8_t) di tipo costante (const) che attraverso
la direttiva "EEMEM" dice al compilatore che i dati Infine, per agevolare questa operazione le righe di
fanno parte della EEPROM. Notare che nell'esempio codice sopra esposte sono state raggruppate in una
riportato non si sta memorizzando una singola varia- funzione di libreria da richiamare durante la sezione di
bile, bensì un array di byte di lunghezza 11 contenente "Setup" dello sketch, in particolare abbiamo:
una password di tipo numerico.
La locazione di memoria da cui iniziare a scrivere i Gsm . EepromStartAddSetup( ) ;
byte sopra definiti viene decisa dal compilatore, a
meno che non venga impostata diversamente da codi- Se tale chiamata a funzione viene omessa il compilato- •

ce e l'indirizzo di partenza di ogni array viene poi re- re non genererà il file .epp ignorando il codice di asse-
cuperato via codice così da permettere l'accesso ai dati gnazione dei dati in EEPROM.
sia in lettura che in scrittura. Ora, come ben sappiamo, lo IDE Arduino programma
ncompilatore genera quindi un file con estensione la sola Flash del microcontrollore presente sulla board
.epp che viene memorizzato nella directory: usata e ignora totalmente la programmazione della EE-

C: \ Docurnents and Set tings\YourUserName \ LocalSettings\


Temp\arduino_build_xxxxxx j: 100 0 0 0 00223436323922 00 223 8 3 8 3 8 3 8 2200 223 55 C
: 1000100035 35352 2002231323 334 22002235 3 43056
La Fig. 1 mostra il contenuto del file .epp generato du- : 100020003934 313 5 3322002 239393939393939 3 9BE
rante la compilazione. : 0003000220022 3 4 3 434343 43 4 3 4 3 4 220022313 23 5
: 0800 4 000333 4 3 5 36373 220055
Ora, per recuperare gli indirizzi di partenza dei diversi
: 0000000 FF
array definiti in EEPROM si deve usare la consueta
sintassi in C: Fig. 1 · File .epp generato durante la compilazione.

74 Dicembre 2018 /Gennaio 2019 - ELETTRONICA IN


PROM anche se il compilatore ha generato il file .epp. La sezione di setup si conclude e il codice passa al
Detto ciò ci sono due possibilità per programmare la main (void loop()) dove trova posto una sola funzione
EEPROM: la prima è sfruttare il tool a riga di comando che ha lo scopo di leggere i dati in EEPROM:
"avrdude"; la seconda è scrivere uno sketch dedicato ed
è quello che si è deciso di fare per risolvere il problema. Verify_Eepr om() ;
Diamo quindi un'occhiata al semplicissimo sketch
"GSM_SetEeprom" che ha il solo scopo di program- Ora analizziamo velocemente la funzione "Initiali-
mare la EEPROM del microcontrollore. Una volta pro- ze_PIN_PUK_Eeprom()" la quale ha il solo ed unico
grammata potremo scaricare nella Flash delle schede scopo di scrivere i dati in EEPROM. Vediamo quindi la
Arduino i nostri Sketch applicativi per la gestione di sezione di codice per scrivere il codice Pinl (SIM PIN):
SMS, chiamate vocali e altro.
Questo sketch è valido per le schede Arduino Uno, Add = Gsm . EepronAdd . StartAddPi nlCode ;
Arduino Mega 2560 e le schede Fishino corrispondenti. eeprom_wri te_byte ( (uintB_t *)Add++ , Ox22 );
Ricordarsi di selezionare nella libreria la scheda Ardui- eeprom_wr ite_byte((u intB_t *) Add++, ' 4' ) ;
no che si vuole utilizzare. eeprom_wr ite_byte((u intB_t *)Add++, ' 6' ) ;
Cominciamo dalla sezione di setup ovvero "void Se- eeprom_wr ite_byte((u intB_t *)Add++ , ' 2' ) ;
tup()"; la prima cosa da fare è richiamare la funzione eeprom_wri te_byte((ui ntB_t *)Add++ , ' 9' ) ;
per recuperare gli indirizzi di partenza in EEPROM eeprom_wri te_byte ( (uintB_t *)Add++ , Ox22) ;
in cui sono memorizzate le password, quindi si deve eeprom_wri te_byte ( (ui ntB_t *)Add, OxOO) ;
richiamare la funzione:
Per prima cosa carichiamo nella variabile puntatore
Gsm . EepromStar tAddSetup() ; "Add" l'indirizzo di partenza in EEPROM da dove
iniziare a scrivere i dati. In questo caso l'indirizzo di
Dopodiché si richiama la funzione di programmazione partenza riguarda il codice del PIN1. Seguono sette
della EEPROM ovvero: scritture e ad ogni scrittura il puntatore viene incre-

mentato di uno puntando alla locazione di memoria
Initialize_PI N_PUK_Eep rom() ; successiva. n primo valore memorizzato e il penultimo

sono le virgolette. Infatti i codici PIN, PUK ecc solita-
Infine si attende un tempo di 500ms e poi si in.izi ......"" mente sono sempre racchiusi tra virgolette. Conclude
la UART a cui è collegato il monitor seriale in modo da la stringa il carattere di chiusura OxOO. Questa sintassi
verificare che la EEPROM sia stata effettivamente pro- viene replicata per tutti i codici da salvare in EEPROM.
grammata con i dati desiderati. Per inizializzare la UART Adesso analizziamo la funzione di verifica dei codici
di debug si deve richiamare la funzione di libreria: (Verify_Eeprom()) la quale, come accennato prima,
ogni 15 secondi stampa sul monitor seriale i dati me-
Gsm . EnableDisa bleDebugS erial(true , BAUD_l15200) ; morizzati in EEPROM. Come prima analizziamo solo
una porzione di codice:
Questa attiva la UART e la inizializza alla velocità di
115200 Baud. Infine attiviamo gli interrupt di libreria Add = Gsm . EepronAdd . StartAddPin lCode ;
ovvero il TIMER1 per la base dei tempi e l'interrupt sprintf (AddressBuf fer l "0x %04X" l Add) ;
esterno INTO o INT4 a seconda che si usi Arduino Uno serial .print ("Address : "! ;
o Arduino Mega (in questo sketch l'interrupt esterno Serial .print (AddressBuf fer) ;
non viene usato). serial . print (" - > PINl = "! ;
Serial . print(cha r(eeprom_r ead_byte((u intB_t *)Add++))) ;
Isr . EnableLibi nterrupt() ; Serial . print(char( eeprom_rea d_byte((uin tB_t *)Add++))) ;
Serial . print(char (eeprom_re ad_byte((ui n tB_t *)Add++))) ;
Si attendono altri 500ms e infine si carica una variabile Serial . print(char (eeprom_read_byte (( uintB_t *)Add++ ))) ;
temporale con un tempo di 15 secondi. Tutte le volte Se rial . print (char (eeprom_rea d_byte ((u i ntB_t ~ )Add++ )));

che questo timeout scade il sistema provvede ad ese- Serial . print(char( eeprom_rea d_byte((uin tB_t *)Add++ ))) ;
guire una lettura in EEPROM dei dati memorizzati e li Serial . print( " \n ") ;
invia sul monitor seriale affinché l'utente possa verifi.-
carne la correttezza. Per prima cosa recuperiamo l'indirizzo ~el codice PIN
l, stampiamo a video la stringa che identifica cosa
Isr . TimeOutWait =T 15SEC; abbiamo letto e il suo indirizzo di partenza e infine il
-

ELETTRONICA IN - Dicembre 2018/ Gennaio 2019 75

l

contenuto della EEPROM. La Fig. 2 evidenzia quanto merito ai comandi AT inviatogli. Seguono una serie di
letto dalla memoria, dal PIN1 alla password generica stringhe, tutte memorizzate nella memoria Flash del
da 4 caratteri. Questi dati vengono stampati a video rnicrocontrollore, necessarie durante la stampa a moni-
una volta ogni 15 secondi. tor delle risposte in modo da rendere evidente di cosa
Un ultima curiosità riguarda la gestione della variabile si sta parlando.
temporale "Isr.TimeOutWaif' usata in questo sketch Iniziamo come al solito la trattazione dalla sezione di
per decidere ogni quanto stampare i dati letti. Alla Setup (void setup()) nella quale dobbiamo inizializzare
base di tutto ciò c'è il TIMERl gestito e configurato la libreria affinché possa svolgere alle sue funzioni.
dalla nostra libreria il quale genera un interrupt stabile Come già fatto nel precedente sketch dobbiamo prima
ogni 2 rns. Questo tempo viene detto base dei tempi di tutto richiamare la funzione:
e identifica la risoluzione che possono avere le nostre
variabili temporali usate dalla libreria (±2 rns). Gsm . EepromStartAddSetup( ); •

Ora per il nostro sketch abbiamo bisogno di un tempo


di 15 secondi quindi il valore da caricare nella variabile Questa inizializza la struttura dati con i puntatori
sarà pari a 7.500, tale valore viene decrementato di in memoria per il recupero delle password salvate
un'unità ogni qual volta scatta l'interrupt. Quando la in EEPROM, seguono quattro funzioni necessarie a
variabile giunge a zero significa che sono passati 15 inizializzare e testare gli I/O della scheda Arduino in
secondi. A questo punto lo sketch stampa a video e uso. Ricordiamo che l'hardware della shield prevede
ricarica la variabile. una serie di led collegati agli I/O delle schede Ardu-
ino utili sia per il debug del codice (Trigger) sia per
• SKETCH INVIO COMANDI GENERICI: evidenziare degli eventi significativi come la ricezione
Commentiamo ora lo sketch "GSM GenericCommand" di un SMS o altro (l'utente ha la piena libertà nella
il quale mostra come utilizzare una serie di comandi gestione di questi LED a seconda dell'applicazione che
base implementati nella libreria. Questo sketch è com- sta realizzando. La libreria mette a disposizione delle •
patibile con le schede Arduino Uno, Arduino Mega opportune funzioni per il loro corretto utilizzo). Quin-
2560 e le schede Fishino omonime. Ricordarsi di sele- di abbiamo:
zionare nella libreria la scheda Arduino che si vuole
utilizzare. Io . SetOutputTrigger() ;
Lo sketch è formato da un unico file e in testa ad esso Io . SetOutputLed() ;
troviamo una serie di dichiarazioni in merito alle mac- Io . CheckOutputTrigger() ;
chine a stati realizzate per la gestione dei vari task, una Io . CheckOutputLed() ;
per l'invio dei comandi e una per la stampa su moni-
tor seriale delle risposte ricevute dal modulo GSM in La prima funzione serve per inizializzare gli I/ O di
- trigger e la seconda inizializza gli I/O con i LED di
diagnostica (solo Arduino Mega 2560). Le ultime due
Address : OxOOOO - > PIN1 = "4629" funzioni servono per testare gli I/O appena configura-
Address : Ox001C - > PUKl = "54094153" ti, accendendo e spegnendo in sequenza i vari LED per
Address: Ox0007 - > PIN2 = "8888" verificare se funzionano allo start-up.
Address: Ox0027 - > PUK2 = "99999999" npasso successivo prevede l'abilitazione della seriale
Address: OxOOOE - > PH PIN
- = "5555" di debug per la stampa a monitor delle risposte ricevu-
Address : Dx0032 - > PH PUK = "44444444" te dal modulo GSM; notate che il codice per stampare a
Address: Ox003 - > LONG PASSWORD = "12345678"
= "1234"
monitor non fa parte della libreria, ma in questo sketch
Address: Dx0015 - > SHORT PASSWORD
abbiamo scritto un'apposita funzione per adempiere
a tale compito (ricordate le stringhe salvate nella Flash
Address: OxOOOO - > PINl = "4629" spiegate poco fa).
Address: OxOOlC - > PUKl = "54094153" La seriale viene configurata a una velocità di 115200
Address: Ox0007 - > PIN2 = "8888" Baud:
Address : Dx0027 - > PUK2 = "99999999"
Address: DxDDOE - > PH- PIN = "5555" Gsm . EnableDisableDebugS erial(true , BAUD 115200) ;
Address: Ox0032 - > PH PUK = "44444444"
Address: Dx003D - > LONG PASSWORD = "12345678"
Le altre velocità possibili sono: BAUD_2 4oo, BAUD_4so o,
Address: Ox0015 - > SHORT PASSWORD = "1234"
BAUD_9600 , BAUD_ l9200 , BAUD_38400 , BAUD_57600 .
Fig. 2 · Lettura della memoria EEPROM. Volendo si può impostare anche: BAUD_2304oo ,

78 Dicembre 2018 /Gennaio 2019 - ELETTRONICA IN


----------------------------------------------------------------------------------------------------------

BAUD- 250000 , BAUD- 500000 , BAUD- 1000000 . #endif


Quelle elencate sono tutte delle costanti definite in }

libreria, da passare come parametro alla funzione. Al


passo successivo abilitiamo gli interrupt: La prima riga richiama la funzione che gestisce la mac-
china a stati di invio e ricezione dati tramite la seriale
Isr . EnableLibinterrupt( ) ; (hardware/software). La gestione della comunicazione
seriale necessita di tre stati:
e si imposta la seriale di comunicazione l (UART l) - IDLE, dove il sistema rimane in attesa di inviare un
verso il modulo GSM: comando AT al modulo GSM;
- SEND, necessaria per inviare il comando AT al modu-
Gsm . SetBaudRateUartl(true , BAUD 19200) ; lo;
- WAIT, dove si rimane in attesa di una risposta da par-
Quest'ultima può essere di tipo hardware o software a te del modulo GSM; questa funzione serve sia durante
seconda della configurazione fatta nel file "IO_GSM.h" l'inizializzazione del modulo sia durante l'invio dei
e dall'impostazione data ai jumper presenti sulla comandi AT a regime.
shield. Se si utilizza una seriale software si consiglia
di non superare la velocità di 38.400 Baud, meglio se Immediatamente c'è il codice condizionale con cui
19.200 Baud. Se invece si usa la seriale hardware, si il sistema verifica se è in corso l'inizializzazione del
può tranquillamente impostare velocità fino a 115.200 modulo GSM (Flag Gsm . GsmFlag . Bi t . Gsmini tinProgress a
Baud. Quindi si esegue una pulizia dei buffer usati per "l" logico) oppure l'invio di comandi AT generici (Flag
la comunicazione seriale per poi dare inizio all'inizia- Gsm . GsmFlag . Bit . GsminitinProgress a "Q" logico).
lizzazione del modulo GSM inviando in sequenza il Quando il suddetto flag è a livello "l" vengono chia-
comando di accensione del modulo e l'inizializzazione mate le due funzioni per la gestione della macchina
della macchina a stati per la gestione dell'UART: a stati per l'invio dei comandi AT necessari a settare
il modulo GSM; la stessa macchina allinea la velocità
Gsm . InitPowerON GSM() ; della UART impostata dall'utente con quella del GSM
Gsm . UartFlag . Bit . EnableUartSM = O; se le due sono differenti.
, Gsm . ExecuteUartState() ; Durante l'inizializzazione il sistema verifica anche
Gsm . UartFlag . Bit . EnableUartSM = l ; l'eventualità di inviare il codice PIN alla SIM nel caso
questo sia abilitato. ncodice si trova memorizzato

Con le righe di codice appena descritte si conclude la nella memoria EEPROM come spiegato nel precedente
sezione di setup dello sketch. Eseguite queste ultime il sketch e il puntatore ad esso è stato recuperato con la
codice passa al main, ovvero il consueto "void loop()", prima riga di codice di inizializzazione.
nel quale ritroviamo il codice di gestione delle mac- Nella seconda parte del codice condizionale c'è la fun-
chine a stati per l'inizializzazione del modulo GSM e zione indispensabile per la decodifica delle risposte
dell'invio dei comandi AT a regime. ncodice che se- ricevute dal modulo (Gsm . GsmAnswerSt ateProcess O). Que-
gue è utiHzzabile in tutte le applicazioni in cui si fa uso sta è affiancata da altre due funzioni che si occupano
della nostra libreria e rappresenta la base di partenza. di intercettare eventuali dati inviati in autonomia dal
Quindi abbiamo: modulo GSM i quali potrebbero contenere informazio-
ni utili come ad esempio gli "Unsolicited Code" (Gsm.
Gsm . ExecuteUartState( ) ; Uart Continuous l yRead () e Gsm . Process UnsolicìtedCode () ) .
if (Gsm . GsmFlag . Bit . GsminitinProgress == l) { Allo stato attuale sono gestiti i seguenti: CRING, Pho-
Gsm . InitGsmSendCmd() ; nic Call e CREG.
Gsm . InitGsmWaitAnswer() ; Per ultimo abbiamo inserito anche la gestione di uno
} else { dei LED di diagnostica usati per evidenziare che il
Gsm . Uart ContinuouslyRead( ) ; sistema è uscito dalla condizione di inizializzazione
Gsm . ProcessUnsolicitedCode () ; ed è ormai a regime. A seconda della scheda Arduino
Gsm . GsmAnswerStateProcess () ; scelta si utilizzerà il LED 9 (Arduino Mega) o il trigger
#ifdef ARDUINO- UNO- REV3 2 (Arduino Uno).
Io . LedBlink(TRIGGER 2, 25 , T 2SEC) ; Durante l'inizializzazione, per evidenziare questa con-
#endif dizione si fa lampeggiare il LED collegato al trigger 3.
#ifdef ARDUINO- MEGA2560 - REV3 nblocco condizionale appena descritto è indispensabi-
Io . LedBlink(PIN LED9 , 25 , T 2SEC) ; le per il corretto utilizzo della nostra libreria di gestio-

ELETTRONICA IN - Dicembre 2018 /Gennaio 2019 77



.--------------- --------------- --------------- --------------- --------------- --------------- ---





• •
; #INCLUDE <AVR/ EEPROM . H> •


: #INCLUDE " UART GSM . H" •
- •
ne dei moduli GSM supportati. ;• #INCLUDE " IO- GSM . H"




:• #INCLUDE " I SR GSM . H"
Fuori dal codice condizionale trovano posto tutte le "GENERICCMD GSM . H"



: #INCLUDE - •

funzioni necessarie alla realizzazione dell'applicazione •


; #INCLUDE " SECURITYCMD- GSM . H"



in esame e svincolate dalla nostra libreria: ad esempio ;• #INCLUDE " PHONEBOOKCMD- GSM . H" •


;• #INCLUDE " SMSCMD GSM . H" •
quella per inviare dei comandi AT base in sequenza ; #INCLUDE " PHONI CCALLCMD- GSM . H"





perpetua (senct_AT_Cmcto ) e la stampa su monitor delle •
: #INCLUDE "GPRSCMD GSM . H" •




risposte ricevute dal modulo GSM (PrintDataReceived () ). •
: SECURITYCMD_GSM SECURITY ;



Ad ogni invio di un comando il sistema registra la ;• PHONEBOOKCMD GSM PHONEBOOK ;





.: SMSCMD- GSM SMS ; •


risposta ottenuta e la rende disponibile all'utente. In ; PHONICCALLCMD GSM PHONICCALL ;




particolare abbiamo la verifica della registraZione •
; ISR GSM ISR ; •



del modulo GSM alla cella tramite proprio operato- : IO_GSM IO ; •

: GPRSCMD GSM GPRS ; •

re (AT +CREG?), verifica della potenza del segnale •









GSM (AT+CSQ), stato del modulo GSM (AT +CPAS), .: CONST CHAR SMS - PHONE - NUMBER[ l PROGMEM
" \ " +3934900\ "" ; = •



: CONST CHAR SMS TEXT [l PROGMEM = " HELLO WORLD" ;
verifica dell'operatore (AT +COPS?), identificazione •






del costruttore (AT +GMI), identificazione modello ;• #DEFINE TRUE O



(AT+GMM), revisione software caricata (AT +GMR), : #DEFINE FALSE l •



• •
• •

numero seriale del prodotto (AT+GSN) e infine lettura •
; TYPEDEF VOI D STATE ;



di data e ora dal real time dock presente sul modulo : TYPEDEF STATE (*PSTATE) () ; •


;• // STATES MACHINE USED TO MANAGE THE INPUTS (P3 AND P4) •
GSM (AT+CLCK?). Di seguito quanto viene stampato :• PSTATE INPUT MANAGEMENT ;




sul monitor seriale a seguito della risposta ricevuta ai •






; BOOLEAN SENDSMS ;
comandi AT inviati, ovvero le risposte ricevute e total- •






mente decodificate. .; UINT8 - T DEBOUNCINGTI MEOUT ; //DEBOUNCING

TIMEOUT




;• UINT16 T TI MEOUTP3 ; //TIMEOUT TO MANAGE P3 •


:. UINT8 - T P3 - BUTTON = 9; //INPUT BUTTON P3 •
============ CPIN ============ •


; UINT8 T P4 BUTTON = lO ; //INPUT BUTTON P4
SIM OK •

- - •


============ CREG ============ • •

Registered , home network :• UNION DIGINPUTSTATUS { •



• •
Location area : "0065 " •

UINT8 - T INPUT ; •

• •
Cell ID : " 16F3" • STRUCT { •

============ CSQ ============



• UINT8 - T P3 - BUTTON •• l ; Il BIT o •

• • •
Rssi : 11


UINT8 - T P4 - BUTTON •• l ; Il BIT l •

•• •

Ber : O •
UINT8 T FREE •
• 6; •

• •
) IN ; •
============ CPAS ============ •
• •

• ) DIGINPUTSTATUS ;


Ready (MT allows commands from TA/TE) • •


============ COPS ============ •


Automatic mode ; <oper> field is ignored ; UNION DIGINPUTREADED { •



• •

Long format alphanumeric <oper> ; up to 16 characters ·• UINT8 T I NPUT ; •




Operator name : " TELECOM ITALIA :• STRUCT { •


============ GMI ============ :• UINT8 T P3 BUTTON : l ; l l BIT 0 •

Manufacturer Identification : SIMCOM Ltd : UINT8 - T P4 BUTTON : l ; l l BIT l •




============ GMM ============ •



UINT8 T FREE : 6; •

• •

TA Mode l Identification : SIMCOM SIM800C : ) IN ; •



============ GMR ============ :• ) DIGINPUTREADED ; •




TA Revision Identification of Software Release : : UINT8 T DIG I NPUTVAR; •

• •

Revision : l418B04SIM800C32 - BT • ••

============ GSN ============ : VOID SETUP () { •



TA Serial Number Ident ification (IMEI) : 866104027073389 :• / / MANAGE THE DIGITAL INPUTS (P3 AND P4 ) •

INPUT MANAGEMENT = INPUT - I DLE ;
• •
•• •
============ CCLK ============ •
- •


Date : 01/01/04 •
• •

Time : 00 : 10 : 40

• GSM . PSWDEEPROMSTARTADDSETUP() ; •


GMT : O


SETUPTIMER5{) ; //INITIALIZE TIMER 5 •

• •

-------------------- ---------- •

SETINPUTPI N{) ; •





IO . SETOUTPUTLED() ; //SETS I/O LEDS •



• IO . SETOUTPUTTRIGGER() ; //SETS I/0 TRIGGERS •

In questo modo si rendono le risposte più leggibili. •



• IO . CHECKOUTPUTLED( ) ; //CHECKS I/0 OUT PUT (LEDS )



• •

Tutte le stringhe stampate sul monitor seriale sono •




IO . CHECKOUTPUTTRIGGER () ; // CHECKS I/0 OUT PUT •


• •
memorizzate nella Flash del microcontrollore e non •

• GSM . ENABLEDISABLEDEBUGSERIAL(TRUE , BAUD 115200) ;

..

• •

occupano spazio nella SRAM. •




ISR . ENABLELIBINTERRUPT () ; //ENABLES INTERRUPT •



• GSM . SETBAUDRATEUARTl(TRUE , BAUD 19200) ;
I comandi AT di cui sopra vengono inviati a di- •

• GSM . CLEARBUFFER ( ) ; //CLEAR LIBRARY UART BUFFER ••



stanza di 1 secondo uno dall'altro e a gestire la •





• •

sequenza di invio pensa una macchina a stati •



GSM. I NI TPOWERON GSM() ; //START GSM IN I TIALIZATION ••


• •

realizzata con il consueto costrutto "switch" (fun- •• • • • • • • • • • • • • • • • o ••• o • • • • • • • • • • • • • • • • • • • • • • • •• o • • • • • • • • • • • • • • • • • • • ~ • • • • • • • • • • • • • • • • • • • •


zione voi d Send_ AT_ Cmd (void) "). Anche la funzione


11
(Continua)

78 Dicembre 2018 /Gennaio 2019 - ELETTRONICA IN


• •


Listato 1->s'egue •
• •
• •
• •

• GSM . UARTFLAG.BIT . ENABLEUARTSM = 0; •

• •


GSM . EXECUTEUARTSTATE () ; •

che si occupa di stampare a monitor le informa- •


GS M. UARTFLAG . BIT. ENABLEUARTSM = l ; •


• •
zione estrapolate lavora sfruttando una macchina •

DELAY(500) ; •


• ISR . TIMEOUTWAIT = T 15SEC; •

a stati con medesimo costrutto (funzione "void •

• SENDSMS = TRUE ;


PrintDataReceived(void)"). :}






• •
: VOID LOOP () { •

• •
SKETCH GESTIONE SMS E CHIAMATA VOCALE •


GSM . EXECUTEUARTSTATE ( ) ; •


Nel Listato 1 trovate lo sketch "GSM_SmsOnly"

• IF (GSM . GSMFLAG. BIT . GSMINITI NPROGRESS == l) { •

• •

• GSM . INITGSMSENDCMD() ; •

in grado di gestire gli SMS. Si tratta un uno sketch •


GSM . INITGSMWAITANSWER() ; •

molto semplice e dedicato a questa specifica funzio- :• } ELSE { •




• •
• •
ne. Lo sketch "GSM_Sms_PhonicCall" (che trove- •

• GSM . UARTCONTINUOUSLYREAD() ;



• •
rete tra i numerosi esempi della libreria) ci permette •


GSM . PROCESSUNSOLICITEDCODE() ; •


• GSM . GSMANSW