Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
160 PAGINE
4G
THREAD, il protocollo
low-power
DONE, il PIC in assembler
Poste italiane Spa - Spedizione in abbonamento Postale: D.L. 353/2003 (conv. in L. 27/02/2004 n°46) art. 1 - comma 1 - DCB Milano. Prima immissione: 03/06/2023.
Recensione oscilloscopio
DSO2D10
Dado elettronico
Breakout
Board 4G Energy Meter
in Cloud
Jolly,
l’ Arduino Uno Emulatore 555 con microcontrollore
Postazione multifunzione
cod. HR2120
€ 39,00
cod. TP232
€ 17,00 cod. VTHH6
€ 12,00
Terza mano con luce LED, lente d’ingrandimento Terza mano con lente d’ingrandimento
3,5X e supporto per saldatore 2,5X e supporto per saldatore
La transizione EDITORIALE
1
Contenuti
01 RUBRICHE 11 ARTICOLI
01 Editoriale NETWORKING
05 T&T Tips & Tricks 11 THREAD, il protocollo
156 Scienza & Tecnologia low-power
Conosciamo Thread, il protocollo di
comunicazione wireless basato su IPv6,
progettato per connettere dispositivi IoT
a bassa potenza.
Progetto di Copertina
DIDATTICA
IN VETRINA
33 DSO2D10 Hantek
Abbiamo provato per voi l’oscilloscopio
digitale professionale con generatore
di funzioni integrato DSO2D10 e ne
condividiamo le impressioni.
GADGET
47 Dado elettronico
Mostra un numero pseudo-casuale su 7
LED che lampeggiano rallentando sempre
più come un dado che rotola sul tavolo da
93 gioco, fino a fermarsi.
11 19 33
2
CONTENUTI
47 55 71 79
DIDATTICA MISURE
55 Emulatore 555 103 Misurare i condensatori
con microcontrollore con l’oscilloscopio
Misuriamo la capacità dei condensatori utilizzando
Confrontiamo, a scopo didattico, un Timer 555 con
un circuito RC, un oscilloscopio e un generatore di
un microcontrollore ATtiny85 programmato per
segnale ad onda quadra.
emulare il funzionamento del famoso timer.
HEALTHCARE
HEALTHCARE
109 Heart rate monitor
71 micro:bit ci ricorda di bere
l’acqua Colleghiamo un pulsiossimetro a un modulo ESP32,
che invierà tramite BLE i dati sulla frequenza
Vediamo come utilizzare micro:bit e il modulo cardiaca ad un touch LCD basato su ESP32-S3.
ESP8266 per inviare messaggi su Telegram come
memo per bere un bicchiere d’acqua ogni ora.
ARDUINO
HOME PROJECT
123 Con JOLLY l’Arduino Uno diventa
79 Energy Meter in Cloud
Wi-Fi
Abbiniamo un contatore di energia ad un transceiver
WiFi per pubblicare in Cloud e sull’interfaccia di una Presentiamo Jolly, un add-on per dotare la più
App le statistiche sui consumi elettrici di casa. famosa board open-source della funzionalità Wi-Fi.
WIRELESS DIDATTICA
Caratteristiche salienti
• Secure boot
• Upgrade Sicuro del firmware
• Comunicazione on-board Sicura o autenticazione messaggi
• Autenticazione Electronic Control Unit (ECU)
• Autenticazione caricatore wireless WPC Qi® 1.3
• Protezione IP
• Autenticazione rete e gestione delle sessioni
• Validazione e archiviazione dei certificati X.509
• Gestione ciclo di vita
Il FET GaN
I GaN sono particolati MOSFET
&
basati su una tecnologia differente
da quella tradizionale, nel senso
che il canale viene creato in una
regione di semiconduttore arti-
ficiale, che è appunto il nitruro di
gallio. I semiconduttori artificiali
sono semiconduttori non presenti
in natura e costruiti combinando
elementi trivalenti come il gallio e
l’indio, e pentavalenti come l’arseni-
co e l’azoto; il primo che ricordiamo
essere stato usato in elettronica è
Tips & Tricks sono i nostri suggerimenti in pillole
e i piccoli trucchi riguardanti sia l'hardware che
il firmware, che sperimentatori, tecnici e progettisti
elettronici vorrebbero conoscere per sviluppare meglio
l’arseniuro di gallio impiegato nella la propria passione: quella per l'Elettronica applicata.
costruzione dei LED rossi e dei diodi
laser a luce rossa. Ecco quelli che abbiamo preparato questo mese per voi.
Il nitruro di gallio è una combina-
zione di gallio e azoto la cui realiz- dispositivi a parità di potenza com- i 6 volt, pena il danneggiamento della
zazione è stata resa possibile solo mutata, cosa che oggi è determinan- regione di gate. Altra accortezza è pre-
poco tempo fa e che nei FET GaN te per realizzare applicazioni sempre venire elevati transitori con caratteristica
viene deposto epitassialmente su più piccole e indossabili. dV/dt che potrebbero alterare il compor-
un substrato di silicio intrinseco A questi pregi, il FET GaN contrap- tamento in commutazione.
(cioè non drogato) eventualmente pone qualche ostacolo da superare Per avere un’idea delle prestazioni di un
previa interposizione di uno strato di come ad esempio la più bassa MOSFET GAN in questa pagina è propo-
nitruro di alluminio. Lo strato di GaN tensione gate-source sopportabile sto un grafico che confronta le caratteri-
è anch’esso non drogato. L’elettrodo (parliamo di MOSFET enhancement- stiche di un componente del genere con
di gate è isolato con nitruro di gallio mode, dove il canale viene creato un MOSFET a tecnologia tradizionale di
e alluminio. dalla Vgs) che non deve superare caratteristiche analoghe.
Rispetto ai tradizionali MOSFET, che
sono fatti di silicio e ossido o nitruro
di silicio, i nuovi MOSFET enhance-
ment mode in nitruro di gallio GaN
consentono di raggiungere livelli di
densità di potenza molto più elevati
e offrono perciò un significativo van-
taggio nelle applicazioni di potenza
come i convertitori DC/DC, gli inver-
ter e in generale i circuiti che devono
gestire utilizzatori di potenza come i
motori elettrici.
L’utilizzo del nitruro di gallio con-
sente di abbassare la Rdson (ossia
la resistenza del canale in stato di
piena conduzione) rispetto a quella
permessa dai migliori MOSFET in
silicio e questo permette di ridurre
la potenza dissipata nelle applica-
zioni in circuiti a commutazione, di
lavorare a più elevate frequenze di
commutazione (grazie alla ridotta
capacità parassita di gate), ma
anche di ridurre le dimensioni dei Curva di efficienza del MOSFET GAN al variare della corrente di drain.
5
Una termocamera molto interessante per chi vuole
sperimentare con l’imaging termico
Un esempio è la breakout board repe-
ribile on-line su www.futuranet.it con il
low-cost e poi passare a sensori d’immagi- codice prodotto AMG8833MODULE, in
ne più prestanti. Una caratteristica grado di rilevare il calore di un oggetto
Esistono fotocamere nate per scat- del sensore termico a infrarossi o di un corpo umano ad una distanza
tare foto agli infrarossi e rilevare il AMG8833 è la frequenza di aggior- fino a 7 metri, funzionante a 3 volt
calore delle superfici: sono dette ter- namento dei dati (refresh-rate) che (l’assorbimento è di soli 4,5 mA), nel
mocamere e tipicamente si utilizzano arriva a 10 Hz, che utilizzando una range di temperatura compreso fra
in ambito industriale, tuttavia è possi- scheda microcontrollore ESP32 per 0 e 80°C (da 32°F a 176°F) con una
bile anche sperimentarne la tecnolo- la sua gestione è possibile sfruttare precisione di circa 2,5°C; l’angolo di
gia con soluzioni hobbistiche tirando al massimo. Il dispositivo Panasonic apertura, ossia quello di rilevazione
in mezzo l’immancabile scheda di nasce per essere utilizzato in elet- del sensore di immagine è 60 gradi.
prototipazione, che nello specifico è trodomestici, dispositivi di risparmio Il tutto sta su un circuito stampato
la ESP32, il cui pregio è coniugare po- energetico, sensori per porte automa- che misura appena 17,6×17,1×7 mm
tenza di calcolo e periferiche wireless tiche e comunque per riprese che non e che può essere montato mediante
con la facilità di programmazione richiedono dettaglio, ma una semplice pin-strip, in virtù del fatto che le sei
caratteristica dell’ambiente Arduino. analisi per macro aree. piazzole di collegamento sono a pas-
Con essa è possibile gestire un sen- In queste pagine vedete lo schema so 2,54mm e tutte disposte su un lato
sore d’immagine AMG8833 Grid-EYE a blocchi che descrive la struttura della breakout board.
della Panasonic, in grado di “foto- dell’AMG8833. Per la gestione in ambiente Arduino,
grafare” ad infrarossi scene nella La gestione tramite microcontrollore Adafruit rende disponibile una libreria
gamma di temperatura da 0 a 80 e nello specifico mediante schede chiamata AMG88xx.
gradi Celsius, con una risoluzione 8×8 di prototipazione rapida come le Lavorando con un refresh-rate di
pixel: pochi, però grazie all’utilizzo di ESP32, è semplificata dal fatto che 10 Hz, dato che ogni “pixel” del
tecniche di interpolazione è possibile l’AMG8833, così come i suoi similari sensore d’immagine acquisisce la
ottenere immagini termiche di di- 8831 e 8832, è reperibile in commer- temperatura dieci volte al secondo, il
mensioni maggiori, come ad esempio cio su breakout board di cui sono flusso di dati completo su I²C-Bus è
240x240. Le riprese possono essere accessibili sei contatti: VIN, GND, SCL costituito da 10 serie di 64 temperatu-
visualizzate in real-time su un display (clock) SDA (dati) INT e AD0. INT è il re al secondo.
LCD/TFT di quelli controllabili tramite pin di interrupt configurabile che può Il compito del microcontrollore è con-
I²C-Bus come ad esempio un TFT da essere attivato quando un singolo frontare ciascuna delle “temperature”
3,2 pollici 320x240 pixel. pixel è al di sopra o al di sotto della con una tabella di corrispondenza dei
Questo sensore presenta numero- soglia impostata. La comunicazione colori, determinare il colore corrispon-
se caratteristiche che lo rendono avviene tramite il protocollo I²C-Bus. dente e inviare quel colore al display,
6
TIPS & TRICKS
7
ABBONAMENTO
ANNUALE
Visita: www.elettronicain.it
ABBONAMENTO
6 NUMERI
ANNUALE PER RIVISTA
€29
A SOLI
DIGITALE
In OMAGGIO avrai
ANZICHÉ € 45, 00
C O M E A B B O N A R S I
on-line e-mail telefono
nella pagina “Riviste e Corsi Gratuiti” scrivendo a telefonando a
del nostro sito www.elettronicain.it abbonati@elettronicain.it +39-0331-752668
ABBONAMENTO ANNUALE
PER RIVISTA CARTACEA 6
NUMERI
In OMAGGIO avrai A SOLI
€39
il 10% DI SCONTO per i tuoi ordini
su Futuranet.it
GRATIS 1 VOLUME A SCELTA della collana
ANZICHÉ € 45,00
"L'elettronica per tutti" oppure
BUONO SCONTO DA 5€ valido 12 mesi
da utilizzare su Futuranet.it nelle categorie "Libri" o "Riviste"
La possibilità di LEGGERE GRATUITAMENTE
la versione digitale di ELETTRONICA IN
Gli strumenti di sviluppo
in un unico posto
Migliaia di strumenti da centinaia
di produttori fidati
IL PROTOCOLLO
LOW-POWER
di MARCONATALE PARISE e VINCENZO GERMANO
M
atter ha risolto uno dei grossi
Conosciamo problemi degli ultimi anni, ovvero la
Thread, il compatibilità tra prodotti connessi
all’interno di una abitazione con
protocollo di l’obiettivo di creare uno standard
comunicazione utilizzabile da chiunque e facilmen-
te integrabile. È nato per mettere
wireless ordine nella frammentazione degli ecosistemi IoT (Internet of
basato su IPv6, Things), che creano ancora confusione tra gli utenti e le azien-
de, che vogliono espandere i loro prodotti in più ecosistemi.
progettato per Anche l’utilizzatore poco esperto che in questi anni ha scelto
connettere di utilizzare prodotti smart all’interno della propria abitazione,
si è sicuramente trovato davanti a prodotti che non comu-
dispositivi IoT a nicano facilmente tra loro spesso a causa delle scelte fatte
bassa potenza. dalle aziende produttrici.
11
Matter tecnicamente non è un protocollo ma uno so consumo energetico, generalmente utilizzato
strato software, invisibile all’utente, che potrà dia- per dispositivi a batteria. Una singola rete può
logare con i dispositivi di casa attraverso l’invio e la ospitare oltre 250 dispositivi in grado di comuni-
ricezione di istruzioni. La sua stratificazione preve- care tra loro e di adattarsi alla variazione della rete,
de un livello di trasporto attraverso i protocolli già facendo anche fronte ad eventuali guasti. Questo
noti TCP e UDP, un livello di collegamento dati e un protocollo è basato su IPv6 e sviluppato per con-
livello fisico (ovvero i mezzi per trasmettere i dati) nettere direttamente e in modo sicuro i dispositivi
come Ethernet, Wi-Fi, Thread e Bluetooth LE (Low a una rete internet e Cloud.
Energy - BLE). Il BLE, solitamente, viene usato Solo come linea generale, possiamo dire che una
per operazioni di pairing (accoppiamento) ovvero rete Mesh è una topologia di rete locale in cui i
inserimento del dispositivo all’interno della rete, dispositivi sono collegati tra loro direttamente, di-
Ethernet e Wi-fi possono essere usati per gestire namicamente e non gerarchicamente; tali reti sono
una quantità di dati notevole come ad esempio semplici da installare, altamente sicure, scalabili su
un video, ed infine Thread come protocollo radio centinaia di dispositivi e sviluppate per funzionare
per gestire la connessione dei dispositivi che su dispositivi IEEE 802.15.4 a basso consumo e a
non richiedono una banda di trasmissione ampia. basso costo.
Quest’ultimo presenta innumerevoli vantaggi Basato su standard aperti e con protocolli
che vedremo in dettaglio nel proseguo di questo IPv6/6LoWPAN, l’approccio di Thread alla rete
articolo. wireless offre una rete mesh sicura e affidabile
infatti la presenza di eventuali errori non minaccia
INTRODUZIONE THREAD il funzionamento della rete.
Thread è un protocollo rilasciato nel 2015 dalla Le sue principali caratteristiche possono essere
Thread Group Inc. che conta più di 200 compagnie riassunte in:
tra i quali emergono ARM (Softbank), Freescale 1. Semplice da utilizzare - Thread supporta
(NXP), Nest Labs (Google), Samsung e Silicon Labs, diverse topologie di rete. L’installazione è
presenti nello sviluppo del protocollo. È stato semplice utilizzando uno smartphone, un tablet
ideato come protocollo IoT e nello specifico in o un computer. In corrispondenza di una nuova
ambito domotica e quindi per un sistema chiuso di installazione vengono generati dei codici univoci
impianti interconnessi tra loro, strutturati in modo garantendo la connessione solo ed esclusiva-
gerarchico e ben organizzati; questo approccio ver- mente a dispositivi autorizzati.
ticale permette di centralizzare la gestione di tutto La semplicità dei protocolli per la formazione e
l’ambiente domestico, sia interno che esterno, in l’unione delle reti consentono ai sistemi di auto-
un unico pannello di controllo e di coordinare le configurare e risolvere i problemi di indirizza-
diverse funzionalità in scenari, sequenze d’azioni mento man mano che si verificano.
pre-programmate che possono essere attivate 2. Sicuro - I dispositivi non entrano in rete se
con un singolo comando. non autorizzati e tutte le comunicazioni sono
Thread è un protocollo di rete mesh wireless a bas- crittografate. La sicurezza è garantita a livello di
I nuovi dispositivi
Echo di Amazon
integrano Matter.
12
rete e a livello di applicazione.
Tutte le reti Thread sono crittografate utilizzan-
do un’autenticazione che prevede l’utilizzo dello Fig. 1
Livelli della
smartphone e la crittografia Advanced Encryp- struttura
tion Standard (AES). Thread.
3. Adattabile - Le reti domestiche variano da
diverse a centinaia di dispositivi. Il livello di rete
è progettato per ottimizzare il funzionamento
della rete in base all’utilizzo previsto.
4. Rilevamento e connettività di servizi bidi-
rezionali - Per la comunicazione fuori dalla
rete (off mesh), Thread fornisce un registro di
servizio in cui i dispositivi possono registrare la
loro presenza e servizi/clienti possono utilizzare
specifiche richieste (query) per scoprire i servizi
registrati.
5. Range - I dispositivi tipici forniscono un range
sufficiente in grado di ricoprire il perimetro di
un’abitazione.
La nuova progettazione disponibile con gli
amplificatori di potenza estendono il range con
uno spettro di diffusione distribuito e utilizzato
al livello fisico (PHY) per essere più immune alle 7. Basso consumo - I dispositivi comunicano in
interferenze. modo efficiente per offrire un’esperienza utente
6. Immunità - L’architettura è progettata per migliorata. I dispositivi possono in genere fun-
fornire operazioni sicure e affidabili anche con il zionare per diversi anni con batterie di tipo AA
guasto o la perdita di dispositivi individuali. utilizzando cicli di funzionamento adeguati.
Fig. 2
PAN (Private
Area Network).
13
8. Conveniente - I chip compatibili hanno un nella rete avviene tramite onde radio che operano
prezzo agevolato per la distribuzione di massa e su frequenze di 2450MHz e si basano sullo stan-
sono progettati per avere un consumo estre- dard IEEE 802.15.4, uno standard tecnico nato
mamente basso. nel 2003 con lo scopo di definire il funzionamento
di una rete wireless a bassa frequenza in un’area
COMUNICAZIONI DELLE STRUTTURE personale (PAN).
Entriamo nel dettaglio della struttura del proto- In linea con lo standard IEEE 802.15.4 (2006) e
collo e quindi nel flusso di informazioni tra livelli con i livelli della struttura Thread di Fig. 1, i di-
(che chiameremo layer) che possono essere di spositivi supportano un’interfaccia fisica (Physical
tipo fisico (Physical Layer), dati (Data Link layer), di Layer) ovvero definisco il mezzo di trasmissione
rete (Network Layer) e infine per la trasmissione dati (indicati in formato bit) lungo il Data Link
e ricezione dati (Transport Layer) come mostrato Layer. Quest’ultimo può essere associato ad un
in Fig. 1. circuito elettronico che ha il compito di trasmette-
Con rifermento a quella che può essere un’ap- re e ricevere le informazioni in informato digitale.
plicazione in ambito domotica, è importante che Nel protocollo Thread, è implementato attraver-
venga prevista un’area di rete privata (Private so il Media Access Control (MAC) che contiene
Area Network o più comunemente PAN) come funzionalità di controllo di accesso al mezzo fisico
rappresentata in Fig. 2. (Physical Layer) per canali broadcast, funzionalità
Thread PAN è costituito da bordi e nodi. Ogni nodo di framing e controllo di errore.
ha determinate capacità, alcuni garantiscono il I dispositivi all’interno di una rete Thread sup-
collegamento della PAN a Internet, altri possono portano un’architettura di indirizzamento auto
solo trasmettere al nodo più vicino e altri facilitano configurato IPv6, acronimo di Internet Protocol
la trasmissione dati da un nodo all’altro. Una rete versione 6 ovvero un protocollo di comunicazione
Fig. 3
Architettura
può essere di diversa topologia ma per il proto- che fornisce al dispositivo un’identificazione e una
domestica. collo Thread si ha una rete di tipo Mesh per la sua posizione in rete attraverso Internet. Lo strato di
scalabilità, robustezza e capacità di rigenerarsi in rete Thread (Network Layer) è rappresentato dal
caso di guasto. La trasmissione delle informazioni 6LoWPAN (acronimo di “IPv6 over Low-Power
Wireless Personal Area Networks”) ovvero un
protocollo creato con l’intenzione di applicare il
protocollo Internet (IP) anche ai dispositivi più
piccoli consentendo ai dispositivi a bassa potenza
con capacità di elaborazione limitate di partecipa-
re in applicazioni IoT.
Analizzato brevemente il protocollo di comunica-
zione, è necessario definire come i dati possono
essere instradati attraverso il layer di Routing (di-
rettamente legato alle proprietà della rete Mesh).
La rete Mesh rende i sistemi wireless più affidabili
attraverso la trasmissione di onde radio verso altri
nodi. Per esempio, se un nodo non può inviare un
messaggio direttamente ad un altro nodo, la rete
mesh inoltra il messaggio attraverso uno o più
nodi intermediari, oppure in caso di errore i mes-
saggi possono essere inviati lungo altri percorsi.
Queste caratteristiche rendono la rete robusta e
forniscono una continuità alla rete con la possibi-
lità di connettere fino a 32 nodi router. Per quanto
riguarda l’ultimo strato di trasporto (Transport
Layer), esso è basato principalmente da proto-
collo UDP (User Datagram Protocol), il protocollo
Internet che consente di inviare i pacchetti verso
altri nodi lungo la rete Internet, e dal Constrai-
ned Application Protocol (CoAP), progettato per
14
soddisfare i requisiti dei dispositivi alimentati a • Border Router: forniscono connettività dalla
batteria con risorse CPU/RAM limitate. Il CoAP è rete 802.15.4 alle reti adiacenti su altri livelli Fig. 4
un protocollo destinato all’uso in dispositivi Inter- fisici (Wi-Fi, Ethernet, ecc.) ma anche servizi Architettura
commerciale.
net con risorse limitate, ad esempio nodi di rete di routing e di individuazione dei servizi per le
con sensori wireless e quindi sistemi IoT. Nello operazioni fuori rete.
scambio delle informazioni il protocollo CoAP non • Leader: che gestisce un registro per l’assegna-
può utilizzare SSL/TLS per garantire la sicurezza zione di identificativi router utilizzando CoAP
della comunicazione (questo richiede il livello di e accetta le richieste dei dispositivi REEDs
trasporto TCP). La sicurezza delle comunicazioni è (router-eligible end devices) per diventare rou-
fornita dallo standard Datagram Transport Layer ter. Tutte le informazioni contenute nel Leader
Security (DTLS), che funziona su UDP e fornisce un sono presenti negli altri Thread Router ma nel
alto livello di sicurezza con l’obiettivo di prevenire caso di errori o perdita di connettività con la
intercettazioni, manomissioni o falsificazioni di rete Thread, verrà eletto un altro Thread Router
messaggi. Infine, come ultimo layer si ha l’Appli- che prenderà il posto di Leader senza l’inter-
cation, che può essere definito come “il linguaggio vento dell’utente.
dei dispositivi”, ovvero assicura che un’applica- • Thread Router: forniscono servizi di indiriz-
zione possa effettivamente comunicare con altri zamento (routing) ai dispositivi di rete. Forni-
dispositivi su differenti sistemi. scono anche servizi di adesione e sicurezza
per i dispositivi che cercano di entrare in rete.
ARCHITETTURE DI RETE Non sono progettati per entrare in uno stato
Analizzato a grandi linee il protocollo senza dormiente (sleep) e possono declassare le loro
estremizzarne la trattazione, vediamo brevemen- funzionalità e diventare REEDs.
te alcune tipologie di rete e i dispositivi chiave • REEDs: (router-eligible end devices) può diven-
nell’architettura in ambito residenziale, vedi Fig. 3, tare un Thread Router o un Leader, ma non ne-
i seguenti tipi di dispositivi sono inclusi in una rete cessariamente un Border Router. A causa della
Thread, a partire dalla rete Wi-Fi: topologia di rete o di altre condizioni, REEDs
15
Fig. 5
Modello Thread
Domain.
non agiscono come router, non trasmettono della rete o il volume dei dati vengono ridimen-
messaggi o forniscono servizi di adesione o di sionati.
sicurezza per altri dispositivi nella rete. I Backbone Border Routers (BBRs) indicati nella
• End devices: che non sono idonei per diventa- Fig. 5 con l’acronimo BR sono una classe di Bor-
re router ma possono essere sia FEDs (full end der Router nello spazio commerciale che facilita-
devices) or MEDs (minimal end devices). no la sincronizzazione del Thread Domain di più
• Sleepy end devices: (SEDs) comunicano solo segmenti di rete. Mentre il Backbone Link è un
attraverso il Thread Router e non possono collegamento IPv6 al quale un BBR si connette
inoltrare messaggi verso altri dispositivi. utilizzando un’interfaccia esterna utilizzata per
• Synchronized Sleepy End Devices: (SSEDs) implementare il Thread Backbone Link Protocol
sono una classe di dispositivi che utilizzano (TBLP) per la sincronizzazione con altri BBR.
IEEE 802.15.4-2015 per mantenere una pia-
nificazione sincronizzata con un Thread Router, CONCLUSIONI
evitando l’uso di regolari richieste. Abbiamo visto come Thread sia stato progettato
per supportare al meglio il sistema Matter e le
In Fig. 4 viene rappresentata un’architettura di applicazioni IoT.
rete Thread in ambito commerciale che applica il È un protocollo di rete wireless a bassa potenza,
modello in ambito residenziale e aggiunge nuovi basato sul Internet Protocol (IP) universalmente
concetti, infatti gli utenti comunicano con una supportato e costruito utilizzando standard aperti
rete commerciale tramite dispositivi (smartpho- e collaudati. Consente comunicazioni da disposi-
ne, tablet o computer) tramite Wi-Fi o tramite la tivo a dispositivo e da dispositivo a cloud, collega
loro rete aziendale. in modo affidabile centinaia (o migliaia) di prodotti
Infine analizziamo a grandi linee una tipologia di e include funzionalità di sicurezza obbligatorie da
modello Thread Domain, come mostrato in Fig. 5. implementare.
Questo supporta l’integrazione di più reti Thread, Si basa sullo standard radio IEEE 802.15.4 am-
con il vantaggio principale che i dispositivi sono piamente supportato, progettato da zero per un
in una certa misura “flessibili” di unirsi a qualsi- consumo energetico estremamente basso e una
asi rete Thread disponibile, mediante un Thread bassa latenza consolidando la robustezza del pro-
Domain comune. Ciò riduce la necessità di una tocollo che sarà disponibile nel breve tempo nelle
pianificazione manuale della rete o di costose nostre abitazioni utilizzando architetture efficienti,
riconfigurazioni manuali quando le dimensioni sicure e affidabili.
16
Precisione fino all’ultimo grammo!
Celle di carico ed elettronica necessari per la misura del peso di oggetti
in moltissimi ambiti dalle bilance elettroniche alle pese industriali.
Composta da una struttura in metallo e Cella di carico di tipo “S” realizzata in Composta da una struttura in metallo e
da piccoli elementi chiamati estensimetri acciaio inossidabile, classe di precisione da piccoli elementi chiamati estensimetri
(strain gauges) montati in precisi punti C3, range 1 tonnellata e due fori filettati montati in precisi punti sulla struttura.
sulla struttura. Fornisce in uscita un M12. Fornisce in uscita un segnale Fornisce in uscita un segnale elettrico
segnale elettrico che varia in funzione elettrico che varia in funzione della che varia in funzione della deformazione
della deformazione che la forza, deformazione che la forza (trazione o che la forza applicata sul componente
applicata sul componente, produce. compressione) applicata sul componente produce.
produce.
€ 64,00
Cod. LCST1TONS
€ 7,00
Cod. 10KGLOADCELL
€ 9,90
500 Kg cod. LCST500KG € 64,00 20 Kg cod. 20KGLOADCELL € 7,00
200 Kg cod. LCST200KG € 64,00 5 Kg cod. 5KGLOADCELL € 7,00
Cod. LC50KG
100 Kg cod. LCST100KG € 64,00 1 Kg cod. 1KGLOADCELL € 7,00
€ 28,00
Cod. LOADCELLKIT
€ 5,00
Cod. HX711BOARD
MILLEFORI
CODICE MISURA (mm) FACCIA DISTANZA PREZZO
Piastra Millefori 150×90 mm PIAZZOLE (€)
(mm)
doppia faccia
cod. YK653
€ 4,50
YK604 150×90 singola 2,54 3,80
BREADBOARD
Breadbord 170 contatti Breadbord con base Breadboard 1660 contatti
colore bianco autoadesiva 400 contatti con base in metallo
45x35 mm 82x55 mm e boccole
ROSSO Misura piastra:
cod. BBMINIW 164x109x9,5 mm
cod. BBMINIR
€ 2,50
cod. BB400 cod. YJ319
Misura base:
€4 ,00
€ 14,00
NERO 215x131x1 mm
cod. BBMININ
BLU
cod. BBMINIB COD. MISURA N. PREZZO COD. MISURA MISURA N. PREZZO
(mm) CONT. (€) PIASTRA BASE CONT. (€)
VERDE (mm) (mm)
cod. BBMINIV BB830 165x55 830 5,50 BB3220 188x182x9,5 240x210 3220 21,00
RAMATE PRESENSIBILIZZATE
Piastra Ramata 160×100 mm Piastra Presensibilizzata
singola faccia 160×100 mm singola faccia
cod. P-951 cod. 4062
€2 ,50
€ 5,50
CODICE MISURA (mm) FACCIA PREZZO (€) CODICE MISURA (mm) FACCIA PREZZO (€)
Prezzi IVA inclusa.
DONE,
IL PIC IN ASSEMBLER
di VINCENZO LIGORIO
C
apita spesso di dover realizzare sempli-
ci circuiti elettronici per risolvere delle
necessità contingenti; in tal caso si
prende una basetta millefori, ci si mon-
Sperimentiamo ta la manciata di componenti neces-
sari e si realizza un montaggio cablato,
con il PIC12F675 collegando gli elementi tra loro con dei
realizzando pezzetti di filo. Si prova il circuito, si
correggono gli eventuali errori riscontrati in esso, lo si collega
circuiti comuni e ai dispositivi periferici e si riprova il tutto.
programmandolo Con DONE il lavoro si semplifica: si prende DONE, si collega-
no i dispositivi periferici e si scrivono poche righe di codice
in assembler per in Assembler e il controllore è pronto a funzionare in modo
gestire 3 input e affidabile. La scrittura del firmware è semplice e veloce grazie
ad un template già pronto e ai molteplici esempi proposti.
altrettanti output. Provare a programmare un microcontrollore in Assembler
19
schema ELETTRICO
SCHEMA ELETTRICO
Lo schema elettrico del circuito è riportato in
queste pagine e da esso appare la semplicità del
progetto. Le quattro sezioni di cui si compone
DONE, alimentazione, microcontrollore, ingressi e
uscite, sono descritte qui di seguito.
Sezione di alimentazione
La tensione di alimentazione +12Vcc (in realtà è
ammesso un valore da 8,5 a14V ) è collegata ai
morsetti Vin e GND del connettore J1. Il diodo D1
protegge la scheda dall’ inversione di polarità.
Il LED LD1, in serie al quale abbiamo inserito un
resistore di limitazione della corrente, segnala
la presenza dell’alimentazione. Il regolatore IC2
ricava la tensione di alimentazione (+5V) per il
microcontrollore e si avvale dei condensatori C2 e
C3 che filtrano la tensione in ingresso e in uscita,
per renderne il funzionamento stabile e fornire
un’alimentazione pulita al microcontrollore.
Notate che la scheda può essere alimentata con
una tensione stabilizzata di +5V (ad esempio da un
alimentatore da rete con uscita +5V su connettore
USB ); in questo caso il regolatore IC2 non deve
essere montato e deve essere sostituito da un
collegamento tra i suoi piedini di Input e di Output.
La resistenza R1 deve essere sostituita con una da
100 ohm.
Microcontrollore
IC1 è il microcontrollore che gestisce la sche-
da DONE. In questa versione che acquisisce 3
ingressi digitali e controlla 3 uscite è stato usato
il PIC12F675. Sono comunque disponibili altri
microcontrollori compatibili, i quali differiscono per
quantità di EEPROM, RAM e periferiche interne. Un
esempio della popolosa famiglia PIC12FXXX sup-
portati dalla scheda è il PIC12F629 (1.024 word da
20
Fig. 1
Principali
elementi
di input
della scheda
DONE.
21
Fig. 2
Alcuni componenti
e dispositivi di usci-
ta per la DONE.
collettore di uno dei transistor per il ricircolo della Memoria Programma usando un programmatore
corrente in caso di pilotaggio di carico induttivo, adatto: più avanti in questo articolo esporremo
come lo è, ad esempio, la bobina di un relé. l’impiego del PicKit2.
Le uscite sono quindi idonee a pilotare direttamen- Per creare il vostro firmware dovete procedere
te relé con bobina a 12V o piccoli attuatori lineari e così: innanzitutto aprire il template BASE.TXT (sca-
motoriduttori o motori elettrici a 12Vcc. ricabile gratuitamente dal sito www.elettronicain.it
nella pagina di questa rivista) con un editor di te-
IL FIRMWARE sto; questo template è l’ossatura di tutti i firmware
La scheda DONE supporta tutti i microcontrol- applicabili alla scheda DONE e lo riportiamo nel
lori Microchip della serie PIC12FXXX; per questa Listato 1.
configurazione è stato utilizzato il PIC12F675, del
quale le specifiche più significative per questa Notate quindi quanto segue: le righe che iniziano
applicazione sono: con ; sono commenti e non sono eseguite.
• CPU RISC con sole 36 istruzioni, il che rende L’istruzione:
veloce apprendere come programmarlo;
• 8 livelli di stack hardware, per un uso modo include “BASE.inc” ; File definizioni progetto
facile delle routine;
• opzione oscillatore interno a 4 MHz, che permette di includere nel programma delle defi-
significano risparmiare due pin e ottenere una nizioni standard, senza dover ripetere di scriverle
velocità di calcolo di 1 microsecondo di ciclo ogni volta.
istruzione; Invece l’istruzione:
• range esteso di tensione di alimentazione
(2÷5,5Vcc); __CONFIG _INTRC_OSC_NOCLKOUT & _WDT_OFF & _MCLRE_OFF
• A/D converter a 10 bit assegnabile a un massi-
mo di 4 linee; configura il microcontrollore per l’ uso dell’ oscil-
• 2 timer interni che consentono di implementare latore interno a 4MHz, nonché per escludere il
due basi dei tempi indipendenti; Watch Dog ed il reset dall’esterno (quindi liberare il
• In Circuit Serial Programming (ICSP) per garanti- relativo piedino del PIC).
re semplicità di programmazione. Le istruzioni seguenti:
22
Listato 1
list p=12f629 ; Il microcontroller e’ il PIC12F629
; Include i seguenti file
include “P12f629.inc” ; File definizioni standard micro
include “BASE.inc” ; File definizioni progetto
; - - - - - - Inizializzazioni - - - - - - -
start
; istruzioni per configurare il micro come serve
clrf VRCON
movlw 0x38
movwf TRISIO ; 1-2-3 out, 1-2-3 input
; * * * * * * * * * * * * * MAIN * * * * * * * * * * * *
; - - - - - - Ciclo principale - - - - - - -
23
Listato 1 - segue
main
banksel 0x00
goto main
; * * * * * * * * * * * * * Routine * * * * * * * * * * * *
;--------------------------------------------------------------------
end
---------------------------------------------------------------------------------------
degli interrupt, mettere le uscite in stato OFF ed re l’assegnazione dei 6 I/O come 3 per gli ingressi e
escludere il comparatore. 3 per le uscite.
Ancora, le istruzioni qui sotto: L’istruzione per configurare il convertitore A/D
è stata contrassegnata come commento, non
banksel 0x80 ; operazioni in banco 80 essendo, l’ADC, utilizzato; se intendete utilizzarlo,
le relative istruzioni vanno decommentate.
clrf WPU ; No pull up resistors A partire dalla locazione di programma “main” de-
vono essere scritte le righe di programma.
; Vref Off (power off comparator voltage, saves power) Più avanti in questo articolo, nell’apposita sezione
descriveremo due esempi di applicazioni complete
clrf VRCON di codice commentato.
24
tre transistor, dei quali va notata una particolarità:
il tipo scelto è in realtà per montaggio superficiale
ma si può ugualmente saldare sul PCB sia dal lato Fig.3
Pin-out dei
saldature sia, prolungando dei pezzetti di reoforo transistor T1,
avanzato da resistenze, diodi o condensatori, dal T2, T3.
lato componenti. Per chiarire ciò, nella Fig. 3 pro-
poniamo il dettaglio del package del transistor, che
è un SOT-23.
Proseguite il montaggio con lo zoccolo per il micro-
controllore, da orientare come mostrato nel piano
di montaggio (che vi sarà utile anche per l’orien-
tamento dei diodi e transistor) e poi con i conden- ingressi e la massa e altrettanti LED sulle uscite,
satori, badando di rispettare la polarità di quelli ciascuno dotato di una resistenza da 1 kohm posta
elettrolitici; montate quindi il LED LD1. Completate in serie; ricordate che l’anodo (reoforo più lungo)
il montaggio inserendo e saldando le morsettiere a dei LED va rivolto verso il contatto positivo dell’u-
passo 5 mm. scita ed il catodo (reoforo posto dal lato smussato
del contenitore) sul contatto collegato al collettore
ESEMPI APPLICATIVI del transistor.
Andiamo dunque a vedere due semplici programmi Alimentate la scheda DONE tramite i contatti
di esempio che potete sperimentare collegando VIN e GND del connettore (morsettiera) J1 con un
alla scheda DONE tre interruttori a pulsante tra gli alimentatore da 12Vcc in grado di erogare almeno
piano di MONTAGGIO
Elenco Componenti:
25
Listato 2
; - - - - - - Inizializzazioni - - - - - - -
start
; istruzioni per configurare il micro come serve
clrf VRCON
movlw 0x38
movwf TRISIO ; 1-2-3 out, 1-2-3 input
; * * * * * * * * * * * * * MAIN * * * * * * * * * * * *
; - - - - - - Ciclo principale - - - - - - -
main
banksel 0x00
26
bsf GPIO,0 ; Out1 ON
bcf GPIO,1 ; Out2 OFF
bcf GPIO,2 ; Out3 OFF
call sec1 ; delay 1 sec
goto main
mainoff
bcf GPIO,0 ; Out1 OFF
bcf GPIO,1 ; Out2 OFF
bcf GPIO,2 ; Out3 OFF
goto main
goto main
; * * * * * * * * * * * * * Routine * * * * * * * * * * * *
;--------------------------------------------------------------------
sec1
movlw 0xFF ; carica il registro W (accumulatore)con FF
movwf RTA ; e sposta FF nel registro RTA
sec1a
movlw 0xFF ; carica il registro W (accumulatore)con FF
movwf RTB ; e sposta FF nel registro RTB
sec1b
nop ; istruzione di nessuna operazione
; per 1 microsecondo di ritardo
nop
nop
nop
nop
nop ; totale 6 microsecondi
decfsz RTB,1 ; decrementa RTB che aveva caricato a FF
goto sec1b ; e continua fino ad azzerarlo
nop ; ha fatto FF cicli
decfsz RTA,1 ; decrementa RTA che aveva caricato a FF
goto sec1a ; e continua fino ad azzerarlo
end
200 mA di corrente, dopo aver innestato nello scaricabili dal nostro sito www.elettronicain.it insie-
zoccolo da 8 pin il microcontrollore che avrete già me ai file del progetto. Il primo esempio richiede il
programmato con uno dei programmi di esempio caricamento del firmware Lampeggiatore1.ASM che
27
Fig. 4
Impostazioni del
compilatore
MPASM.
28
Listato 3
list p=12f675 ; Il microcontroller e’ il PIC12F675
; Include i seguenti file
include “P12f675.inc” ; File definizioni standard micro
include “BASE.inc” ; File definizioni progetto
; - - - - - - Inizializzazioni - - - - - - -
start
; istruzioni per configurare il micro come serve
clrf VRCON
movlw 0x38
movwf TRISIO ; 1-2-3 out, 1-2-3 input
; * * * * * * * * * * * * * MAIN * * * * * * * * * * * *
; - - - - - - Ciclo principale - - - - - - -
main
banksel 0x00
29
Listato 3 - segue
goto mainoff ; se non premuto spegne le uscite
goto main
mainoff
bcf GPIO,0 ; Out1 OFF
bcf GPIO,1 ; Out2 OFF
bcf GPIO,2 ; Out3 OFF
goto main
; * * * * * * * * * * * * * Routine * * * * * * * * * * * *
;--------------------------------------------------------------------
sec1
movlw 0xFF ; carica il registro W (accumulatore)con FF
movwf RTA ; e sposta FF nel registro RTA
sec1a
movlw 0xFF ; carica il registro W (accumulatore)con FF
movwf RTB ; e sposta FF nel registro RTB
sec1b
nop ; istruzione di nessuna operazione
; per 1 microsecondo di ritardo
nop
nop
nop
nop
nop ; totale 6 microsecondi
decfsz RTB,1 ; decrementa RTB che aveva caricato a FF
goto sec1b ; e continua fino ad azzerarlo
nop ; ha fatto FF cicli
decfsz RTA,1 ; decrementa RTA che aveva caricato a FF
goto sec1a ; e continua fino ad azzerarlo
end
30
Fig. 6
Schermata
principale del
programma
PICkit2
Programmer.
cosa collegate il programmatore al computer, punto non dovrete fare altro che attendere che la
inserite il microcontrollore nell’apposito zoccolo scrittura del firmware sia stata eseguita.
mantenendolo orientato come indicato (altrimenti
la programmazione non avverrà e verosimilmente
il chip si danneggerà).
Come tool di programmazione utilizzeremo il noto
programmatore PICkit2.
Cosa occorre?
Dopo avere installato il relativo software, aprite il
programma PICKkit2 e vi troverete di fronte la sua Il circuito stampato di questo progetto è realizzabile con il
servizio PCB (cod. PCBPRODUCTION). Il relativo file Gerber è
interfaccia utente, proposta nella Fig. 6. scaricabile dalla pagina di presentazione di questo numero.
Nella schermata dovete cliccare sul menù File, Il microcontrollore PIC12F675 (cod. PIC12F675-I/P) è in
quindi impartire il comando Open e selezionate vendita a Euro 4,30. I prezzi si intendono IVA compresa.
il percorso dove si trova il file da caricare, quindi Il materiale va richiesto a:
selezionate il file stesso, contenente il programma
caricare, cliccando sul pulsante Import. Futura Elettronica, Via Adige 11, 21013 Gallarate (VA)
Tel: 0331-799775 - www.futurashop.it
Fatto ciò, cliccate sul pulsante Write e a questo
31
SERVOMOTORI, INDISPENSABILI
PER GLI APPASSIONATI DI ROBOTICA!
INGRANAGGI IN METALLO
cod. MG946R cod. SERVO213 cod. MG996R cod. SERVO360M9G cod. SERVO09METAL
€8 ,50
€ 11 ,00
€9 ,00
€9 ,00
€ 9,00 MINI
MINI SERVO
SERVO
SERVO ANALOGICO
AD ALTE PRESTAZIONI SERVO ANALOGICO MINI SERVO
CON ROTAZIONE DI 60° CON ROTAZIONE DI 180° SERVO ANALOGICO ANALOGICO
CON ROTAZIONE DI 360° MINI SERVO CON ROTAZIONE
• Coppia di torsione: • Coppia di torsione:
ANALOGICO DI 180°
10,5kg/cm (4,8V), 13kg/cm (4,8V) – 15kg/ • Coppia di torsione:
13kg/cm (6V) cm (6V) 9,4kg/cm (4,8V) - 11kg/ CON ROTAZIONE • Coppia di torsione:
• Velocità a 4,8V: • Velocità a 4,8V: cm (6V) CONTINUA DI 360° 1,8kg/cm (4,8V)
0,20sec/60° senza 0,20sec/60° senza • Velocità a 4,8V: 0,19sec • Coppia di torsione: • Rapporto di riduzione:
carico, velocità a 6V: carico, velocità a 6V: /60° senza carico, 1,8kg/cm (4,8V) 320:1
0,17sec/60° senza 0,16sec/60° senza velocità a 6V: 0,15sec • Rapporto di riduzione: • Velocità a 4,8V: 0,12
carico carico /60° senza carico 320:1 sec/60° senza carico
• Alimentazione: • Alimentazione: • Alimentazione: • Alimentazione: • Alimentazione:
da 4,8 a 7,2V da 4,8 a 6V da 4,8 a 6V • da 4,8 a 6V • da 4,8 a 6V
• Dimensioni: • Dimensioni: • Dimensioni: • Dimensioni: • Dimensioni:
40,7x19,7x42,9mm 40,6×39,5×20mm 42,7×40,9×20mm 22,6x32x12mm 22,6×11,8×26,7mm
• Peso: 55g • Peso: 55g • Peso: 55g • Peso: 12g • Peso: 12g
INGRANAGGI IN PLASTICA
€8 ,50
€9 ,90
€8 ,00
€ 9,90
cod. SERVO206
MINI
SERVO
€ 7,50
MINI
SERVO ANALOGICO SERVO ANALOGICO SERVO
CON ROTAZIONE DI 120° CON ROTAZIONE DI 180° MINI SERVO
• Coppia di torsione: SERVO ANALOGICO • Coppia di torsione: ANALOGICO
13kg/cm (4,8V) – 15kg/ CON ROTAZIONE 5,5kg/cm (4,8V) - CON ROTAZIONE DI 160°
cm (6V) CONTINUA DI 360° 6,5kg/cm (6V) MINI SERVO • Coppia di torsione
• Velocità a 4,8V: • Coppia di torsione: • Velocità a 4,8V: ANALOGICO 1,2kg/cm (4,8V) - 1,5kg/
0,20sec/60° senza 5,5kg/cm (4,8V) 0,19sec/60° senza CON ROTAZIONE DI 60° cm (6V)
carico, velocità a 6V: • Velocità a 4,8V: carico, velocità a 6V: • Coppia di torsione: • Velocità a 4,8V:
0,16sec/60° senza 0,22sec/60° senza 0,15sec/60° senza 2,3kg/cm 0,12sec/60°, velocità a
carico. carico carico • Velocità: 0,18 sec/60° 6V: 0,11sec/60°
• Alimentazione: • Alimentazione: • Alimentazione: • Alimentazione: • Alimentazione:
da 4,8 a 6V da 4,8 a 6V da 4,8 a 6V da 4,8 a 6V da 4,8 a 6V
• Dimensioni: • Dimensioni: • Dimensioni: • Dimensioni: • Dimensioni:
54,2×39,5×20mm 40×39,1×20mm 40,6×39,5×20mm 28,5×13,3×30,6mm 22,5x12x29mm
• Peso: 55g • Peso: 38g • Peso: 42,5g • Peso: 17g • Peso: 9g
DSO2D10
HANTEK
del Prof. MICHELE MENNITI
G
ià altre volte abbiamo recensito
strumenti da laboratorio a marchio
Abbiamo provato per Hantek, riscontrando come il rapporto
tra prezzo e prestazioni (e qualità) si sia
voi l’oscilloscopio sempre rivelato interessante per qual-
digitale professionale siasi tecnico. Oggi vi presentiamo un
DSO a due canali con 100 MHz di banda
con generatore di passante e Generatore di Funzioni inte-
funzioni integrato grato da 25 MHz, denominato DSO2D10, che abbiamo voluto
“aprire” e provare in laboratorio per fare alcune valutazioni che
DSO2D10 e ne condividiamo con voi in queste pagine.
condividiamo le La confezione contiene lo strumento, il cavo di alimentazione,
un’ottima sonda 1x/10x accessoriata, due cavi BNC-cocco-
impressioni. drilli, un cavo USB ed un folder in inglese con alcune indicazio-
ni riguardanti la garanzia ed i contatti (Fig. 1).
33
In basso, sotto il display, l’interruttore di accen-
Fig. 1 sione, decisamente migliorato rispetto ai primi
Il contenuto della modelli di questo marchio, oltre a una porta USB
confezione del
DSO2D10.
prevista per il collegamento di una pen drive
(upgrade del firmware o memorizzazione di dati
e/o immagini visualizzate sul display).
Tutta la parte destra dello strumento è rappresen-
tata dal pannello comandi, costituito da manopole
e pulsanti, organizzati in sezioni:
• tasto MENU On/Off (F0, attiva/disattiva la
visualizzazione dei menu laterali sul display);
• tasti Menu (F1÷F6, per le singole opzioni del
menu selezionato);
• manopola Multifunzione V0 (selezione dei valori
dei menu);
• tasti Menu funzioni (salva/carica, misure, acqui-
sizione, display, cursori, utility);
• tasti funzione (default setup, help, salva su USB,
ASPETTO ESTERNO decode);
Dal punto di vista estetico anche questo modello • controlli del verticale;
rispecchia lo standard Hantek. In Fig. 2 è possibile • controlli dell’orizzontale;
vedere l’intero pannello frontale del DSO. • menu trigger;
Sulla sinistra c’è l’ampio schermo LCD TFT da 7” • generatore di funzioni;
con 16 milioni di colori (24 bit true color) e risolu- • segnale di test 1 kHz 5V per la calibrazione delle
zione di 800 pixel orizzontali e 480 pixel verticali. sonde;
Fig. 2
Organizzazione del
pannello frontale.
34
Fig. 3
Versione
software e
firmware.
• ingresso Trigger e uscita generatore funzioni; con quella visualizzata sul display non bisogna
• ingressi CH1 e CH2. effettuare l’aggiornamento, ma se è più recente è
opportuno caricare il file in una Pen Drive, da inse-
Il pannello posteriore presenta la presa per rire successivamente nella porta localizzata sotto il
l’alimentazione a 230 Vac e una presa USB per il display del DSO. Durante le nostre prove, utilizzan-
collegamento ad un PC. do numerosi modelli di Pen Drive, abbiamo riscon-
trato in un paio di modelli dei malfunzionamenti;
PREPARIAMOCI A USARLO contattato il produttore ci è stato chiarito che la
Prima di iniziare ad usare lo strumento è indispen- Pen Drive deve essere formattata con formato
sabile effettuare alcune operazioni: l’Aggiornamen- FAT 32 ed effettivamente dopo la formattazione
to del firmware, l’autocalibrazione dello strumento una delle due ha funzionato regolarmente, quindi
e la calibrazione delle sonde. possiamo ritenere che il problema dell’unica che
Ricordiamo che i manuali originali d’uso e di ha continuato a non funzionare fosse insito in essa,
programmazione, entrambi in lingua inglese, sono anche se sul PC veniva riconosciuta normalmente.
scaricabili dal link http://hantek.com/download?key Ad ogni modo, una volta introdotta la chiavetta
=yhsc&sid=3&pid=17182 . Il software per la pro- USB nello strumento, bisogna entrare nel menu
grammazione è scaricabile mediante il link http:// UTILITY e premere F3 (Firmware Upgrade) quindi
hantek.com/download?key=yyrj&sid=3&pid=17182. F5 per iniziare l’aggiornamento (o F2 se si vuole
Per la verifica della versione software/firmware annullare l’operazione). In questa fase e fino a
bisogna premere il tasto Menu funzione “utili- quando l’operazione non sarà completata NON
ty”, quindi il tasto F5 (System Info), si aprirà un BISOGNA ASSOLUTAMENTE SPEGNERE LO
riquadro al centro del display come quello proposto STRUMENTO! Ad aggiornamento completato il
nella Fig. 3. Nella riga relativa al software si vedrà DSO adotterà automaticamente il nuovo firmware
il numero di versione (nel nostro caso 1.0.2.0.0) e senza bisogno di riavviarlo.
la data (220517.00) mentre l’ultima riga riporta la
versione firmware (3204). Occorre segnare questi Autocalibrazione del DSO
valori, in particolare la data. Per questa operazione bisogna disconnettere
Per l’aggiornamento del firmware bisogna aprire tutti i cavi e sonde dalle porte BNC, entrare nel
il browser web del computer e andare all’indirizzo menu UTILITY e premere F4 (Self Calibration) e
http://hantek.com/download?key=zxgj&sid=0&pid=0 F5 per confermare (o F4 se si vuole annullare
quindi, nella pagina web che si apre, cliccare l’operazione). Anche in questo caso NON bisogna
sulla voce DSO2000 Firmware: istantaneamente spegnere lo strumento prima che l’operazione sia
verrà scaricato sul PC un file siglato “dso3kb_ completata, sono 38 step che saranno eseguiti in
aaaammgg.zip”, in cui aaaammgg rappresenta circa 15 minuti, al termine dei quali un messaggio
la data del firmware; se questa data coincide inviterà a premere un qualsiasi tasto per tornare
35
CARATTERISTICHE TECNICHE
HANTEK DSO2D10
36
per esempio se la frequenza è 1 kHz, passando • F6F3: MODULATION, questa funzione serve
al periodo, esso diventa di 1.000 ms. per modulare il segnale impostato; una volta
selezionata questa voce, si apre un nuovo menu
Impostiamo una frequenza di 1 kHz. con 5 voci, oltre al comando Return, presente
• F3: AMPLITUDE, una volta selezionata questa nella seconda sezione, associate ai tasti F1 ÷
voce, si apre un sottomenu con 4 voci, tra le F5: Modulation (ON/OFF), Type (AM/FM), Wave
quali si naviga continuando a premere F3: (Sine, Square, Ramp), Mod Freq (1 Hz ÷ 50 kHz),
- Amplitude: regolazione dell’ampiezza del Depth (1 ÷ 120).
segnale, la manopola V0 permette di modifi- Nota bene: in alcuni casi di impostazione dei
care la prima cifra della scala visualizzata; valori la manopola V0 può assumere un funzio-
- Amplitude fine: la manopola V0 permette di namento particolare: premendola, la presenza
modificare la cifra meno significativa della di due freccette verticali indica che ruotandola
scala visualizzata; si può modificare il valore visualizzato, mentre
- High Level: regolazione della ampiezza della la presenza di due freccette orizzontali indica
fase HIGH del segnale, la manopola V0 per- che ruotandola ci si può spostare tra le cifre del
mette di modificare la prima cifra della scala valore impostato, decidendo quale modificare.
visualizzata; Un esempio, proprio su quest’ultima funzione
- High Level fine: la manopola V0 permette di MODULATION, chiarirà la modalità d’uso.
modificare la cifra meno significativa della Premendo F4 si attiva la voce Mod freq, appare
scala visualizzata; il valore attuale (per esempio 100) con due
freccette verticali sul lato sinistro, ruotando la
Impostiamo un’ampiezza di 5 V. manopola V0 è possibile variare questo valore,
• F4: OFFSET(DC)/Low Level, una volta seleziona- ma se esso dovesse essere molto distante da
ta questa voce, si apre un sottomenu con 4 voci, quello attuale, per esempio 20, occorrerebbe
tra le quali si naviga continuando a premere F4: ruotare la manopola moltissime volte.
- Offset: regolazione della componente continua In questo caso basta premere V0, sulla sinistra
del segnale, la manopola V0 permette di modi- appaiono due freccette orizzontali con due pic-
ficare la prima cifra della scala visualizzata; coli indicatori azzurri sopra e sotto la prima cifra
- Offset fine: la manopola V0 permette di a sinistra; se ora si ruota V0 i riferimenti ciclano
modificare la cifra meno significativa della fra le tre cifre; quando si trovano sulla seconda,
scala visualizzata; premere di nuovo V0 e poi ruotarlo fino a leg-
- Low Level: regolazione della ampiezza della gere il valore 20. Non useremo la modulazione
fase LOW del segnale, la manopola V0 per- per il nostro test, quindi è sufficiente lasciare
mette di modificare la prima cifra della scala Modulation OFF.
visualizzata;
- Low Level fine: la manopola V0 permette di Chiudiamo la sezione relativa al Generatore di
modificare la cifra meno significativa della funzioni con l’opzione “Burst”, attivabile mediante
scala visualizzata; il relativo tasto posto sul pannello del DSO, sotto
quello di attivazione del Generatore.
Da notare che la voce F4 assume di partenza il Questa funzione aggiuntiva permette di generare
valore Offset o Low Level, in base all’impostazione treni di onde; premendo il tasto si apre un menu con
del tasto F3, se è Amplitude appare Offset, se è 3 voci:
High Level appare Low Level. • F1 TYPE: l’opzione Infinite in pratica genera
Impostiamo un offset di 0 V (dovrebbe essere il segnale impostato all’infinito, senza alcuna
sufficiente la pressione della manopola V0). variazione rispetto alla modalità senza burst;
• F6F1: DUTY/SYMMETRY, è attivo solo se l’opzione N Cycle invece permette di limitare il
la forma d’onda selezionata è Square (Duty) numero di cicli del treno.
o Ramp (Symmetry) e serve appunto per • F2 COUNT: permette di impostare il numero di
modificare queste due componenti del segnale; cicli per l’opzione N Cycle, mentre è ininfluente
impostiamo 30(%); con l’opzione Infinite.
• F6F2: IMPEDANCE, è l’impedenza sul BNC • F3 TRIGGER: serve per dare l’avvio ad un singo-
d’uscita, può variare tra 50 Ω e High-Z; impo- lo treno nel momento desiderato, è ininfluente
stiamo High-Z; con l’opzione Infinite.
37
Fig. 4
Impostazioni del
Generatore di
Funzioni e segnale
sul DSO.
Non useremo il burst per il nostro test, quindi sarà MENU e si accende con un colore arancione, con-
sufficiente evitare di premere il relativo tasto. testualmente apparirà la relativa traccia (di colore
A questo punto possiamo inviare il segnale in giallo) e potrebbe essere visualizzata già la forma
uscita dal BNC del Generatore all’ingresso CH1 del d’onda impostata (Fig. 4).
DSO. La cosa migliore sarebbe un cavo BNC ma- Se il segnale non dovesse corrispondere a quello
schio – BNC maschio, per il collegamento diretto della figura occorre procedere in questo modo:
tra i due connettori; in mancanza, con quelli in • Premere il tasto CH1 e poi F4, quindi ruotare V0
dotazione, basta collegare il cavo BNC-coccodrilli fino a leggere “X1”;
all’uscita del Generatore e la sonda (impostata • Ruotare la manopola VOLTS/DIV in modo da
x1) al CH1, agganciando poi la pinzetta rossa con leggere “2V” nel box giallo alla base del display;
il puntale della sonda, mentre quella nera può • Ruotare la manopola SEC/DIV fino a leggere
restare libera, essendo la massa delle due prese “500 us” accanto alla lettera H nella parte supe-
BNC collegata internamente. riore del display.
Se il CH1 non è ancora attivo (traccia gialla non
visibile sul display) basta premere il tasto CH1 In Fig. 5 proponiamo le impostazioni del CH1.
Fig. 5
Impostazioni del
CH1 per il test.
38
Fig. 6
Modalità
Dual-Window.
Se il test non va a buon fine, occorrerà controllare • F5: INVERT, se si imposta su ON capovolge il
e ripetere tutti i passaggi, se invece avete ottenuto segnale misurato di 180°.
la stessa immagine della nostra figura, significa
che è tutto a posto. Nella sezione verticale c’è anche il pulsante MATH,
che attiva le operazioni matematiche tra le tracce
UTILIZZO DEI COMANDI dei due canali analogici: + (addizione), - (sottrazio-
Descriviamo ora tutte le sezioni del pannello del ne), * (moltiplicazione), / (divisione) e FFT (trasfor-
nostro DSO, illustrando i vari menu associati ai mata di Fourier veloce).
pulsanti. Per le misure si può ricorrere all’uso dei cursori.
39
Fig. 7
Misure attivate e
dati statistici
Trigger MEASURE
Mediante la manopola Level è possibile sincroniz- Questa funzione permette di effettuare molteplici
zare la scansione orizzontale rispetto al segnale, al misurazioni sul segnale in acquisizione. Con la
fine di ottenere la massima stabilità possibile sul pressione del relativo tasto si apre un menu con 8
display. Il tasto FORCE TRIGGER va utilizzato per opzioni.
completare un’acquisizione indipendentemente • F1: SOURCE, selezionare il canale che sta visua-
da un segnale di trigger adeguato. Questo tasto lizzando il segnale da misurare.
diventa inutile se l’acquisizione è già stata interrotta • F2: TYPE, apre una maschera con l’elenco delle
o effettuata. Con il tasto TRIGGER MENU si accede possibili misure, per selezionarle usare la mano-
al menu specifico: pola V0, ruotandola per il posizionamento sulla
• F1: TYPE, tipologia di Trigger: Edge, Pulse, Video, voce e premendola per la selezione/deselezione.
Slope sono le principali, ma ce ne sono altre. Un riquadro di help alla base del display spiega
• F2: SOURCE, sorgente del Trigger, normalmente la funzione della misura scelta. Man mano che si
si setta il canale in uso o quello col segnale prin- selezionano delle voci, esse appaiono istantane-
cipale tra i due CH1 o CH2; altre possibilità sono amente alla base del display, mostrando i valori
l’applicazione di segnali di sincronismo esterno rilevati. Premere F0 al termine della selezione, le
(external) all’apposito BNC, oppure la sincroniz- opzioni attivate resteranno visualizzate.
zazione rispetto alla frequenza di rete elettrica di • F3: DVM, apre un sottomenu che permette di
50 Hz (Line). attivare un Multimetro digitale/analogico ed un
• F3: SLOPE, fronte del segnale sul quale deve frequenzimetro nella sezione in alto a destra del
agire il trigger: Rising (salita), Falling (discesa) o display; i tasti F1-F2 attivano il Multimetro per
Either (entrambi). i corrispondenti canali (a patto che siano attivi),
• F4: MODE, modalità di azione del Trigger, la mentre i tasti F2-F4 permettono di selezionare
Normal è la migliore per la maggior parte delle il tipo di misura che ogni multimetro deve effet-
applicazioni di trigger a larghezza di impulso; tuare, tra DC RMS, AC RMS e DC; al termine delle
l’alternativa è la modalità Auto. impostazioni premere F5 per tornare al menu
• F5: 50%, setta il Trigger esattamente a metà principale. Questa eccellente opzione permette
dell’escursione verticale del segnale; di avere costantemente sott’occhio due valori
• F6F1: HOLDOFF, serve per stabilizzare forme fondamentali della misura in corso.
d’onda complesse, agendo sul tempo di ritardo • F4: STATISTIC, se impostata su ON effettua una
tra un evento di Trigger ed il successivo. serie di calcoli statistici sulle misure attivate con
l’opzione TYPE: Cur (misura corrente standard),
SEZIONE MENU FUNZIONI Avg (media), Max (picco massimo), Min (picco mi-
Vediamo ora la serie di sei funzioni raggruppate nimo), RMSe (deviazione radice quadrata media),
nella specifica sezione sul pannello. Count (conteggio dei cicli).
40
In Fig. 7 sono visibili le misure attivate con i utilizzare questa modalità per ridurre il ru-
calcoli statistici. more casuale. Attivando questa opzione, con
• F5: CLEAR ALL, deseleziona e cancella tutte le il tasto F3 si può scegliere il numero di medie
misure attive. da applicare (da 4 a 128).
• F6F1: All Measure, attiva tutte le misure - Peak: rileva i valori massimo e minimo del
disponibili, relativamente al segnale applicato segnale di ingresso e li utilizza per visualiz-
al canale selezionato in Source, assumendo lo zare la forma d’onda. In questo modo il DSO
stesso colore della traccia (Fig. 8). può acquisire e visualizzare quegli impulsi
• F6F2: Settings, serve per impostare la sor- stretti che altrimenti sarebbero stati persi in
gente per le misure di delay, quando sono attive. modalità Normale. Tuttavia il rumore sem-
• F6F3: Gate, apre il menu di Gate, attivan- brerà più alto.
dolo con F1 è possibile impostare i parametri - HR: questa modalità utilizza una sorta di tec-
per rilevare le misure all’interno dello spazio nica di ultra-campionamento per calcolare
racchiuso tra i cursori attivi. la media dei punti vicini della forma d’onda
del campione, e ridurre il rumore casuale sul
ACQUIRE segnale di ingresso, generando una forma
Questa funzione permette di ottimizzare l’acquisi- d’onda molto più uniforme sullo schermo.
zione del segnale. Viene generalmente utilizzato quando la fre-
• F1: ACQ TYPE, tipo di acquisizione: Real Time quenza di campionamento del convertitore
(tempo reale con la tecnica digitale) o Equ-Time digitale è superiore alla velocità di archivia-
(ricostruzione dell’immagine mediante una zione della memoria di acquisizione.
tecnica equivalente di campionamento). • F3: AVERAGE COUNT, numero di medie da
• F2: ACQ MODE, modalità di acquisizione: applicare alla modalità Average, se attiva: 4, 8,
- Normal: il DSO campiona il segnale a 16, 32, 64, 128.
intervalli equidistanti per stabilire la forma • F4: MEM DEPTH, profondità della memoria
d’onda; questa modalità garantisce una buo- dedicata all’acquisizione (4-40-400 Kpoints e
na accuratezza dei segnali, ma non rileva le 4-8 Mpoints).
variazioni rapide che possono verificarsi tra
due campioni nel segnale analogico, ciò può DISPLAY
comportare l’aliasing e la perdita di impulsi Questa sezione agisce sulle impostazioni del
stretti. display e su alcuni parametri di visualizzazione del
- Average: (media) il DSO acquisisce diversi segnale.
cicli del segnale, ne calcola la media e visua- • F1: TYPE, visualizzazione segnale Points o Vec-
lizza la forma d’onda risultante. È possibile tors. Nel primo caso i fronti verticali vengono
Fig. 8
Tutte le
misure
disponibili
nel DSO.
41
Fig. 9
Memorizzazione
di un segnale nella
Pen Drive.
visualizzati sotto forma di punti, nel secondo due cursori a croce selezionando AXBX. Sul
invece sono linee continue. display vengono visualizzate tutte le coordi-
• F2: INTENSITY, intensità luminosa delle tracce. nate dei cursori, il t (BX – AX), il modulo del
• F3: GRID, modalità di visualizzazione della suo inverso (|1/dX|) cioè la frequenza, ed il
griglia del display: a punti, disattiva, a linee. V (BY – AY). Mediante i tasti F2-F3 è possi-
• F4: GRATICULE, intensità luminosa della griglia. bile associare un canale ad ogni cursore.
• F5:BRIGHTNESS, intensità luminosa del display. • F2: SOURCE, seleziona il CH da misurare.
• F6F1: PERSIST, tempo di persistenza della
traccia sul display: OFF, infinito, 1-5-10-30 UTILITY
secondi. Abbiamo già visto all’inizio alcune voci del menu
UTILITY, per la preparazione iniziale dello strumen-
CURSOR to, vediamo ora tutte le funzioni:
Questa sezione gestisce la misurazione dei segnali • F1: LANGUAGE, selezione della lingua dei menu,
mediante attivazione di cursori regolabili, sia sul c’è anche l’Italiano, ma consigliamo di lasciare la
verticale che sull’orizzontale. versione Inglese, in quanto alcuni termini sono
• F1: MODE, attiva due linee tratteggiate (cursori) tradotti in modo improbabile.
per misurare il tempo (X, due linee verticali), • F2: SOUND, attivazione o disattivazione del
l’ampiezza (Y, due linee orizzontali) o l’intera beep alla pressione dei tasti.
traccia (X-Y, due linee verticali e due orizzontali). • F3: UPDATE, serve per l’aggiornamento del
Esistono due opzioni : software/firmware mediante apposito file da
- Manu: le linee visualizzate sono regolabili inserire in una pen drive USB.
manualmente mediante la manopola V0 • F4: PASS/FAIL, attiva un menu per l’analisi della
(pressione per la selezione, rotazione per lo regolarità del segnale.
spostamento), sono attivi i tasti F3 (atti- • F5: SYSTEM INFO, tutti i dati relativi alle versio-
vazione cursori Y), F4 (attivazione cursori ni hardware e software dello strumento.
X), F5 (attivazione cursori X e Y) e F6F1 • F6F1: CALIBRATE, autocalibrazione dello
(disattivazione dei singoli cursori, in base alle strumento.
tipologie attive). • F6: EXIT, uscita dal menu utility.
- Track: si attiva un cursore orizzontale inter-
secato con un cursore verticale per formare SAVE/RECALL
un cursore a croce. Da questo menu è possibile salvare una serie di file,
Il cursore a croce si posiziona automatica- per poterli successivamente richiamare.
mente sulla forma d’onda e la sua posizione Nota bene: se si usa una pen drive USB è con-
si può regolare selezionando AX o BX me- sigliabile che non contenga file di altro genere,
diante il tasto F4, oppure si possono attivare oppure è preferibile creare una cartella specifica da
42
selezionare in fase di salvataggio. 5. Premere F5, selezionare ed entrare nella
• F1: SAVE, serve per salvare un file, apre un cartella DSO usando la manopola V0;
menu con le seguenti voci: 6. Premere F4, il file .ref sarà memorizzato
1. F1 Type, seleziona il tipo di file da salvare: sulla pen drive;
Setup (impostazioni attuali del DSO), Wave 7. Applicare a CH1 un segnale diverso da quello
(parametri della traccia visualizzata in for- precedente (per esempio una sinusoide con
mato binario), Ref (traccia e dati in formato frequenza di 2 kHz e ampiezza di 3 V);
REF, canali RefA o RefB), CSV (parametri in 8. Premere nuovamente il tasto SAVE/RECALL;
formato .csv della traccia visualizzata), Pic- 9. Premere F2 e selezionare Ref, F2-RefA, F3-
ture (screenshot in formato .bmp dell’imma- external;
gine visualizzata). 10. Premere F5, selezionare ed entrare nella
2. F2 Save To, selezione della memoria di cartella DSO usando la manopola V0;
destinazione: internal o external (pen drive 11. Selezionare il file .ref e premere la manopola
USB). V0.
3. F3 n. File, numero del file da salvare nella 12. Il risultato sarà quello visibile nella Fig. 10,
memoria interna (1 ÷ 9) ma dipende dalla la traccia gialla è quella del segnale at-
selezione di F1, se è selezionata la memoria tualmente applicato al CH1, mentre quella
esterna questo campo non è visibile. grigia sullo sfondo è quella memorizzata in
4. F4 Save, premere questo tasto per aprire le precedenza nel file .ref, con le caratteristiche
opzioni di file manager e salvare in base alla mostrate sul display in alto a sinistra;
selezione corrente (Fig. 9). 13. Premere SAVE/RECALL, quindi F2 (Recall)
• F2: RECALL, serve per richiamare un file salvato ed infine F6F1 (Close) per cancellare dalla
in precedenza, apre un menu con le seguenti schermata il segnale memorizzato.
voci:
1. F1 Type, seleziona il tipo di file da richiamare TASTI FUNZIONE
in memoria (elenco identico a quello descrit- • DEFAULT SETUP: quando si preme questo pul-
to per Save). sante, il DSO sarà ripristinato alle impostazioni
2. F2 Recall From, selezione della memoria di di default (Tabella 1) ed entrambe le tracce CH1
origine: internal o external (pen drive USB). e CH2 saranno visibili.
3. F3 n. File, numero del file da richiamare dalla L’operazione è annullabile premendo F1 finché
memoria interna (1 ÷ 9) ma dipende dalla è visibile sul display il riquadro Cancel.
selezione di F1, se è selezionata la memoria • HELP: premendo questo pulsante si attiva l’help
esterna questo campo non è visibile. integrato nel software del DSO; da questo mo-
4. F4 Recall, premere questo tasto per mento, premendo un qualsiasi tasto, sul display
richiamare il file interno oppure per aprire apparirà una schermata con il testo associato al
la finestra con la root della pen drive USB, tasto premuto.
in base alla selezione corrente. In questo Per disabilitare questa funzione è sufficiente
secondo caso il file va ricercato e selezionato premere nuovamente il tasto HELP.
mediante la manopola V0. • SAVE TO USB: memorizza su una pen drive
• COMPARAZIONE, vediamo ora come sfruttare USB lo screnshoot della schermata attuale del
questa sezione per confrontare un file memo- display; se la pen drive non è inserita sul display
rizzato in precedenza con una traccia letta in appare un messaggio di avviso.
tempo reale dallo strumento. • DECODE: questa funzione attiva il menu
Bisogna seguire questa procedura: DECODE PROTOCOL, rimandiamo al manuale
1. Inserire una pen drive nella presa USB an- originale per approfondimenti.
teriore del DSO, dopo aver creato su di essa
una cartella (per esempio “DSO”); TASTI OPERAZIONI
2. Visualizzare un segnale sul DSO (per esem- • AUTOSET: in alcuni casi è problematico settare
pio quello che abbiamo usato come test); manualmente il DSO per mostrare correttamente
3. Premere il tasto SAVE/RECALL sul pannello un segnale sul display; questa funzione serve per
del DSO; trovare automaticamente la migliore combina-
4. Premere F1 e selezionare Ref, F2-CH1, F3- zione possibile in funzione del segnale che si sta
external; rilevando.
43
Fig. 10
Comparazione tra
un segnale memo-
rizzato ed uno in
tempo reale.
• SINGLE SEQ: è molto utile per agganciare segnali livello, ma anche come secondo strumento per un
sporadici, premendolo blocca l’immagine appena progettista professionale.
trova un segnale valido.
• RUN/STOP: serve per bloccare il campionamento Pro: due strumenti in uno, leggero, silenzioso,
del segnale e mostrare l’ultima immagine acquisi- maneggevole, ampio schermo, comandi intuitivi,
ta; premendolo nuovamente riparte l’acquisizione. un buon manuale con esempi spiegazioni tecni-
che, programmazione di forme d’onda mediante
CONCLUSIONI software PC e cavo USB in dotazione.
Questo DSO e Generatore di funzioni della Hantek
è posizionabile nella gamma della strumentazione Contro: gestione del generatore migliorabile con
semi-professionale di fascia alta con una elevata l’aggiunta di poche funzioni; dotazione di una sola
dotazione di funzioni. sonda pur disponendo di due canali, ma comunque
Chiaramente chi acquista uno strumento deve c’è il cavo adattatore BNC-coccodrilli.
spendere la cifra corretta in base alle proprie esi-
genze. Uno strumento di questo tipo va benissimo
per il banco di un riparatore, un hobbista di buon
Cosa occorre?
L'oscilloscopio da laboratorio 2 canali 100 MHz con generatore
di forme d’onda della Hantek (cod. DSO2D10 ) è in vendita a
Euro 358,00.
E' disponibile anche una versione da 2 canali 100 MHz ma
senza generatore di funzioni (cod. DSO2C10) a Euro 298,00.
I prezzi si intendono IVA compresa.
Tabella 1
Parametri di default Il materiale va richiesto a:
del DSO.
Futura Elettronica, Via Adige 11, 21013 Gallarate (VA)
Tel: 0331-799775 - www.futurashop.it
44
Affidabilità e precisione!
CON
Generatore di forme d’onda TECNOLOGIA
€ 388
388,,00
- Risoluzione: 1 μHz
- Precisione: ±1 ppm, 18~28 °C
€ 189
189,,00
Generatore di funzioni
e forme d’onda arbitrarie
2 Canali-25 MHz
- Display: TFT LCD a colori da 4,3 pollici
- Frequenza di campionamento: 125 MS/s
- Forme d’onda standard: sinusoidale, quadra, rampa, triangolare,
impulso, rumore gaussiano, DC, arbitrarie
- Ampiezza del segnale di uscita: fino a 5 Vpp con impedenza
di 50 Ω o fino a 10 Vpp in modalità ad alta impedenza
Prezzi IVA inclusa.
€ 498
498,,00
- Interfaccia: USB
Pasta saldante Pasta per saldare Pasta saldante per SMD Anti flussante spray
per SMD – Vol. 10cc 50 g (senza piombo)- 50g 200 ml
Lacca isolante Tappeto in silicone per Set di componenti per Set di componenti SMD
spray 200 ml saldatura 337×227 mm imparare a saldare per imparare a saldare
DADO
ELETTRONICO
di DAVIDE SCULLINO
U
no dei classici progetti dell’elettronica
hobbistica è sicuramente il dado da
gioco, ossia un circuito che mediante un
Mostra un numero display a LED a 7 segmenti o una serie
pseudo-casuale di diodi luminosi mostra un numero suf-
ficientemente casuale a seguito di ogni
su 7 LED che pressione di un pulsante; in tal modo va
lampeggiano a simulare quello che è il comportamen-
to del classico dado utilizzato per sorteggiare numeri in giochi
rallentando sempre di società e non solo. Il circuito che proponiamo in queste
più come un dado pagine si basa sulla visualizzazione pseudo-casuale dello
stato di uscita di un contatore decimale, tramite un gruppo di
che rotola sul tavolo LED disposti a formare la faccia di un classico dado da gioco,
da gioco, fino a con sette punti; la visualizzazione pseudo-casuale deriva dal
fatto che il contatore (un comune CMOS di tipo CD4017) riceve
fermarsi. il clock da un multivibratore astabile che viene attivato per un
47
schema ELETTRICO
tempo dipendente dalla carica di un condensatore, pulsante normalmente aperto S1, per un intervallo
così da generare un segnale rettangolare la cui di tempo dipendente dai valori di C1 ed R1. Ana-
frequenza è massima inizialmente e decresce fino lizziamo dunque in singoli stadi (comando manua-
all’arresto del multivibratore stesso. La casualità è le, generatore di clock a frequenza decrescente,
ottenuta da numerose variabili, tra cui la durata di contatore e visualizzatore a LED) singolarmente,
pressione del pulsante che può essere scelta da noi, iniziando dal comando di “lancio” del dado: questo
l’esatto istante in cui il relativo contatto si chiude, la è affidato al pulsante S1, il quale una volta premuto
tolleranza del condensatore e della rete di tempo- porta la tensione di alimentazione della linea +PWR
rizzazione del clock e via di seguito. sulla base del transistor Q1, il quale passa dalla
A rendere ancora più suggestivo il progetto, c’è condizione di interdizione alla saturazione e, me-
la particolare visualizzazione che fa avvicendare diante il partitore resistivo R2-R3, alimenta la rete
le combinazioni di LED illuminati con una velocità di temporizzazione del monostabile U1. Rilasciando
decrescente, esattamente come un dado lanciato il pulsante, il transistor NPN rimane polarizzato
rotola sempre più lentamente, fino a fermarsi con e in conduzione per un periodo che dipende dalla
una faccia rivolta verso l’alto. costante di tempo:
48
(IC1), con la precisazione che questo stadio, sep- Voltage) il che permette, quando occorre, di alterare
pure costantemente alimentato, genera il proprio le tensioni di riferimento dei comparatori, così da
segnale d’uscita solamente quando i piedini 7, 2, 6 controllare con una tensione esterna la frequenza
sono posti ad un livello di tensione minimo. di lavoro nella configurazione astabile (operando lo
Per comprendere il funzionamento dell’astabile shift di frequenza come si fa negli oscillatori con-
è opportuno riepilogare come funziona il 555 e trollati in tensione) oppure la durata degli impulsi in
prima ancora vedere cosa c’è all’interno di questo quella da timer (monostabile). Nel nostro circuito il
integrato, cosa per la quale ci viene utile lo schema piedino 5 non lo abbiamo utilizzato.
a blocchi proposto nella Fig. 1: questo integrato Notate che essendo le resistenze del partitore di
contiene due comparatori aventi in comune un par- uguale valore, il comparatore superiore ha l’ingres-
titore di tensione a scala di resistenze che fornisce so invertente polarizzato con 2/3 della tensione
il riferimento di tensione ai due operazionali interni, che alimenta il piedino 8 del 555 e quello inferiore
ciascuno connesso come comparatore; all’opera- ha il non-invertente a 1/3 della stessa Vcc.
zionale superiore polarizza l’ingresso invertente, La configurazione qui adottata per il 555 è decisa-
mentre a quello inferiore fornisce il riferimento al mente diversa da quella canonica suggerita dal co-
non-invertente. I termini superiore e inferiore si struttore dell’integrato nel datasheet e serve, come
riferiscono al potenziale di riferimento che ricevono accennato, per ottenere una frequenza descre-
dal partitore, quindi quello superiore riceve il poten- scente e l’arresto ad una certa soglia di tensione, la
ziale più elevato. quale, come vedremo tra breve, dipende dallo stato
Dei suddetti comparatori, vengono resi accessibili dei comparatori interni all’integrato.
dall’esterno gli ingressi non-invertente di quello Le uscite dei comparatori comandano una il RESET
superiore, corrispondente al piedino 6 (THR, ossia (quella del comparatore superiore) e l’altra il SET
Threshold) e l’invertente di quello superiore, corri- (comparatore inferiore) di un flip-flop di tipo RS,
spondente al piedino 2 (TRIG, ossia Trigger). Il nodo che è un circuito logico la cui uscita diretta (Q) va a
tra la prima e la seconda (considerate dall’alimenta- livello alto (corrispondente a circa il potenziale del
zione positiva) resistenza del partitore di riferimen- piedino 8) quando il SET è a livello alto, ovvero as-
to dei due comparatori (alimentato, come il resto sume lo zero logico se SET è posto a circa zero volt;
degli stadi interni al 555, dal piedino 8) viene por- l’uscita presenta un comportamento esattamente
tato all’esterno tramite il piedino 5 (CONT, Control opposto quando ad essere eccitato è l’ingresso
Fig. 1
Schema a
blocchi del
timer 555.
49
Fig. 2 RESET, il quale, posto a livello logico alto, resetta il tore C2 scarico e quindi la differenza di potenziale
Schema flip-flop, intendendo con ciò che ne azzera lo stato tra i suoi capi è nulla. Sia il trigger (piedino 2) che il
interno e
diagramma di Q. Threshold (6) si trovano a zero volt e quindi l’uscita
di funziona- Il flip-flop ha anche un’uscita complementata (/Q), del comparatore inferiore è a livello alto; ciò deter-
mento del
CD4017.
la cui condizione logica è sempre l’inverso di quella mina il livello logico alto sull’ingresso SET del flip-
Q; nel 555 è collegata, tramite una resistenza, alla flop e lo stesso sull’uscita Q (la /Q si porta a zero
base di un transistor NPN configurato ad open logico lasciando interdetto il transistor collegato
collector il cui emettitore è connesso a massa e il al Discharge e quindi il condensatore libero di cari-
collettore al piedino DIS (7, ossia Discharge). carsi). L’uscita del comparatore superiore è a livello
Tale transistor può commutare una corrente dell’or- basso, perché il piedino 6 (input non-invertente) è
dine dei 200 mA, in modo sink (ad assorbimento di anch’esso a zero volt; il Reset del comparatore è
corrente da parte del suo collettore). L’uscita diretta, inattivo.
Q, è invece collegata al piedino OUT (3) dell’integra- Questa condizione si mantiene fin quando Q1 è
to attraverso un buffer interno push-pull, capace di interdetto e l’uscita del 555 rimane a livello logico
erogare un massimo di 200 mA. alto.
Il negativo di alimentazione, vale a dire la massa Quando viene premuto S1 e per un certo intervallo
di riferimento del 555 corrisponde al piedino 1, di tempo conseguente il rilascio, questa situa-
mentre al 4 è connesso il reset a logica invertita zione viene sbloccata: con il pulsante premuto,
del flip-flop: questo piedino permette di resettare l’emettitore del Q1 fornisce al partitore R2-R3 un
forzatamente il circuito dall’esterno applicando un potenziale pari a quello di +PWR diminuito di 0,6V;
livello logico basso. ipotizzando un’alimentazione di 5 volt, il partitore
Ciò detto, andiamo a vedere come il nostro timer riceve circa 4,4V e quindi applica all’elettrolitico C3
555 è stato utilizzato nel circuito: la configurazione inizialmente una tensione pari a:
scelta è quella astabile, ma è un po’ particolare
perché nel nostro caso non c’è alcuna resistenza Vc = 4,4V x 470Kohm /480Kohm
collegata tra i pin 4-8 e il 7 ed i pin 2 e 6 sono colle-
gati direttamente al 7, oltre che terminanti a massa che praticamente è 4,4V, dato che R3 ha un valore
da un condensatore elettrolitico, che nello schema resistivo 47 volte quello di R2 (tale resistore ha il
è siglato C2. solo scopo di limitare il picco di corrente di emet-
Vediamo dunque come funziona questo circuito, ri- titore del Q1 quando il pulsante viene premuto e
ferendoci allo schema interno proposto nella Fig. 1 quando il pin 7 del 555 commuta a zero logico).
e supponendo che il transistor Q1 sia interdetto: in La carica del C2 è estremamente rapida e attiva
questa condizione possiamo ritenere il condensa- l’astabile, perché infatti ora la tensione sui piedini
50
2 e 6 supera le tensioni di soglia del comparatore rilevato uno stato logico alto (ovvero un passaggio
inferiore e di quello superiore; per effetto di ciò, 0/1 logico) da parte dell’ingresso di clock (CLK)
l’uscita del comparatore inferiore si porta a zero lo stato del contatore incrementa di 1, nel senso
logico e pone allo stesso livello il SET del flip-flop, che si porta a livello alto l’uscita di peso decimale
mentre quella del comparatore superiore attiva immediatamente successivo a quello dell’uscita
il reset dello stesso, la cui uscita commuta a zero attualmente attiva. Quindi, partendo dalla condi-
logico, ma essendo complementata si porta ad 1 zione di contatore resettato, inizialmente è a livello
(passa a zero il piedino 3) mandando in saturazione alto l’uscita Q0; un primo impulso di clock porta
il transistor interno collegato al piedino 7, il quale ad 1 logico l’uscita Q1, un secondo pone a livello
causa la scarica praticamente immediata del C2. alto la Q2 e via di seguito, fin quando non si conta
A questo punto l’uscita del comparatore inferiore il decimo impulso, che attiva la Q0, oltre il quale il
torna a livello logico alto e setta il flip-flop, che ri- conteggio riprende da 1 (grafico in Fig. 2). Le uscite
porta Q a 1 logico e /Q a zero. In questa condizione assumono lo stato alto una sola per volta.
il condensatore C3 prende a caricarsi attraverso R2 Per come abbiamo collegato il circuito, quando
perché il piedino 7 torna aperto. viene contato il settimo impulso, lo stato alto viene
La carica avviene nuovamente fino a 2/3 della riportato sul piedino di reset (RST) e il contatore
tensione applicata tra i piedini 1 e 8 del 555, quindi viene azzerato; pertanto il CD4017 conta fino a
il ciclo ricomincia, andando avanti a ripetersi finché, sette.
dopo il rilascio del pulsante S1, la tensione presente Per il controllo dei LED, che sono stati divisi in quat-
sull’emettitore del Q1 non scende al disotto del tro gruppi (tre da due diodi ed uno da un solo LED...)
minimo indispensabile per far commutare anche il sono state combinate le uscite del contatore Q0,
comparatore superiore. Il tempo dipende, come già Q2, Q3, Q4 e Q5, le quali pilotano ciascuna più di un
esposto, dalla costante di tempo di C1 e indicativa- LED attraverso dei diodi che funzionano da porta
mente si può dire che è dell’ordine di 4 secondi. logica OR, consentendo di pilotare i gruppi con più
Durante il calo della tensione ai capi del C1 e di di un’uscita evitando però che lo stato logico su
riflesso agli estremi del partitore R2-R3, la fre- un gruppo cortocircuiti altre uscite. Per esempio il
quenza di lavoro dell’U1 cala perché se è vero che LED1 può essere acceso dallo stato logico su Q0,
la scarica del condensatore C2 è quasi immediata Q2 ed anche Q5, quindi si illumina in corrisponden-
a prescindere dalla tensione di lavoro, la ricarica di- za del primo, terzo e quinto impulso.
pende dal tempo che la tensione applicata ai piedini La coppia LED2-LED3 si illumina in tutti i casi
2 e 6 impiega a superare la soglia di commutazio- eccetto quando è attiva Q5 (perché D4 ne collega
ne del comparatore superiore del 555 e siccome i catodi al pin 1 dell’U2) mentre LED4 e LED5 si
i riferimenti interni dei comparatori sono fissi e accendono in concomitanza con il livello logico alto
dipendono dal potenziale applicato al piedino 8 su almeno una delle uscite Q0, Q3 e Q4.
mentre il partitore R2-R3 viene alimentato da una Infine, la coppia LED6-LED7 si illumina quando è a
tensione decrescente, a parità di capacità dell’elet- livello logico la sola uscita Q4.
trolitico si hanno dei tempi di commutazione via-via Questa soluzione consente di mantenere accesi
più lunghi. più LED e quindi di comporre un numero di pallini
Per effetto di ciò abbiamo l’uscita OUT dell’integra- luminosi superiore ad 1, come invece avverrebbe
to che si mantiene a livello alto per periodi sempre se ciascun gruppo venisse pilotato esclusivamente
più lunghi e quindi impulsi a frequenza progressi- da un’uscita, perché il CD4017, lo ricordiamo, attiva
vamente decrescente, fino al blocco del piedino 3 una sola uscita alla volta.
sul livello logico alto. Questo significa l’arresto del Simuliamo, insomma, quello che il contatore fareb-
clock per il contatore decimale U2 e al mancare del be componendo numeri su un display a segmenti.
segnale di clock il CD4017 mantiene attiva l’uscita Ogni LED o coppia di LED è dotata di una resistenza
corrispondente all’ultimo valore contato. in serie per limitarne la corrente diretta: R4 per
Visto che siamo passati al CD4017, vediamo come LED1, R5 per LED2-LED3, R6 per LED4-LED5
funziona e in che modo pilota il visualizzatore a ed R7 per LED6-LED7. Notate inoltre che la sola
sette LED: tale integrato è un decade counter e coppia LED2-LED3 ha il catodo rivolto verso l’uscita
dispone di 10 uscite, di peso crescente da 1 a 10, corrispondente del CD4017 e pertanto è attiva
che sono nell’ordine Q1, Q2, Q3, Q4, Q5, Q6, Q7, sempre, eccetto quando ad essere a livello alto è
Q8, Q9, Q0. Partendo dall’istante del reset (che può l’uscita Q5.
essere forzato o all’accensione) ogni volta che viene Il circuito del dado elettronico si alimenta tra i
51
piano di MONTAGGIO
Elenco Componenti:
Varie:
- Zoccolo 4+4
- Zoccolo 8+8
- Pin strip maschio 2 vie
- Circuito stampato S1669 (70x24 mm)
contatti + e – PWR, cui va applicata una tensione sante e i condensatori, prestando attenzione alla
continua di valore compreso fra 3 e 6 volt, preleva- polarità dei due elettrolitici, quindi procedete con
ta da una fonte in grado di erogare almeno 100 mA. lo zoccolo dip 4+4 contatti per il 555 e con quello
a 8+8 poli per il CD4017 (in tal caso inserirete gli
REALIZZAZIONE PRATICA integrati una volta saldati tutti gli altri componenti).
Bene, esplicata la teoria, passiamo adesso alla par- Passate quindi ai sette LED (per il corretto orienta-
te pratica del progetto: il nostro gadget si realizza mento ricordate che il catodo è l’elettrodo dal lato
molto semplicemente partendo dal circuito stam- smussato del contenitore) e al pin-strip a 2 poli per
pato, che è del tipo a doppia faccia e va ottenuto l’alimentazione (PWR).
per fotoincisione, seguendo le tracce lato rame Per l’orientamento dei componenti polarizzati
scaricabili dal nostro sito www.elettronicain.it; dalle fate riferimento al disegno di montaggio visibile in
tracce, ovvero da stampe dei file corrispondenti queste pagine.
su carta da lucido o foglio di acetato trasparente, Una volta completato il montaggio e verifica
potete ricavare le pellicole con cui impressionare l’esattezza, il vostro dado elettronico è pronto per il
la basetta (procuratevi una presensibilizzata, che gioco: inseritelo in un piccolo contenitore in plastica
rende più facile il lavoro). Visto che talvolta le vie dal quale lasciar uscire il pulsante e la cima dei
di interconnessione tra i due lati sono la parte sette LED e siete pronti a utilizzarlo.
critica che ostacola l’autocostruzione, una solu-
zione più semplice è quella di utilizzare il servizio
PCBPRODUCTION, disponibile dal sito di Futura
Elettronica, per farvi realizzare il circuito stampato.
Comunque l’abbiate ottenuto, una volta che avete
inciso e forato il circuito stampato dovete iniziare
il montaggio dei componenti, che sono tutti a foro
Cosa occorre?
passante (THT=Through Hole Technology) e quindi
di facile gestione da parte anche di chi ha poca Il dado elettronico presentato in questo articolo (cod. HR3042)
è disponibile in scatola di montaggio a Euro 7,00. I prezzi si
esperienza e attrezzatura essenziale: bastano
intendono IVA compresa.
un saldatore a stagno e del filo di lega saldante,
oltre a un tronchesino per elettronica per tagliare
Il materiale va richiesto a:
l’eccedenza dei reofori. Iniziate il montaggio con le
resistenze, i diodi al silicio (1N4148, che vanno tutti Futura Elettronica, Via Adige 11, 21013 Gallarate (VA)
Tel: 0331-799775 - www.futurashop.it
orientati con il catodo opposto al CD4017) il pul-
52
LA TENSIONE DI RETE
OVUNQUE TU SIA
INVERTER DA 12 VDC A 220 VAC CON FORMA D’ONDA D’USCITA SINUSOIDALE PURA O MODIFICATA
DOTATI DI PROTEZIONE DA SOVRACCARICO, SOVRATENSIONE D’INGRESSO, CORTOCIRCUITO
E ALLARME BATTERIA SCARICA. DISPONGONO DI USCITA USB SUPPLEMENTARE (5 V – 500 mA),
PRESA DI TIPO SCHUKO E CAVI PER IL COLLEGAMENTO ALLA BATTERIA.
€ 48 ,00
€ 69 ,00
€ 148,00
INVERTER DA 12VDC A 220VAC/300W INVERTER DA 12VDC A 220VAC/600W INVERTER DA 12VDC A 220VAC/1500W
CON PRESA USB E DISPLAY A LED CON PRESA USB E DISPLAY A LED CON PRESA USB E DISPLAY A LED
• Tensione di ingresso: 12 Vdc nominali • Tensione di ingresso: 12 Vdc nominali • Tensione di ingresso: 12 Vdc nominali
• Tensione di uscita: 220-240 VAC – 50 Hz • Tensione di uscita: 220-240 VAC – 50 Hz • Tensione di uscita: 220-240 VAC – 50 Hz
• Allarme batteria scarica: 10,5-11,5 Vdc • Allarme batteria scarica: 10,5-11,5 Vdc • Allarme batteria scarica: 10,5-11,5 Vdc
• Dimensioni (mm): 175x112x56 • Dimensioni (mm): 205x112x58 • Dimensioni (mm): 270x150x70
• Peso: 612 grammi • Peso: 760 grammi • Peso: 1.890 grammi
€ 98 ,00
€ 178,00
INVERTER DA 12VDC A 220VAC/300W INVERTER DA 12VDC A 220VAC/600W
CON PRESA USB CON PRESA USB E DISPLAY A LED
• Tensione di ingresso: 12 Vdc nominali • Tensione di ingresso: 12 VDC nominali
• Tensione di uscita: 220-240 VAC – 50 Hz • Tensione di uscita: 220-240 VAC – 50 Hz
• Allarme batteria scarica: 10,5-11,5 Vdc • Allarme batteria scarica: 10,5-11,5 Vdc
• Dimensioni (mm): 205x112x60 • Dimensioni (mm): 220x115x55
• Peso: 880 grammi • Peso: 980 grammi
€ 37 ,00 Set con tutto quello che serve per chi - la scheda micro:bit
vuole muovere i primi passi nel campo - due pile ministilo AAA
della programmazione con micro:bit. - un cavetto USB-micro USB
Il set comprende: - un portapile
€ 57 ,90
€ 57,90
distanza ad ultrasuoni, un portabatteria e
una mappa per l’inseguimento della linea. Rosa Verde
EMULATORE 555
CON MICROCONTROLLORE
VS
A
bbiamo trattato diverse volte il timer
Confrontiamo, a 555 sulle pagine di questa rivista,
scopo didattico, un approfondendo sia gli aspetti teorici
(n. 255 Introduzione al timer 555), che
Timer 555 con l’analisi circuitale (n. 266 Analizzatore
un microcontrollore per 555); abbiamo inoltre presentato
molti circuiti basati su questo integrato
ATtiny85 estremamente versatile (n. 267 e n. 268 Circuiti test per Ana-
programmato lizzatore, n. 269 Light Control). Sono proprio la versatilità e la
semplicità realizzativa e funzionale che hanno fatto di questo
per emulare il circuito integrato uno dei più longevi della storia dell’Elettro-
funzionamento del nica, visto che è stato prodotto per la prima volta nel 1972,
ossia più di 50 anni fa; inoltre nel tempo è stato riprogettato
famoso timer. anche in tecnologia CMOS, con tensione di alimentazione
55
Fig. 1
L’organizzazione
interna del timer
555
più bassa, minore consumo e maggiore frequenza LE CONFIGURAZIONI BASE DEL TIMER 555
operativa. Diamo un rapido sguardo alle tre configurazioni
Vediamo le principali caratteristiche del modello base del timer 555, iniziando dalla sua organizza-
standard, aggiungendo tra parentesi quelle della zione interna (Fig. 1).
versione CMOS: In pratica ci sono due comparatori di tensione
• Alimentazione: 5÷15 V (3÷16 V); interni le cui uscite pilotano un LATCH SET-RESET,
• Frequenza massima: 200 kHz (500 kHz); la cui uscita negata (Q’) pilota contemporaneamente
• Corrente massima in uscita: 200 mA (100 mA). una porta invertente e un transistor NPN in confi-
gurazione a collettore aperto. In base al rapporto
555 VS MICROCONTROLLORE tra le tensioni applicate agli ingressi 2 (SOGLIA) e
Abbiamo pensato, a scopo didattico, di fare un 6 (TRIGGER) dei due comparatori (in genere il pin 5
confronto tra il timer 555 ed un piccolo microcon- CONTROLLO non viene utilizzato) il LATCH porta su
trollore, programmando quest’ultimo per emulare HIGH o LOW l’uscita Q’. Nel primo caso il transistor
il funzionamento del 555, per valutare pro e contro NPN va in saturazione ed il pin 7 (SCARICA) viene
delle due configurazioni. È chiaro che se avessimo cortocircuitato a massa, mentre l’USCITA sul pin
utilizzato il microcontrollore sfruttando tutte le sue 3 si trova a livello LOW, in quanto il livello HIGH in
potenzialità, il confronto sarebbe stato iniquo, ecco ingresso all’inverter viene appunto invertito.
perché abbiamo cercato di metterli alla pari, confi- Nel secondo caso il transistor NPN è interdetto,
gurandolo come emulatore. Nel prosieguo dell’arti- mentre l’USCITA va a livello HIGH. Per approfondi-
colo vedremo il comportamento del microcontrol- menti consigliamo la lettura dell’articolo presentato
lore durante l’emulazione delle tre configurazioni sul n. 255, già citato in precedenza.
standard del timer 555: astabile, monostabile e Ma come funziona il comparatore? La risposta ci
bistabile, dimostrando che in linea teorica potrebbe viene data dalla Tabella 1, che riporta la cosiddetta
sostituirlo senza particolari problemi, e spiegando tavola della verità o tabella funzionale (semplificata
quali sono i miglioramenti che esso può apportare rispetto a quella del datasheet) cioè il comporta-
con la propria tecnologia. mento delle uscite dell’integrato in base allo stato
Tabella 1
Tabella funzionale
del timer 555.
56
degli ingressi. La prima colonna serve esclusiva- che si ha un funzionamento a ciclo continuo, con
mente per fornire un riferimento esplicito ad ogni alternanza degli stati HIGH e LOW dell’USCITA;
riga. Come si può notare nella riga 1, il pin 4 (RESET quindi le due condizioni sono instabili, ed è questa
del 555) se posto a livello logico basso, fissa la ragione per la quale questo tipo di configurazio-
l’USCITA (pin 3) su LOW e le tensioni o segnali ap- ne viene definita ASTABILE.
plicati sui pin SOGLIA e TRIGGER vengono ignorati, In Fig. 3 abbiamo riprodotto la configurazione
quindi questo pin può essere utilizzato per blocca- monostabile.
re temporaneamente l’attività del 555. Se invece Da notare che in questo caso l’ingresso SOGLIA è
viene fissato su HIGH (collegandolo all’alimenta- scollegato dal TRIGGER ed è invece collegato al pin
zione del circuito) abbiamo tre possibili condizioni: SCARICA.
1. TRIGGER < 1/3 VCC: SCARICA OFF (quindi scol- Al momento dell’accensione il TRIGGER si trova ad
legata dalla massa) e USCITA HIGH (poco meno un livello maggiore di 1/3 VCC a causa del resistore
di VCC), la tensione applicata al pin SOGLIA è di pull-up R1 e l’USCITA è bassa (LOW), con conse-
irrilevante; guente accensione di LD2. Contestualmente il pin
2. TRIGGER > 1/3 VCC e SOGLIA > 2/3 VCC: SCARI- SCARICA è collegato a massa e mantiene a livello
CA ON (quindi collegata a massa) e USCITA LOW LOW il pin SOGLIA, impedendo al condensatore CX
(circa 0 V); di caricarsi, in quanto la corrente che attraversa RX
3. TRIGGER > 1/3 VCC e SOGLIA < 2/3 VCC: SCARI- finisce direttamente a massa; pertanto, finché non
CA e USCITA non cambiano lo stato attuale fino interviene un fattore esterno, si ha un comporta-
a che non si verifica una delle due precedenti mento stabile.
combinazioni. Il fattore esterno è dato dalla pressione del
57
costante di tempo risultante dai valori di RX e CX.
Fig. 4 Ecco la ragione per la quale questo tipo di configu-
Il timer 555 in confi- razione viene definita MONOSTABILE.
gurazione bistabile.
In Fig. 4 abbiamo riprodotto la configurazione
bistabile.
Anche in questo caso l’ingresso SOGLIA è scolle-
gato dal TRIGGER, ma questa volta il pin SCARICA
resta inutilizzato, poiché nel circuito non ci sono
condensatori, infatti questa configurazione non
prevede alcuna temporizzazione, ma solo due stati
logici stabili.
Al momento dell’accensione il TRIGGER si trova ad
un livello maggiore di 1/3 VCC, a causa del resisto-
re di pull-up R2, l’USCITA si trova inizialmente al
pulsante S1, che cortocircuita il TRIGGER a massa, livello LOW (fase STOP); La SOGLIA si trova ad un
portandolo ad un livello inferiore a 1/3 VCC, si veri- livello minore di 2/3 VCC, e questa combinazione,
fica quindi la condizione della riga 2 della Tabella 1 in base alla riga 4 della Tabella 1, non provoca
e l’USCITA diventa alta (HIGH), si spegne LD2 e si cambi di stato; a conferma di ciò il LED LD2 risulta
accende LD1. Rilasciando il pulsante il TRIGGER costantemente acceso.
ritorna a livello maggiore di 1/3 VCC. Il pin SCARICA Se si preme il pulsante S2 (STOP) la SOGLIA viene
intanto è stato scollegato dalla massa e la corrente portata ad un livello maggiore di 2/3 VCC, e ci
che attraversa RX inizia a caricare il condensatore si trova nella condizione prevista dalla riga 3
CX, quindi la tensione sulla SOGLIA inizia gradual- della Tabella 1, quindi lo stato dell’USCITA non
mente a salire. cambia perché si trova già a livello LOW. Se invece
Durante tutta la fase di carica l’USCITA si mantiene si preme il pulsante S1 (START) il TRIGGER viene
alta, in quanto, come abbiamo visto, la combina- portato ad un livello minore di 1/3 VCC, e ci si trova
zione TRIGGER > 1/3 VCC e SOGLIA < 2/3 VCC (riga nella condizione della riga 2 della Tabella 1, quindi
4 della Tabella 1) non provoca modifiche di stato. l’USCITA diventa HIGH, si spegne il LED LD2 e si
Nel momento in cui il condensatore è abbastanza accende LD1. Rilasciando S1 la combinazione degli
carico da avere ai suoi capi (e quindi sulla SOGLIA) ingressi ridiventa quella della riga 4, e quindi anche
una tensione maggiore di 2/3 VCC, si verifica la questo stato è stabile. Poiché entrambi gli stati
combinazione della riga 3 della Tabella 1, e avviene dell’USCITA restano stabili finché non si interviene
la nuova commutazione dell’USCITA a livello basso premendo uno dei due pulsanti, questo tipo di
(LOW), il condensatore si scarica istantaneamente configurazione viene definita bistabile.
attraverso il pin SCARICA, ora collegato nuova-
mente a massa; tale condizione resterà stabile fino EMULARE IL 555 CON UN ATTINY
ad una nuova pressione del pulsante. Riepilogando, Per realizzare l’emulatore del timer 555 abbiamo
mentre lo stato di USCITA bassa è stabile, quello di utilizzato un piccolo microcontrollore, della famiglia
USCITA alta è instabile, in quanto dipendente dalla AVR ATtiny, precisamente l’ATtiny85P, per le cui
caratteristiche rimandiamo al datasheet presente
sul sito del produttore Microchip, e precisamente
al link https://www.microchip.com/en-us/product/
ATtiny85#document-table. Poiché possiamo
considerarlo un fratello minore del celeberrimo
ATMega328P, cuore dell’Arduino UNO, questo
microcontrollore si può programmare con l’IDE di
Arduino, mediante tecnica ISP, come vedremo nella
parte dedicata alla sua programmazione.
Trattandosi di un articolo didattico abbiamo
Tabella 2
Corrispondenza realizzato un emulatore concettuale, quindi
dei pin tra il 555 bisogna considerare che alcuni comportamenti
e l’ATtiny85.
non saranno identici e le formule tipiche di calcolo
delle tempistiche non sono applicabili, anche se in
58
qualche caso i risultati possono essere simili. pin RESET e CONTROLLO in emulazione è diverso
Nella Tabella 2 abbiamo riportato la corrisponden- dai corrispondenti dei 555. Il RESET del 555 si
za dei pin del timer 555 con quelli del microcontrol- limita a mantenere bloccato il timer, mentre quello
lore emulatore. del microcontrollore non lo fa proprio funzionare;
Descriviamo questa tabella: il CONTROLLO del 555 è collegato ai comparatori
• i pin di alimentazione V+ e GND dei due inte- interni e permette di agire sul range di intervento,
grati sono fissi e non modificabili; per esempio aggiungendo un resistore tra il pin
• il TRIGGER del 555 corrisponde al pin analogi- stesso e la massa, mentre il corrispondente D2
co A2, collegato al pin 3 dell’ATtiny85; può essere solo collegato direttamente al positivo
• l’USCITA del 555 corrisponde al pin digitale D1, di alimentazione o alla massa per settare un range
collegato al pin 6 dell’ATtiny85; prestabilito via firmware, identico o diverso da
• il RESET del 555 corrisponde all’equivalente quello tipico del 555.
pin dell’ATtiny85, collegato al suo pin1; Per l’emulazione dei pin d’ingresso SOGLIA e TRIG-
• il CONTROLLO del 555 corrisponde al pin digi- GER abbiamo fatto ricorso a due pin analogici del
tale D2, collegato al pin 7 dell’ATtiny85; micro, mentre per i pin USCITA e SCARICA servono
• la SOGLIA del 555 corrisponde al pin analogi- due pin digitali. Mentre l’USCITA può essere uti-
co A3, collegato al pin 2 dell’ATtiny85; lizzata direttamente come tale, l’emulazione della
• la SCARICA del 555 corrisponde al pin digitale SCARICA ha richiesto l’aggiunta di un transistor
D0, collegato al pin 5 dell’ATtiny85. NPN esterno, che in pratica ha lo stesso compor-
tamento di quello integrato nel 555.
Come si può notare non c’è alcuna corrispondenza
pin-to-pin, e d’altra parte sarebbe stata impossibi- CIRCUITI DI TEST
le da realizzare. Inoltre il reale comportamento dei Abbiamo approntato 4 circuiti per testare il nostro
IL LABORATORIO
VICINO AI SUOI CLIENTI
Il laboratorio di collaudo
e certificazione che rende
l’immissione dei prodotti
sul mercato semplice,
veloce e sicura.
www.sicomtesting.com 59
Fig. 5
Lampeggiante
a due LED.
emulatore 555, per i primi tre vedremo lo schema re più chiara l’equivalenza tra di essi.
elettrico a confronto con l’equivalente circuito Il funzionamento del circuito basato sul 555 è
originale, mentre per tutti e quattro illustreremo quello della configurazione astabile descritta all’ini-
la realizzazione su una breadboard, affinché si zio, per cui il gruppo R1-R2-C1 serve per generare
possano replicare agevolmente i nostri test; inoltre la frequenza di oscillazione e quindi di lampeggio
riportiamo i valori di tensione, frequenza o tempo dei due LED LD1 e LD2. Il pin RESET, normalmente
ottenuti da noi, per fornire un riferimento certo. collegato a +5 V, mediante lo switch S1 può essere
collegato a massa, bloccando il funzionamento del
Circuito n. 1: Lampeggiante a 2 LED circuito e lasciando acceso il solo LED rosso LD2.
Questo circuito emula la configurazione astabile, Nel circuito basato sul microcontrollore abbia-
nel momento in cui viene alimentato inizia auto- mo gli stessi valori RC, che danno origine ad una
maticamente l’accensione alternata dei due LED temporizzazione simile ma non uguale a quella del
rosso e giallo, con frequenza dipendente dal grup- circuito originale, a motivo delle differenti impe-
po RC utilizzato. In Fig. 5 mettiamo a confronto lo denze interne dei due integrati.
schema del circuito originale basato sul timer 555 La particolarità del circuito basato sull’ATtiny85 è
e quello realizzato con il microcontrollore. nell’emulazione del pin SCARICA, ottenuto median-
I componenti che svolgono la stessa funzione nei te il transistor NPN T1 che, nel momento in cui il
due circuiti hanno sigla identica, in modo da rende- pin 5 del micro viene portato a livello HIGH, va in
60
conduzione e scarica istantaneamente il conden-
satore C1 (SCARICA ON); viceversa, quando il pin
Tabella 3
5 è su LOW, il transistor T1 è interdetto e C1 può Comparazione
caricarsi. All’accensione il firmware imposta l’USCI- frequenze tra
circuito originale
TA su LOW (LED rosso LD2 acceso) e la SCARICA ed emulatore.
su ON (transistor T1 in conduzione), quindi i pin
TRIGGER e SOGLIA si trovano a livello < 1/3 VCC.
Questa condizione (riga 2 della Tabella 1) por-
ta istantaneamente ad un cambio di stato, con
l’USCITA su HIGH (LED giallo LD1 acceso) e la SCA-
RICA su OFF (transistor T1 interdetto), quindi C1
inizia a caricarsi tramite i due resistori in serie R1 e in quanto la fase HIGH dipende da R1-R2-C1 men-
R2. Fino a che la tensione ai capi di C1 non supera tre la fase LOW dipende da R2-C1.
i 2/3 VCC, i pin TRIGGER e SOGLIA si trovano nella Nella Tabella 3 abbiamo riportato le frequenze
condizione della riga 4 della tabella, quindi non ottenute col circuito originale del 555 e quelle
avviene alcun cambiamento. Nel momento in cui ottenute, con gli stessi valori RC, con l’ATtiny85.
la tensione ai capi di C1, e quindi sui pin TRIGGER Si può osservare come per i valori di capacità più
e SOGLIA, supera i 2/3 VCC, si verifica la condizio- alti le frequenze siano praticamente identiche,
ne della riga 3 della Tabella 1 ed avviene il nuovo mentre man mano che essi diminuiscono la diffe-
cambio di stato, con l’USCITA su LOW (LED rosso renza si accentua. Naturalmente avremmo potuto
LD2 acceso) e la SCARICA su ON, C1 inizia a scari- ottenere gli stessi valori con qualche modifica ma,
carsi tramite R1 e la giunzione C-E di T1. Fintanto come già spiegato, questo è un articolo con scopi
che la tensione ai capi di C1 non raggiunge 1/3 VCC, didattici, quindi è più utile comprendere che ci si-
i pin TRIGGER e SOGLIA si trovano nella condizione ano delle potenziali differenze. Per ottenere valori
della riga 4 della Tabella 1, quindi non avviene al- di frequenza simili a quelli del circuito originale,
cun cambiamento. Nel momento in cui la tensione sarebbe sufficiente diminuire leggermente il valore
ai capi di C1, e quindi sui pin TRIGGER e SOGLIA, di R1; per ottenere i valori identici si potrebbe so-
scende al di sotto di 1/3 VCC, si verifica la condi- stituire R1 con un trimmer o un potenziometro da
zione della riga 2 della tabella ed avviene il nuovo 10 kohm, tarandolo poi fino ad ottenere il risultato
cambio di stato, con l’USCITA su HIGH e la SCARICA desiderato. Bisogna come sempre considerare che
su OFF, e ricomincia il ciclo. La frequenza di lavoro replicando il circuito con gli stessi valori usati da noi
del circuito è data dalla somma del periodo dei due si potrebbero comunque ottenere lievi differenze,
stati logici dell’USCITA, che hanno diversa durata, dovute alle tolleranze del gruppo R1-R2-C1.
Fig. 6
Il circuito del
lampeggiante
a due LED su
breadboard
61
caricare istantaneamente C1 e portare il circuito in
Tabella 4 condizione di STOP.
Temporizzazione Nel circuito basato sul microcontrollore abbia-
in base ai valori
R1-C1. mo gli stessi valori RC, che danno origine ad una
temporizzazione simile ma non uguale a quella del
circuito originale, a motivo delle differenti impe-
denze interne dei due integrati. All’accensione i due
resistori di pull-up R1 e R2 portano la condizione
TRIGGER > 1/3 VCC e SOGLIA-SCARICA > 2/3 VCC,
quindi la riga 3 della Tabella 1, l’USCITA va a livello
LOW (LED rosso LD2 acceso) e la SCARICA su ON
In Fig. 6 abbiamo riprodotto i collegamenti effettua- (transistor T1 in conduzione); istantaneamente i
ti su breadboard nei nostri test su questo circuito. pin SOGLIA e SCARICA passano a livello < 2/3 VCC,
In questa immagine il pin RESET non è stato colle- mentre il TRIGGER resta > 1/3 VCC, questa è la
gato ad un deviatore, come prevedrebbe lo schema condizione della riga 4 della Tabella 1, e quindi lo
elettrico, ma è stato fissato al positivo di alimen- stato del circuito resta stabile finché non inter-
tazione; volendo sperimentare il funzionamento di viene un fattore esterno che, nel nostro caso, è il
questo pin, sarà sufficiente spostare il ponticello pulsante S2 (START). Premendo questo pulsante il
dal positivo al negativo dell’alimentazione e si TRIGGER viene portato a livello < 1/3 VCC e avvie-
vedrà che l’oscillazione si bloccherà all’istante ed i ne istantaneamente il cambio di stato, con l’USCI-
due LED si spegneranno. TA su HIGH (LED giallo LD1 acceso) e la SCARICA
In realtà il microcontrollore funziona anche senza su OFF; in queste condizioni C1 inizia a caricarsi
collegare il pin 1 all’alimentazione, infatti nei suc- tramite R1. Fino a che la tensione ai capi di C1 non
cessivi circuiti non lo abbiamo utilizzato. supera i 2/3 VCC, il circuito si trova nella condizione
della riga 4 della Tabella 1 e non interviene alcuna
Circuito n. 2: Timer a temporizzazione fissa variazione. Nel momento in cui la tensione ai capi
Questo circuito emula la configurazione monosta- di C1 supera i 2/3 VCC, con il TRIGGER > 1/3 VCC e
bile, nel momento in cui viene alimentato va auto- la SOGLIA > 2/3 VCC si verifica la condizione della
maticamente in condizione STOP, con l’accensione riga 3 della tabella ed avviene il cambio di stato:
del LED rosso LD2, e resta stabilmente in questa l’USCITA va su LOW (LED rosso LD2 acceso) e la
situazione finché non si preme il pulsante S2, SCARICA su ON, con T1 in conduzione e C1 che vie-
allorché l’uscita cambia di stato e va in START (ac- ne istantaneamente scaricato, mantenendo il pin
censione del LED giallo LD1), dando inizio al ciclo SOGLIA stabilmente a livello < 2/3 VCC; poiché il
di temporizzazione, al termine del quale il circuito TRIGGER è mantenuto a livello > 1/3 VCC da R2, si
torna nuovamente e stabilmente in condizione di verifica la condizione della riga 4 della Tabella 1, ed
STOP. In Fig. 7 mettiamo a confronto lo schema il circuito resta stabilmente in questo stato, fino ad
del circuito originale basato sul timer 555 e quello una nuova pressione di S2. Naturalmente anche in
realizzato con il microcontrollore. questo caso la durata della temporizzazione dipen-
I componenti che svolgono la stessa funzione nei de dal gruppo R1-C1. Il pulsante S1 (STOP) svolge
due circuiti hanno sigla identica, in modo da rende- la funzione di azzeramento della temporizzazione,
re più chiara l’equivalenza tra di essi. in quanto collegando C1 direttamente all’alimenta-
Il funzionamento del circuito basato sul 555 è zione, lo carica istantaneamente e di fatto anticipa
quello della configurazione monostabile descritta la fine del ciclo. Nella Tabella 4 abbiamo riportato
all’inizio, quindi all’avvio si ha una condizione stabi- alcuni esempi di temporizzazione del timer, in base
le di STOP, con l’USCITA a livello LOW e l’accensio- a diverse combinazioni R1-C1. Volendo ottenere
ne del LED rosso LD2. Alla pressione del pulsante delle tempistiche precise, si potrebbe diminuire il
S2 (START) l’USCITA passa istantaneamente a valore di R1 portandolo ad 1 kohm e poi aggiunge-
livello HIGH, con accensione del LED giallo LD1 ed re in serie ad esso un potenziometro o un trimmer
inizio della temporizzazione, la cui durata dipende da 22 kohm, con funzione di reostato; questo com-
dal gruppo R1-C1. Al termine del ciclo di temporiz- ponente permetterebbe di avere una escursione
zazione (C1 carico) il circuito torna automaticamen- lineare della temporizzazione, tra un minimo ed un
te in condizione di STOP. Il pulsante S1, se premuto massimo dipendenti dai valori utilizzati.
durante la fase di temporizzazione, permette di Una piccola nota riguarda il condensatore C2 da
62
Fig. 7
Timer a
temporizza-
zione fissa.
63
Fig. 8
Il circuito del
temporizzatore su
breadboard.
Fig. 9
Commutatore
START-STOP
64
Fig. 10
Il circuito del
commutatore
su breadboard
zionamento del circuito basato sul 555 è quello basato sul 555, sul quale abbiamo sfruttato due
della configurazione bistabile descritta all’inizio, importanti peculiarità del microcontrollore. La
quindi all’avvio si ha una condizione stabile di prima consiste nella possibilità di alimentarlo ad
STOP, con l’USCITA a livello LOW e l’accensione una tensione più bassa di quella minima del timer
del LED rosso LD2. In questo stato la pressione 555 che, nella versione CMOS, parte da 3 V; la
del pulsante S1 (STOP) non influenza il circuito. seconda ci viene offerta proprio dalla possibilità di
Alla pressione del pulsante S2 (START) l’USCITA programmare il micro, impostando un comporta-
passa istantaneamente a livello HIGH, con accen- mento variabile a seconda delle nostre esigenze.
sione del LED giallo LD1, e resta stabile fino alla Nello specifico, ormai sappiamo bene che i
pressione del pulsante S1 (STOP), allorché cambia comparatori di tensione interni al 555 hanno due
di nuovo stato. Per quanto riguarda la versione in livelli di intervento, uno per il TRIGGER, che è di
emulazione col micro, il funzionamento è identico, 1/3 VCC (1,67 V circa nel caso di alimentazione
unica variante è il condensatore C1, aggiunto per a 5 V), ed uno per la SOGLIA, che è di 2/3 VCC
lo stesso motivo descritto nel circuito n. 2. (3,34 V circa, sempre nel caso di alimentazione
In Fig. 10 abbiamo riprodotto i collegamenti ef- a 5 V). Questi valori possono essere modificati
fettuati su breadboard per i nostri test su questo aggiungendo un resistore tra il pin CONTROLLO e
circuito. la massa; per esempio un resistore da 10 kohm
porterebbe i livelli rispettivamente ad 1/2 e 1/4
TIMER 555 E ATTINY85 A CONFRONTO VCC, ma si tratta comunque di valori simmetrici
Fino a questo punto abbiamo messo a confronto obbligati. Un microcontrollore invece permette
il timer 555 con un microcontrollore utilizzato di programmare queste due soglie a piacimento,
per emularlo. Lo scopo è stato quello di dimo- l’ATtiny85 da noi utilizzato è stato programmato
strare che un integrato di nuova generazione può per avere due coppie di livelli, una che è quella
sostituire senza particolari problemi un vecchio tipica del 555, e l’altra con livello di TRIGGER a
integrato. Chiaramente se questo fosse l’unico 1/5 VCC (1 V circa nel caso di alimentazione a 5 V)
vantaggio non avrebbe alcun significato, in parti- e livello di SOGLIA a 4/5 VCC (4 V circa nel caso di
colar modo per il timer 555, visto che è regolar- alimentazione a 5 V). Abbiamo deciso di utilizza-
mente prodotto ed a costi bassissimi, inoltre non re per comodità questi due livelli, ma potevano
necessita di programmazione e quindi chiunque essere benissimo asimmetrici, sarebbe bastato
potrebbe implementarlo facilmente in un circuito adottare altri valori nell’ADC. La commutazione
che necessiti delle sue funzionalità. tra le due coppie di valori avviene semplicemente
Vediamo allora quali altri vantaggi può offrire un mediante collegamento al positivo o al negativo
microcontrollore, affinché valga la pena usarlo di alimentazione di un pin del micro, al quale
al posto di un timer 555, quando si progetta un abbiamo dato il nome virtuale di CONTROLLO, in
circuito. Abbiamo realizzato un altro semplice riferimento all’equivalente pin del 555. Vediamo
schema, sempre partendo da quello originale quest’ultimo circuito.
65
Fig.11
Comparatore di
tensione con
microcontrollore.
66
Fig. 12
Il circuito del
comparatore su
breadboard.
tensione di alimentazione scelta per il circuito ed tato tale livello, nel caso della tensione a 5 V, da
alla posizione del deviatore S1. 3,34 V a 4 V, è ovvio che per raggiungerlo il con-
Per replicare questo interessante test, in Fig. 12 densatore dovrà essere caricato maggiormente,
abbiamo riprodotto i necessari collegamenti su impiegando più tempo. Per avere un’idea tangibile
breadboard. dell’influenza di questa opzione, abbiamo prepa-
La gestione del pin CONTROLLO è importante rato la Tabella 6, che è una versione estesa della
anche nei circuiti di tipo astabile e monostabile, in precedente Tabella 4, che contiene le temporiz-
quanto la differenza di valore dei livelli di SOGLIA zazioni del circuito n. 2 (Timer a temporizzazione
e TRIGGER incide sulle tempistiche legate ai grup- fissa) alimentato a 5V.
pi RC. Infatti, se con i valori standard trascorre un Confrontando i valori si può notare come l’amplia-
certo periodo di tempo affinché un condensatore mento dei livelli abbia comportato un aumento
raggiunga il livello 2/3 VCC, avendo noi aumen- delle tempistiche del 50% o oltre.
Fig. 13
Aggiunta
delle board
ATtiny.
67
PROGRAMMAZIONE
Listato 1 DEL MICROCONTROLLORE ATTINY85
/*
Nel Listato 1 abbiamo riportato il semplice
* Emulatore Timer 555 con TINY85 1MHz (Fuse 62-DF-FF) firmware che ci ha permesso di realizzare questo
*/
emulatore per timer 555. La sezione delle dichia-
#define scarica 0 //pin 5 razioni contiene le attribuzioni dei pin, che abbiamo
#define uscita 1 //pin 6
#define trigger A2 //pin 3
già visto, un flag e due variabili che servono per le
#define soglia A3 //pin 2 due opzioni di CONTROLLO. Nel Setup vengono
#define controllo 2 //pin 7
//il reset del tiny (pin 1) viene usato proprio come reset
settati i pin digitali e viene forzato lo stato iniziale
//se reset=LOW il tiny è bloccato ed i LED sono spenti di USCITA LOW e SCARICA HIGH (ON). Nel Loop
//gestione tensioni intermedie
//”1” forza l’uscita su LOW nei circuiti bistabili
vengono impostati i livelli del comparatore, in base
byte inState=1; allo stato logico del pin abilitato al CONTROLLO,
int compH; //valore di soglia
int compL; //valore di trigger
seguono le 4 possibili combinazioni del compara-
tore: TRIGGER < 1/3 VCC, tensione sul TRIGGER in
void setup()
{
aumento, SOGLIA > 2/3 VCC, tensione sulla SOGLIA
pinMode(uscita, OUTPUT); in diminuzione. Come si può notare sono bastate
pinMode(scarica, OUTPUT);
pinMode(controllo, INPUT_PULLUP);
poche righe di codice per permettere al microcon-
digitalWrite(uscita, LOW); //LED ROSSO trollore di emulare il timer 555. Naturalmente, affin-
digitalWrite(scarica, HIGH);
}
ché tutto funzioni, bisogna programmare l’ATtiny85,
quindi forniamo subito le necessarie istruzioni.
/*******************************************
* loop() function
La prima operazione da fare è collegare un Ardui-
*******************************************/ no UNO al PC, aprire l’IDE e caricare nella board lo
void loop()
{
sketch ArduinoISP in dotazione all’IDE (noi abbiamo
//set comparatore usato la versione 1.8.15). La seconda operazione
if (digitalRead(controllo)==HIGH)
{
consiste nell’abilitare l’IDE a programmare il micro-
//controllo disattivo controIlore ATtiny85, in “File – Impostazioni – URL
//alim. 5V o 2,4V
compL=341; //1,67V - 0,80V
aggiuntive per il Gestore schede”
compH=683; //3,34V - 1,60V occorre inserire il seguente link:
}
else //controllo attivo
https://www.leonardomiliani.com/repository/packa-
//alim. 5V o 2,4V ge_leonardomiliani.com_index.json (Fig. 13).
{
compL=204; //1V - 0,48V
Subito dopo occorre chiudere e riaprire l’IDE, per
compH=818; //4V - 1,92V attivare le nuove board, e aprire nell’IDE il file Emu-
}
latore_555.ino, scaricabile dalla sezione download
//trigger <= compL della pagina di presentazione di questa rivista. Ora
if(analogRead(trigger) <= compL)
{
bisogna selezionare la board che serve per la pro-
digitalWrite(uscita, HIGH); //LED GIALLO grammazione, seguendo le immagini della Fig. 14.
digitalWrite(scarica,LOW);
inState=0;
A questo punto si può realizzare il collegamento
} ISP tra Arduino UNO ed il micro da programmare,
//trigger in aumento
if(analogRead(trigger) > compL && inState==0)
saranno sufficienti la solita breadboard e alcuni
{ cavetti jumper, come in Fig. 15. Occorre fare molta
digitalWrite(uscita, HIGH); //LED GIALLO
digitalWrite(scarica,LOW);
attenzione a non sbagliare i collegamenti, in caso
}
//soglia >= compH
if(analogRead(soglia) >= compH)
{
digitalWrite(uscita, LOW); //LED ROSSO
digitalWrite(scarica, HIGH); Cosa occorre?
inState=1;
} Il timer 555 (cod. 555) è in vendita a Euro 0,60 mentre
//soglia in diminuzione
il microcontrollore ATtiny85 -20PU (cod. ATTINY85) è
if(analogRead(soglia) < compH && inState==1)
{ disponibile a Euro 4,90. I prezzi si intendono IVA compresa.
digitalWrite(uscita, LOW); //LED ROSSO
digitalWrite(scarica,HIGH);
} Il materiale va richiesto a:
}
Futura Elettronica, Via Adige 11, 21013 Gallarate (VA)
Tel: 0331-799775 - www.futurashop.it
68
Fig. 14
Impostazione
della board
ATtiny85
1MHz.
Fig. 15
Collegamento
ISP tra Arduino
UNO e ATtiny85.
contrario la programmazione non andrà a buon matore”, seguiranno le brevi fasi della compilazione
fine. Ora bisogna settare nell’IDE “Arduino as ISP” in e del caricamento, ed il micro sarà pronto per la
Strumenti – Programmatore. L’ultima operazione è sperimentazione.
quella di caricare lo sketch dell’ATtiny85 mediante Non ci resta che augurarvi buon divertimento con la
il comando “Sketch – Carica tramite un program- Didattica di Elettronica In!
69
Fai il pieno di energia!
BATTERIA RICARICABILE ULTRACELL AL PIOMBO
SENZA MANUTENZIONE
6V-4,5AH Batterie al piombo senza manutenzione, ad alta densità d’energia e a
bassissima autoscarica, prodotte dalla ULTRACELL. Per uso generico,
€ 12,90
la loro robustezza e affidabilità le consentono un ampio campo di
applicazioni: solare, antifurto, backup, UPS, illuminazione d’emergenza
Cod. UL45-6 ecc. La modalità di ricarica consigliata è quella a corrente costante.
6V-1,3AH
12V-1,3AH
€ 7,90
Cod. UL13-6
€ 13,90
Cod. UL13-12
6V-3,4AH
€ 11,90
Cod. UL34-6
12V-7AH 12V-2,1AH
€ 26,90
Cod. UL7-12
€ 15,90
Cod. UL24-12
€ 14,50
Cod. HR03AAA800
€ 15,80
Cod. HR6AA2100
€ 13,80
Cod. HR14C3000
micro:bit
CI RICORDA DI BERE
L’ ACQUA
di VINCENZO GERMANO e MARCONATALE PARISE
S
e si pensa che il corpo umano di un
adulto è per circa il 65% composto
di acqua (nei neonati la percentuale
Vediamo come oscilla tra il 75 e 80%) si può immedia-
utilizzare micro:bit tamente affermare che l’acqua è una
componente fondamentale della salute
e il modulo del nostro organismo perché permette
ESP8266 per di svolgere numerose attività come la
lubrificazione delle articolazioni e dei muscoli, regola la tem-
inviare messaggi peratura corporea, previene le malattie, fornisce sostanze
su Telegram nutritive alle cellule, aiuta la digestione e la vista, mantiene
buona la pressione sanguigna e tanto altro. Questo fa subito
come memo per capire che una corretta idratazione, associata a una buona
bere un bicchiere alimentazione, permette di mantenersi in salute e quindi
bere una quantità sufficiente di acqua ogni giorno è fonda-
d’acqua ogni ora. mentale per molte ragioni. Partendo da queste considerazio-
71
Fig. 1
Port Expander
e pinout
ni abbiamo pensato di realizzare un promemoria creare progetti semplici o complessi, come giochi,
che ci ricorda di bere acqua tramite una notifica robot, strumenti musicali e molto altro.
su Telegram utilizzando la scheda micro:bit e il Progettato per essere accessibile a tutti, indipen-
modulo ESP8266. dentemente dal livello di conoscenza tecnica, è
stato creato per essere utilizzato da studenti di
IL MICRO:BIT tutte le età, dai bambini delle scuole elementari ai
Come visto in vari articoli su numeri preceden- ragazzi delle scuole superiori e poi ha preso largo
ti della rivista, il micro:bit è un mini-computer piede anche tra gli hobbisti viste le sue caratte-
programmabile progettato per l’educazione e ristiche tecniche hardware e software altamente
l’apprendimento delle tecnologie digitali. sofisticate.
Realizzato dalla BBC in collaborazione con altre Nelle sue dimensioni ridotte (4x5 cm) troviamo un
organizzazioni e aziende, è dotato di una serie di processore ARM Cortex-M0 a 32 bit (della Nordic
sensori, pulsanti, LED e connessioni, che lo ren- Semicondustor), una memoria flash da 256 KB,
dono un dispositivo versatile e adatto a molteplici 16 KB di RAM, un accelerometro a tre assi, un ma-
scopi. Risulta possibile utilizzarlo per insegnare gnetometro, un sensore di luminosità e una serie
concetti di fisica, matematica e informatica. di LED programmabili; caratteristiche che variano
Uno dei punti di forza del micro:bit è la sua a seconda della versione acquistata.
versatilità, infatti si possono realizzare controlli Può essere programmato attraverso un’inter-
(anche da remoto) di robot o la creazione di giochi faccia grafica o attraverso il codice scritto in lin-
multiplayer/interattivi dato che è facilmente guaggio Python, JavaScript, Scratch e Microsoft
integrabile con altri dispositivi, come sensori e MakeCode, che lo rendono compatibile con di-
attuatori, mediante la presenza di diversi pin GPIO. versi sistemi operativi, tra cui Windows, macOS
È stato pensato per essere resistente e durevole e Linux. Grazie ad un display a LED a matrice, si
con un’attenzione particolare alla sicurezza, dispo- riescono a visualizzare testo, grafica e animazioni,
nendo di una serie di funzionalità avanzate, tra perciò lo si può programmare per mostrare ciò
cui la crittografia dei dati e la protezione contro gli che si vuole, dallo stato del tempo alle notifiche di
attacchi informatici. messaggi.
La principale idea di utilizzo è per le classi di Un ulteriore vantaggio è la presenza di connes-
studenti come strumento didattico per insegnare sioni wireless come il Bluetooth, che lo rende
ai giovani le basi della programmazione e dell’e- compatibile con altri dispositivi come smartphone
lettronica, se a questo si aggiunge la sua facilità e tablet, aprendo le porte a molte applicazioni
d’uso e la sua versatilità, può essere utilizzato per interessanti.
72
LA SCHEDA D’ESPANSIONE standard IEEE 802.11 (mediante l’intero stack
Il micro:bit è una board molto potente a livello TCP/IP) quindi si può utilizzare per connettersi
computazionale, flessibile per i suoi protocolli di ad una rete Wi-Fi, a Internet, ospitare un server
comunicazione e immediatamente utilizzabile Web con pagine Web o altri servizi, consentire al
grazie all’astrazione dall’hardware delle librerie tuo smartphone di connettersi ad esso, e molto
di programmazione, tuttavia per un suo facile altro; in più è programmabile sia con un linguaggio
utilizzo è consigliabile l’utilizzo di una scheda dedicato che mediante l’IDE di Arduino, perciò non
d’espansione (in Fig. 1 a sinistra), che permette c’è da stupirsi che sia diventato uno dei dispositivi
una facile interconnessione tra la scheda e il IoT più popolare disponibile.
“mondo esterno”. Questo perché il suo connettore, Esistono molti moduli diversi o schede di sviluppo
pur essendo molto compatto, non è standard complete che possono avere pin, antenne Wi-Fi o
come altre schede tipo Arduino, Raspberry Pi e una quantità di memoria flash a bordo differenti.
simili, che facilmente si riescono a connettere con Bisogna però fare una distinzione, i formati con
board aggiuntive mediante pin header (con passo i quali è possibile acquistare l’ESP8266 sono
2,54mm e singolo pin da 1mm). sostanzialmente tre, il primo è la versione in chip,
Perciò prima di introdurre le varie periferiche del ovvero direttamente il componente da saldare su
sistema, è doveroso parlare di una delle schede circuito stampato ma presuppone di realizzare un
d’espansione per il micro:bit. progetto dedicato su cui applicarlo; il secondo è
Ci sono alcune soluzioni possibili sul mercato mediante modulo, come riportato in Fig. 2, con il
ma tra le varie proposte abbiamo scelto il “Port chip montato su una scheda e l’elettronica minima
Expander” acquistabile sullo store futuranet.it con per mettere in funzione il dispositivo; infine
il codice MICROBITPROTO in grado di rendere di mediante schede di sviluppo dedicate che hanno
facile utilizzo tutte le porte di input/output della preinstallati i moduli e si differenziano principal-
board. mente a seconda della tipologia di antenna, pin
Essendo una scheda d’espansione non ha un disponibili analogici/digitali, schermatura, led a
hardware complesso, monta infatti solamente un disposizione e memoria.
LED di alimentazione e vari pin header con passo Nel nostro caso abbiamo scelto l’ESP-01 acqui-
2,54mm di colore giallo e blu per le porte di I/O e stabile direttamente dal sito futuranet.it, perché
protocolli di comunicazione (I2C, SPI e Seriale), di ampiamente utilizzato in progetti di smart home
colore blu per il riferimento GND e di colore rosso e networking. Grazie al firmware predefinito ne
per il positivo d’alimentazione. consente l’utilizzo in combinazione con un Arduino,
Ulteriore vantaggio è dato dalla disponibilità di tuttavia per l’applicazione in questione bisogna
un interruttore a due posizioni (ON/OFF) che utilizzare un nuovo firmware che possa comunica-
permette di accendere e spegnere comodamente re in “automatico” con il micro:bit.
la scheda. È facile immaginare come l’utilizzo Per fare ciò si può utilizzare il firmware delle
di questa board risulta essenziale quando si Cytron scaricabile da Github al seguente link:
vogliono connettere immediatamente componenti https://github.com/CytronTechnologies/esp-at-
esterni al connettore micro:bit, come possono binaries.
essere schede di sensori che richiedono specifici
collegamenti fisici magari complessi da collegare
direttamente al micro:bit.
IL MODULO ESP8266
Per quanto non ha bisogno di nessuna presenta-
zione, vediamo brevemente le caratteristiche prin-
cipali del modulo ESP8266, ovvero è un System
on a Chip (SoC) prodotto dalla società Espressif,
costituito principalmente da un’unità di controllo
Fig. 2
(microcontrollore) e un ricetrasmettitore Wi-Fi.
Il modulo
Dato il suo basso costo, le dimensioni ridotte e ESP8266.
l’adattabilità, è ampiamente utilizzato in appli-
cazioni IoT (Internet of Things), infatti permette
una connessione Wi-Fi a 2,4 GHz utilizzando lo
73
Fig. 3
Il firmware per il
Nella Fig. 3 vengono riportati due firmware, il Firmware_V2.2.0.bin”, si deve inserire poi 0x00
modulo ESP-01. primo è quello di nostro interesse per questa come indirizzo di destinazione e selezionare le
applicazione con il modulo ESP-01, mentre il seguenti opzioni:
secondo può essere utilizzato nel caso in cui si ha SPI SPEED: 40MHz
a disposizione un ESP-12. SPI MODE: DIO
Dunque scaricate il firmware “Cytron_ESP- Attivare “DoNotChgBin”
01S_AT_Firmware_V2.2.0.bin” e tenetelo da parte,
questo è relativo ai comandi AT per ESP8266 Continuate selezionando la porta COM su cui si è
compilati dal codice sorgente ESP-AT di Espressif. collegato il convertitore USB-seriale (nel caso in
A questo punto per aggiornare il modulo abbiamo Fig. 5 la COM è la 3) e cliccare su “START”. Termi-
necessità di un hardware aggiuntivo, ovvero un nata l’operazione con successo il modulo ESP-01
convertitore USB/seriale. è pronto per essere collegato al micro:bit.
In commercio ne esistono di vario genere, un
esempio è riportato nella Fig. 4 distribuito da DESCRIZIONE DEL SETUP
Futura Elettronica con il codice YM203. Dopo aver illustrato le caratteristiche di ogni
A questo punto non ci resta che collega- componente del progetto, prima di passare all’im-
re l’USB al PC e scaricare il software per il plementazione software su micro:bit, vediamo
download del firmware al seguente link: brevemente le interconnessioni fisiche.
https://www.espressif.com/en/support/download/ Riconsiderando il port expander, con riferimento
other-tools. Il software da scaricare è il “Flash all’immagine di Fig. 1, abbiamo scelto di utilizzare la
Download Tools” che permette di aggiornare il tensione di alimentazione V1, il riferimento di mas-
firmware nel modulo ESP-01. Una volta estrat- sa G ed i connettori gialli per le periferiche. Partendo
to e avviato il software selezionare la modalità dalle considerazioni sulle tensioni di alimentazione è
“Sviluppatore” e nella finestra successiva compi- importante impostare la linea V1 su 5V collegando i
lare i campi come in Fig. 5. Come si può notare è due jumper appositi. Per semplicità i pin d’interesse
necessario selezionare il firmware precedente- (legati alla periferica di comunicazione) vengono ri-
mente scaricato dal nome “Cytron_ESP-01S_AT_ portati in Tabella 1. Per i meno esperti, come vedre-
mo successivamente, le librerie software utilizzate
ci astrarranno da tutti questi dettagli e impostazioni,
permettendoci di semplificare enormemente lo
sviluppo software e rendendo la sua configurazione
Fig. 4 immediata, illustrando le funzioni più importanti per
Il modulo ESP-01 e
il convertitore USB/
implementare la lettura dei dati d’interesse. Perciò,
UART. una volta collegato il protocollo di comunicazione,
l’alimentazione e la massa, siamo pronti per l’imple-
mentazione su micro:bit del software d’interesse.
SVILUPPO SOFTWARE
Ora che il nostro setup è completo, possiamo
procedere con l’attività di sviluppo software così
da “animare” il sistema.
74
Come anticipato, lo scopo di questo progetto è in-
viare messaggi su Telegram mediante il micro:bit e
Fig. 5
il modulo ESP-01, per ricordarci di bere un bicchier Configurazione
d’acqua. Possiamo scegliere la temporizzazione, del Flash
Download
tuttavia bere un bicchiere d’acqua ogni ora potreb- Tools.
be essere l’ideale.
Come visto in precedenti articoli, utilizziamo per
semplicità il MakeCode di micro:bit al seguente
indirizzo Internet, https://makecode.microbit.org/,
come da Fig. 6.
Creiamo un nuovo progetto che possiamo chiama-
re “Water Drink Reminder” e la prima operazione
da effettuare è aggiungere, alle librerie già presen-
ti nell’ambiente di sviluppo, la libreria per l’invio di
messaggi su Telegram mediante ESP8266.
Per fare ciò, clicchiamo su impostazioni (ovvero
la rotellina grigia in alto a desta nella Fig. 6) e poi
selezioniamo “Estensioni”; saremo riportati in una
nuova pagina nella quale possiamo inserire nella
barra di ricerca la stringa “ESP8266” in modo da
ottenere quanto riportato in Fig 7.
Tra le varie opzioni presentate, selezionare l’esten-
sione della Cytron. Verremo riportati nell’ambiente
di sviluppo e potremo notare la nuova libreria
aggiunta dal nome “ESP8266 WiFi”.
A questo punto non ci resta che scrivere il codice
come riportato in Fig. 8.
Vediamone le parti salienti. Si ha la necessità di PIN FUNZIONI Tabella 1
Connessioni tra
inserire due blocchi, “all’avvio” e “per sempre”; il P0 ESP8266 (Tx) moduli ESP-01
primo per configurare la connessione, il secondo e port expander
come ciclo principale che verrà reiterato. P1 ESP8266 (Rx) del micro:bit
Fig. 6
Sito ufficiale
del Make
Code
micro:bit
75
Fig. 7
Selezione
dell’estensione campo “Password” la password della stessa rete. sempre”, ma con qualche altra piccola accortez-
d’interesse. Come riscontro viene inserito un ciclo “se…altri- za. Come da Fig. 8, la prima istruzione riguarda
menti” con delle icone che indicano il successo l’aggiornamento della tempistica in modo tale che
dell’operazione di connessione, in modo tale da micro:bit possa sempre avere l’ora esatta.
capire se micro:bit ha la possibilità di mandare Successivamente inseriamo un blocco “se” e
messaggi mediante internet o meno. Ultima istru- consideriamo l’orario in cui si è svegli; nel caso
zione è la configurazione del Timezone, impostata dell’esempio abbiamo inserito dalle 6 alle 22 ma
Fig. 8 nel nostro caso a 1. ovviamente si può inserire una qualsiasi soglia
Il codice in Effettuati i precedenti passaggi, non rimane altro entro la quale mandare i messaggi. All’interno
micro:bit
che l’invio del messaggio mediante il blocco “per del blocco inseriamo l’istruzione per l’invio del
76
messaggio Telegram, che avrà la necessità di del codice QR e selezionando la chat di gruppo Fig. 9
alcuni dettagli aggiuntivi che vedremo a breve in cui abbiamo aggiunto il bot creato, si trova l’ID Il bot di Telegram.
come ricavare. Infine inseriamo una pausa di un Chat direttamente nell’URL all’interno della barra
ora ricalcolata in millisecondi. degli indirizzi. Perciò abbiamo il tutto per comple-
Mediante il progetto appena illustrato il micro:bit tare il nostro progetto micro:bit illustrato prece-
con l’ausilio del modulo ESP8266 sarà in grado di dentemente.
inviare il messaggio “è tempo di bere un bicchiere
d’acqua” su Telegram, tuttavia mancano i due CONCLUSIONI
campi che permettono al codice di raggiungere Siamo al termine di questo progetto che illustra
proprio il telefono d’interesse, ovvero “API Key” e come utilizzare il micro:bit e il modulo ESP8266
“Chat ID”. Generiamoli insieme. in modo tale da poter sfruttare il canale Telegram
per l’invio di messaggi e ricordarci di bere ogni ora,
CREAZIONE BOT SU TELEGRAM tuttavia lo stesso progetto può essere sfruttato
Una volta effettuato l’accesso sul proprio account per qualsiasi funzionalità che preveda l’invio di
Telegram, nella ricerca inserire “BotFather” e sele- messaggi su smartphone o più in generale su un
zionarlo, assicurandosi che sia quello etichettato particolare account Telegram.
come “bot”, come il primo della lista di Fig. 9A, a
questo punto cliccare su avvia come da Fig. 9B e
poi su “/newbot” come da Fig. 9C per creare un
nuovo bot di Telegram. Inserire il nome del nuovo
bot (ad esempio “EIN_WDR”) e digitare il nome
utente per il nuovo bot che deve terminare con
“bot” (ad esempio “EIN_WDR_bot”), come in Fig. Cosa occorre?
9D.
Dopo aver creato con successo un nuovo bot, Bot- Il modulo micro:bit è disponibile in un comodo starter kit
(cod. MICROBITGOV2) a Euro 37,00, la board di prototipazione
Father invierà un messaggio contenente la chiave (cod. MICROBITPROTO) è in vendita a Euro 15,00, il modulo
API http come riportato in Fig. 9D. Wi-Fi (cod. ESP8266) costa Euro 5,00.
Non ci resta che creare un nuovo gruppo di chat in I prezzi si intendono IVA compresa.
77
NUOVE TELECAMERE
technology
Le telecamere Full-color IP CAMERA 4 MPX – FULL COLOR
sono dotate di una nuova
Risoluzione immagine: 4 MPX
tecnologia che permette Obiettivo: 3,6 mm
di ottenere immagini a Illuminatore luce bianca - numero LED luce bianca: 2 - portata: 30 metri
colori anche in condizioni Grado di protezione: IP66
di scarsa luminosità, sia di Alimentazione: 12 VDC
giorno che di notte.
€ 75,00
cod. FR836
ENERGY METER
IN CLOUD
di ALESSANDRO SOTTOCORNOLA
S
icuramente ha visto crescere l’interesse
intorno a sé per via della crisi energeti-
ca di fine 2022, ma questo dispositivo
Abbiniamo un noto come Energy Meter, sia stand-alo-
contatore di ne che connesso in Rete, è utilizzato già
da tempo perché consente di monito-
energia ad un rare ed anche programmare i consumi
transceiver WiFi per di elettricità di casa, dell’ufficio e non
solo; noi stessi, in questi ultimi anni, lo abbiamo declinato in
pubblicare in Cloud e vari modi, presentando progetti finalizzati sia al monitoraggio
sull’interfaccia di una dell’assorbimento e alla gestione dei carichi energivori, sia alla
mera quantificazione dei consumi.
App le statistiche sui Dato l’interesse crescente verso la materia, in queste pagine
consumi elettrici vogliamo tornare sull’argomento proponendo un progetto
che si basa su un prodotto reperibile in commercio e on-line
di casa. su www.futurashop.it con il codice EMDIN02 interfacciato alla
79
nostra scheda con ESP8266 FT1456K allo scopo consumo sia parziale che totale (ossia dall’accensio-
di rilevare i consumi e trasmetterne i dati a Blynk e ne) fino a 999999,99 kWh. Implementa la funzione
da esso a un’apposita App per smartphone (ossia di reset per il valore parziale (il consumo totale non è
la Blynk App) sempre utilizzando il servizio Blynk, azzerabile) e dispone di LED che lampeggia ad ogni
raggiungibile sul web alla pagina blynk.io. impulso fornito all’apposita uscita (localizzata tra i
L’hardware potrà prendere posto nel quadro elettrico morsetti 20 e 21) la quale fornisce un impulso ogni
del locale da monitorare, purché non sia comple- Wh, quindi 1.000 impulsi corrispondono al consumo
tamente in metallo o in luogo schermato o troppo di 1 kWh di energia.
distante per raggiungere l’access point della rete WiFi Il nostro contatore è conforme ai requisiti tecnici
cui verrà abbinato per poter avere accesso a Internet pertinenti di Classe 1, Classe 2 e IEC62052-11,
e interfacciarsi quindi con lo smartphone da utilizzare IEC62053-21 e pertanto può essere collegato alla
come monitor. rete elettrica civile a 230 Vca garantendo isolamento
Entriamo subito nel vivo di questo progetto affron- e sicurezza richiesti dalle apparecchiature del genere,
tando per primo l’hardware necessario, che è meglio quindi risolve il problema della conformità della con-
descritto dallo schema di cablaggio in queste pagine: nessione all’impianto.
vi trovate l’Energy Meter da barra DIN (quindi installa- Per i nostri scopi leggiamo gli impulsi tra i contatti
bile direttamente nel quadro elettrico) con display 20 e 21 attraverso la scheda FT1456, la quale non
LCD retroilluminato, interconnesso mediante la fa altro che interfacciare il modulo WiFi di bordo,
propria uscita ad impulsi ad una linea di I/O (IO2) della ossia un ESP01 basato sul popolare SoC ESP8266;
scheda WiFi FT1456. i contatti 20 e 21 del contatore corrispondono
Abbiamo preferito utilizzare un prodotto “finito” internamente a un’ uscita open-collector.
perché non ci espone alle problematiche correlate Come mostrato dallo schema elettrico che vedete
alla realizzazione di circuiti elettronici collegati diretta- in queste pagine, la FT1456 è sostanzialmente
mente alla rete elettrica a 230Vca. un supporto meccanico che rende accessibili su
Il dispositivo EMDIN02 è un modulo contatore di morsettiere le connessioni utili dell’ESP01 e che,
energia da barra DIN (2 moduli) per sistemi mono- mediante un regolatore integrato, ricava i 3,3V
fase, dotato di display LCD in grado di visualizzare il necessari al funzionamento del modulo WiFi, il
| schema di CABLAGGIO
L
N
Scheda elettronica
L N
per ESP8266
(cod. FT1456K)
- +
1: GND
2: IO2
3: 1O0
4: +5V
5: PWR+
6: PWR-
80
Fig. 1
I due
programma-
tori da poter
utilizzare per
ESP8266.
quale nello schema è contrassegnato come U2; quest’ultimo servirà per caricare il firmware nella
tale dispositivo è interfacciato all’esterno tramite scheda ESP8266 da un Personal Computer con
la propria porta seriale accessibile dal connettore installato l’IDE di Arduino, attraverso la connessio-
CN1, che riporta anche tutti gli altri pin significativi. ne USB, giacché integra un convertitore USB/TTL.
Come vedete dallo schema, il connettore (pin-strip) Il programmatore è autoalimentato attraverso il
è connesso alla morsettiera di destra limitatamen- connettore USB, quindi durante la programmazio-
te alle linee di I/O IO0 e IO2 (due GPIO del modulo ne non serviranno fonti di alimentazione esterne
U2); la stessa morsettiera ripete +5V e GND prove- per la scheda ESP8266.
nienti dall’altra morsettiera (quella bipolare) siglata Il programmatore dispone di un connettore femmi-
PWR) che serve ad alimentare il tutto. na da 2x4 pin a passo 2,54 mm idoneo ad ospitare
L’intero circuito si alimenta con 5Vcc stabilizzati, il modulo ESP8266. Una volta caricato il firmware
prelevati da un alimentatore qualsiasi (switching potete rimuovere l’ESP e applicarlo alla scheda
o lineare) purché ad uscita stabilizzata, filtrati base FT1456K rispettando l’orientamento visibile
adeguatamente dai condensatori C1 e C3 posti in nelle foto in queste pagine.
parallelo alla linea di alimentazione; gli stessi 5V Ricordiamo che quest’ultima board è disponibile
vengono portati al connettore CN1 e alle morset- solo in kit di montaggio con allegate istruzioni,
tiere di uscita, nonché all’ingresso del regolatore quindi dovrete montare i pochi componenti occor-
U1 (un LD1117S33TR) che è un LDO a tre terminali renti, che però sono in SMD; niente paura, comun-
utilizzato per ricavare una tensione stabilizzata di que, perché si saldano anche con un saldatore a
3,3 volt (filtrata da C2 e C4) necessaria al modulo punta fine e della lega saldante in filo sottile (da
con ESP8266 per funzionare correttamente. 0,5 o 0,75 mm) verificando a montaggio ultimato,
Il firmware che inserirete nel modulo ESP è strut- con l’aiuto di una lente d’ingrandimento, che non vi
turato in modo da utilizzare il solo GPIO IO2, per sia dello stagno in eccesso a creare cortocircuiti.
leggere gli impulsi a livello TTL che l’Energy Meter Una volta montata la scheda, potete procedere al
fornisce, quindi convertirli in un valore numeri- cablaggio secondo lo schema proposto in queste
co che verrà sommato nel tempo e trasmesso pagine, prestando attenzione alle connessioni
tramite interfaccia WiFi al servizio Blynk; allo di alta tensione, da fare rigorosamente a quadro
scopo, nello sketch che potete scaricare dal nostro elettrico spento (interruttore della linea in OFF).
sito www.elettronicain.it insieme ai file di questo Ricordiamo che la rete 230Vca si connette ai mor-
progetto dovrete (nelle define) sostituire i valori setti corrispondenti dell’Energy Meter (1-4) e che
predefiniti di SSID e password con quelli della rete i morsetti di uscita (2-3) vanno ai fili della linea da
cui vorrete connettere il sistema. monitorare, che può anche essere un ramo dell’im-
pianto. Solo dopo aver verificato che i collegamenti
PREPARAZIONE DELL’HARDWARE sono corretti, potete dare tensione.
I dispositivi che ci occorrono per realizzare la parte A questo punto lasciate da parte l’hardware perché
hardware sono, oltre che il modulo ESP8266 (co- dovrete concentrarvi sul servizio Blynk IoT e sull’in-
dice ESP8266) la scheda base FT1456K e l’Energy terfacciamento con lo smartphone.
Meter per guida DIN (codice EMDIN02) anche un
programmatore per ESP8266 (reperibile anch’esso CREAZIONE PROGETTO SU BLYNK
su www.futurashop.it) a scelta tra quello con il codi- Per la gestione da device mobile, per prima cosa
ce ESP8266DEB e quello con codice YM203 (li ve- è necessario scaricare l’applicazione “Blynk IoT”
dete rispettivamente a sinistra e a destra in Fig. 1); da AppStore o PlayStore a seconda del disposi-
81
LA SCHEDA ESP8266
82
limitare il numero massimo di invii, ma nel nostro
caso si è scelto di non farlo.
Consigliamo di impostare tali parametri come Fig. 2
Il template
proposto nelle schermate di Edit Event (scheda vuoto da cui
Warning) che vedete nella Fig. 5. partire.
Fatto ciò, tutto il necessario è stato effettuato, quindi
premendo il tasto “Save and Apply” in alto a destra
salverete tutto ciò che è stato fatto fino ad ora.
Nella scheda “Web Dashboard” potrete, se lo
desiderate, aggiungere qualche controllo accessi-
bile dalla pagina web, come ad esempio quella di
Google Chrome, in modo da vedere i dati in tempo
reale senza l’App da smartphone, ma semplice-
mente accedendo dal browser.
Ultima cosa che rimane da fare è quella di ag-
giungere un dispositivo alla lista dispositivi, quindi
premete sulla sinistra l’icona con il simbolo della
lente e poi su “+ New Device”.
Selezionate ora l’aggiunta tramite Template
(From template) come mostrato nella Fig. 6.
A questo punto dovete selezionare il template che
avete appena creato, che nel nostro caso è “Ener-
gyMeter”; fatto ciò, assegnategli un nome, che nel
caso specifico sarà sempre “EnergyMeter” (Fig. 7). remota (Fig. 8).
Una volta premuto il tasto “Create” avrete il lista il Prima di procedere con la configurazione dei para-
vostro dispositivo che figurerà come offline, dato metri nel firmware, sarà molto importante salvare
che l’interfaccia hardware non è ancora stata pro- dalla scheda “DeviceInfo” le tre righe che trovate
grammata a dovere per effettuare la connessione in “Firmware Configuration”, poiché questi sono dei
Fig. 3
Compilazione
dei campi del
Template.
83
parametri essenziali per consentire la connessione mostrati nella Fig. 9, che sono generici ed esempli-
Fig. 4 da remoto del vostro dispositivo (Fig. 9). ficativi; diversamente il sistema non funzionerà.
Gli stream
aggiunti nella A riguardo prestate attenzione al fatto che il La parte Web ora è pronta e ben configurata,
configura- parametro TEMPLATE_ID da salvare sarà quello pertanto adesso sarà necessario procedere dal
zione.
corrispondente al vostro ID del template, ossia vostro smartphone con la creazione dell’interfaccia
quello che la procedura vi restituirà; quindi inserite di gestione.
i dati presenti nella vostra Dashboard e non quelli Attenzione che l’interfaccia sullo smartphone sarà
Fig. 5
Impostazioni delle
notifiche.
84
Fig. 7
Assegnazione
del nome al
nuovo device.
Fig. 6 effettuato e dal menu in alto a destra “Add
Aggiunta di nuovi
dispositivo da
Template” assegnate quindi un nome, che nel
template. nostro caso sarà “EnergyMeter”, ovvero lo stesso
creato dalla Dashboard.
Trattandosi del medesimo nome, sullo schermo
del vostro smartphone dovrebbe comparire
automaticamente anche l’immagine ad esso
collegata a dei pin virtuali della “Datastreams” e associata, tipo quella proposta nella Fig. 10.
questi, a loro volta, al firmware, quindi un solo Cliccando sul nome del dispositivo “EnergyMeter”
parametro immesso in modo errato non permet- potrete aggiungere alla vostra interfaccia grafica
terà l’interazione tra il vostro device mobile e il utente fino a un massimo di 10 widget, che sono
controller del vostro hardware (dispositivo conta il limite imposto dal fatto che state utilizzando
energia interfacciato al WiFi). una versione Free.
Nel nostro caso inseriremo cinque widget, secon-
CREAZIONE INTERFACCIA GRAFICA do la collocazione e la disposizione mostrate nella
SU SMARTPHONE schermata di Fig. 11.
Per costruire la GUI dello smartphone dovete Per aggiungere un widget all’interfaccia dovete
avviare l’App BlynkIoT e fare il Login con i vostri premere il tasto menu e selezionare un tipo: ad
Fig. 8
dati di Account creati in precedenza. esempio “Label Value”. Il nuovo dispositi-
L’app vi darà la possibilità di accedere come Il widget verrà automaticamente posizionato vo è inizialmente
offline.
sviluppatore, quindi scegliete Developer a Login casualmente nella pagina; sarete poi voi, tenendo
Fig. 9
Le righe da salvare
che si trovano
in Firmware
Configuration.
85
11, iniziando dalla prima Label, il cui nome deve
Fig. 10 essere autoesplicativo (cioè deve consentire di
Immagine
associata all’appli- identificare mnemonicamente il relativo parame-
cazione. tro), perché verrà mostrato quando vorrete visio-
nare i dati in tempo reale: ad esempio inseriremo
“Watt in Tempo Reale” (Fig. 12). Invece come
Datastream andrà associato dal menu a tendina
un nome diverso ad ogni Label corrispondente; i
nomi saranno quelli creati in precedenza, vale a
dire Watt_Reale, Watt_Totali, Watt_TotCumulato,
Info, IndirizzoIP (Fig. 13). Notate che tra le varie
Label ne è presente una che non è obbligatoria,
ma serve per mostrare l’indirizzo IP del disposi-
tivo: il dato corrispondente si aggiornerà ad ogni
connessione e può venire comodo per le configu-
premuto a lungo su di esso con il dito e trasci- razioni in locale, ad esempio sul router per limi-
nandolo, a spostarlo in un punto a piacimento, tare eventuali accessi dall’esterno. Appunto per
andando anche a modificarne l’eventuale forma. questo l’indirizzo mostrato è di tipo locale. Sulla
Giusto per preparare già il tutto, dovete inserire falsa linea del precedente, impostare Datastream
cinque Label value. Ma vediamo la configurazione su “IndirizzoIP”, mentre l’etichetta “Label” dovrà
dei cinque elementi proposti nel layout di Fig. essere “Indirizzo IP: /value/”.
Fig. 12
Configu-
razione
Fig. 11 degli elementi
Inserimento dell’interfaccia
dei widget. utente.
86
La configurazione si può considerare terminata,
quindi ora si potrà uscire dall’area sviluppatore Fig. 13
(Developer) premendo il simbolo in alto a sinistra, Configurazione
degli elementi
ossia l’icona con l’omino, fino a tornare alla scher- dell’interfac-
mata principale (Fig. 14). cia utente per
Indirizzo IP.
87
Fig. 15
Aggiunta del driver
di terze parti del
controller.
Fig. 16
Selezione della
scheda corretta
88
Fig. 17
Le righe da
personaliz-
zare.
Blynk. Come prima cosa dovete sovrascrivere le l’orientamento mostrato nella Fig. 18, che riguarda
prime tre righe del codice con quelle ottenute in la scheda programmatore YM203.
precedenza tramite la scheda “Device Info” della Dal comando di menu “Strumenti > Porta” dell’IDE
Dashboard (Fig. 8): si tratta di quelle esposte nella andate a selezionare la porta COM che verrà creata
Fig. 17, le prime tre evidenziate dalla cornice rossa. dopo aver collegato il programmatore e installato i
Successivamente andate a modificare anche la driver occorrenti per farlo funzionare.
variabile “ssid” e “password” con i dati di accesso
corretti per potere accedere via WiFi alla connes-
sione internet (sono le due righe evidenziate dalla
cornice rossa nella solita Fig. 17).
Ora tutto il codice necessario è stato modificato,
pertanto si potrà procede con la compilazione
e quindi il caricamento del firmware sul proprio
dispositivo.
Per procedere sarà necessario munirsi di un pro-
grammatore USB tipo quelli mostrati nella Fig. 1,
ossia uno di quelli reperibili presso Futura Elettro- Fig. 18
La scheda
nica (YM203 oppure ESP8266DEB).
ESP8866 sul
Il programmatore potrà essere collegato diretta- programma-
mente ad una porta USB del computer, mediante tore YM203.
89
da quando il dispositivo è stato avviato e infine i
Fig. 19
Watt Totali Cumulati, ovvero quelli rilevati fin dalla
Applicativo da prima accensione, salvo che il dato non venga can-
Smartphone. cellato tramite pulsante di reset connesso su IO0
della nostra scheda di interfaccia verso l’Energy
Meter.
Nel caso della schermata proposta nella Fig.19
i Watt Cumulati sono appunto più bassi rispetto
a quelli Totali in quanto è stato fatto un reset del
valore.
Infine, nella parte più bassa della schermata, sarà
possibile avere informazioni sul dispositivo, sapere
se è connesso o meno e conoscere la relativa ver-
sione firmware, oltre che l’indirizzo IP attualmente
assegnato al dispositivo stesso (che si identifica
nell’IP address della connessione WiFi cui il nostro
hardware si appoggia).
CONCLUSIONI
Terminiamo qui la descrizione di questo progetto di
smart metering tramite app e smartphone; come
avete avuto modo di vedere consiste nell’esposi-
zione sul web, tramite il servizio IoT Blynk, di un
hardware semplice e facilmente reperibile, quindi
di una vera e propria applicazione IoT per uso
domestico, implementabile senza troppa fatica,
malgrado la complessità insita nell’insieme, grazie
ad un servizio on-line come quello offerto da Blynk.
Il progetto, oltre che ben finalizzato, è anche
l’occasione per imparare a utilizzare gli strumenti
descritti in questo articolo, che una volta appresi a
Come già anticipato, ricordatevi di selezionare fondo vi permetteranno di evolverlo o adattarlo ad
“Generic ESP8266 Module” come scheda target altri ambiti applicativi.
(Fig. 16) dal menù Strumenti. Non ci resta quindi che augurarvi buon lavoro!
Una volta fatto ciò, cliccate sul secondo tasto della
barra menu dell’IDE per consentire la compilazione
del codice sorgente ed il caricamento del firmware
sulla scheda ESP. A caricamento avvenuto, l’IDE ve
ne darà comunicazione; allora potrete sconnettere
il programmatore dall’USB e rimuovere il modulo
ESP per poi montarlo sulla scheda FT1456K; ora
potrete mettere sotto tensione il sistema, alimen-
tando la FT1456K con l’alimentatore da 5Vcc.
Cosa occorre?
UTILIZZO DELL’APP BLYNK Il modulo Energy Meter da barra DIN con display LCD
Usare la parte applicativa è davvero semplice e (cod. EMDIN02) è in vendita a Euro 54,50, la scheda per
ESP8266 (cod. FT1456K) a Euro 5,00, il modulo ESP8266 da
lascia poco spazio a qualsiasi dubbio. utilizzare (cod. ESP8266) a Euro 5,00, il programmatore per
Avviare BlynkIoT e selezionare “EnergyMeter”. ESP8266 (cod. YM203) a Euro 2,50. I prezzi si intendono IVA
Aperta la schermata, ci si troverà di fronte ad una compresa.
schermata simile a quella proposta nella Fig. 19:
Il materiale va richiesto a:
Come si vede, vengono mostrati i dati relativi al
consumo, in particolare i Watt consumati in tempo Futura Elettronica, Via Adige 11, 21013 Gallarate (VA)
reale dal carico connesso, i Watt Totali consumati Tel: 0331-799775 - www.futurashop.it
90
Dai la giusta tensione
al tuo progetto.
SCEGLI TRA LA VASTA GAMMA DI CONVERTITORI DC-DC
QUELLO CHE FA PER TE.
STEP UP
STEP DOWN
€6 ,90 €6 ,50
€ 14,00
STEP UP/DOWN
CONVERTITORE DC/DC
CON INGRESSO 4-35V
Prezzi IVA inclusa.
E USCITA 1,5-25V
cod. STEPUPDOWN
€ 16,00
di batteria scarica.
Lunghezza dell’asta regolabile.
BREAKOUT
BOARD 4G di BORIS LANDONI
S
Implementa la ono molte le applicazioni in cui serve
disporre di una connessione telefonica
connessione cellulare radiomobile, per esempio dove non è ac-
intercambiabile con esempio i nostri telecontrolli GSM della serie TDG (commer-
cializzati da Futura Elettronica su www.futurashop.it), bisogna
la sezione GSM dei disporre di un modulo cellulare qualsiasi (perché utilizzare
93
schema ELETTRICO
dati idonea (anche qui è fattibile con lo smartpho- 2G (GSM) o il GPRS (2,5G).
ne, ma la gestione è più complessa e richiede In questo contesto è nata la breakout board qui
driver compatibili). In quest’ultimo caso, conside- proposta, la quale è basata su un recente modulo
rato che attualmente si punta molto sulle reti 4G GSM della SIMCom, capace di supportare sia le
e 5G e che l’UMTS/HSDPA (meglio noto come 3G) comuni chiamate telefoniche e il correlato servizio
viene gradualmente abbandonato (per esempio di messaggistica SMS (Short Message Service)
lo sta facendo Vodafone…) bisogna disporre di un sia le tecnologie di scambio dati fino al 4G, ovvero
modulo/modem che sia almeno compatibile con LTE (Long Term Evolution). La scheda è rivolta sia
la tecnologia LTE, mentre per le telefonate (tipiche a chi vuole dotare un certo sistema di connettività
dei telecontrolli, che operano con semplici chiama- 4G/LTE, sia a chi ha un telecontrollo della serie TDG
te o SMS) è ancora disponibile, ma non per molto, il e vuole sostituire la scheda cellulare con una più
94
moderna; infatti questa breakout board ha lo stes-
so fattore di forma della TDGGSM_800C (dotata di
modulo SIMCom SIM800C) e nasce per l’upgrade
dei telecontrolli da noi pubblicati in passato.
SCHEMA ELETTRICO
Per farvi comprendere bene di cosa si tratta, dia-
mo dunque uno sguardo allo schema del circuito, Fig. 1
pubblicato in queste pagine, dal quale si vede che Il progetto
proposto è
tutto è basato sul modulo SIMCom A7682E, che compatibile
in pratica è l’unico elemento attivo della scheda; con il modulo
TDGGSM_800
gli fanno da contorno alcuni componenti passivi, (in foto)
sei transistor bipolari NPN, oltre ad un array di montato sui
soppressori TVS (Transient Voltage Suppression) e telecontrolli
della serie
un socket per SIM-Card in versione microSIM. TDG.
Partiamo dunque con la descrizione del circuito,
che ricalca quello del TDGGSM_800C presentato
nel fascicolo n° 147 con il progetto del Telecon-
trollo modulare; a suo tempo disegnammo un PCB
in grado di offrire una certa versatilità e libertà
di scelta, grazie al fatto che poteva ospitare due
moduli GSM uno in alternativa all’altro: il SIM900
(sostituito poi con il SIM800C) della SIMCom ed
l’M10 della Quectel. Stavolta abbiamo previsto
solo un modulo cellulare, ossia l’A7682E della
SIMCom, che rispetto ai due succitati è in grado di
coprire fino allo standard 4G ed è quindi aggiornato
alle nuove tecnologie di comunicazione wireless su
rete telefonica radiomobile, con supporto dati fino
alla velocità di 10 Mbps.
Come il precedente, questo è realizzato su un
circuito stampato delle dimensioni di 45x50 mm, linea PWR, la quale serve a comandare l’accensio-
così da mantenere la compatibilità e, sempre ne e lo spegnimento del modulo GSM pur mante-
in quest’ottica, dispone di due pin-strip per le nendolo costantemente alimentato dai contatti Vcc
connessioni con il circuito base del telecontrollo e GND dei pin-strip; infatti il nostro modulo GSM1
TDG133, 134, 140 ecc., uno da 3 pin ed uno da 16 rimane sempre sotto tensione, fornita dalla linea
pin; il primo trasporta positivo e negativo dell’ali-
mentazione digitale, oltre alla linea di controllo
dell’accensione (PWR), mentre il secondo contiene
tutti i segnali e le linee di comunicazione da e verso
CARATTERISTICHE TECNICHE
il modulo GSM, ma anche la massa della sezione
analogica del modulo SIMCom (AGND, facente
capo al contatto 11).
Bande di frequenza:
Il layout dei pin e la disposizione dei contatti sui Tensione di alimentazione:
GSM/GPRS/EDGE 900/1800 MHz
4 Vcc
pin-strip rimangono invariati rispetto al modulo
originario basato su SIM900 della SIMCom o M10
della Quectel che vedete nella Fig. 1 a confron- Corrente assorbita: Velocità dati uplink in LTE:
to con il nostro; questo permetterà a chi ha dei 800 mA 5 Mbps
telecontrolli TDG l’agevole sostituzione della sola
sezione cellulare.
Vediamo dunque di descrivere il funzionamento Standard supportati: Velocità dati dowlink in LTE:
LTE-FDD B1/B3/B5/B7/B8/B20 10Mbps
partendo dalla sezione di controllo dell’alimenta-
zione, che avviene intervenendo dall’esterno sulla
95
IL MODULO 4G DI SIMCom
96
(contatto 16) del pin-strip e pertanto quando utilizzata per accendere e spegnere (alimentare e
quest’ultimo è open o a livello alto (tensione ugua- privare dell’alimentazione) la SIM ed è gestita dal
le a VDDEXT del modulo GSM1) il T5 è interdetto e modulo GSM1. Notate la presenza del quadruplo
RXD del modulo è a livello alto. Invece TXD (che è Zener D1 (TVS), i cui diodi servono a proteggere la
un’uscita del GSM1) pilota l’emettitore del T4, il cui SIM-Card da eventuali picchi di tensione dovuti a
collettore è provvisto di resistore di pull-up R13, in disturbi, che possono arrivare dalla linea di alimen-
parallelo al condensatore C11 che filtra i disturbi) tazione fino alle linee del bus di comunicazione tra
e quindi è a livello alto (lo stesso potenziale di SIM e cellulare; nello schema è presente per futuri
VDDEXT) quando il pad del modulo SIMCom è ad sviluppi, pur non essendo stato montato nel proto-
1 logico e a zero quando lo stesso si trova a livello tipo perché la SIMCom non lo ritiene necessario per
basso. il modulo A7682E. Lo abbiamo comunque previsto,
I transistor T4 e T5 servono, in definitiva, come a livello di circuito stampato, perché la scheda
ripetitori degli stati logici e da adattatori di livello può supportare altri moduli SIMCom pin-to-pin
dalla tensione VDDEXT del modulo (che è 1,8V compatibili. Un’ulteriore protezione è fornita dai
come i livelli logici con cui lavorano i segnati TXD e condensatori C5-C9, C6, C7, C8 collegati rispetti-
RXD) e lo standard TTL, i cui livelli sono 0/5V. vamente alle linee SIM_VDD, SIM_RST, SIM_CLK,
L’audio, facente capo a due contatti per il mi- SIM_DATA verso massa, la cui funzione è filtrare
crofono (si tratta di un ingresso differenziale) ed tali linee da disturbi impulsivi che potrebbero af-
altrettanti per l’altoparlante, transita dai contatti fliggere la comunicazione tra la scheda (chip-card)
4, 5, 8, 9, che corrispondono rispettivamente a e il modulo GSM1.
MIC1P e MIC1 N (positivo e negativo del microfo- L’alimentazione Vcc è previsto che sia di circa 4V,
no) ed SPK1N e SPK1P (rispettivamente negativo e perché il modulo è progettato per essere alimen-
positivo dell’altoparlante). tato da una batteria a litio 1s (singola cella, quindi
L’antenna del modulo GSM, in questo caso si colle- fra 3,6 e 4,2V) ed anche perché abbiamo pensato il
ga direttamente sullo stampato del cellulare: nostro progetto come sostituto della sezione GSM
ciò evita tutti quei problemi che possono manife- dei telecontrolli della serie TDG (Fig. 2). Quindi
starsi portando le connessioni d’antenna dallo se lo utilizzate sui TDG non c’è alcun problema
stampato del cellulare a quello base del telecon- di alimentazione, come anche se lo dovete far
trollo. La presa d’antenna è localizzata al piedino funzionare a batteria con una cella al litio; se
60 per entrambi i moduli, ma sullo stampato, si invece intendete alimentarlo con un’alimentazione
trova su facce differenti a seconda del modulo standard, come ad esempio quella delle schede
utilizzato; mettendo in comune i collegamenti, la Arduino, siccome partite da 5 volt occorre mettere
presa del modulo su un lato verrebbe collegata in serie un diodo di tipo 1N4002 per abbassare la
alle piste dell’altro, alterando l’impedenza com- tensione fino a portare Vcc a circa 4,2V.
plessiva e, di conseguenza, il funzionamento della Terminiamo la descrizione dello schema elettrico
sezione radio. con il connettore siglato UPG, composto da due
Proseguiamo con il transistor T1, che qui usiamo
per comandare localmente il LED di campo del
cellulare: la sua base viene polarizzata dal livello
logico presente sul piedino 52 (NETLIGHT) del
GSM1 o sul 6 (NET) del GSM2. Dal collettore del Jumper
transistor parte la linea che porta al contatto 19
del pin-strip e che fa capo alla linea LED, con la
quale il microcontrollore host (o in generale il
sistema che utilizza il nostro modulo) si informa
sull’eventuale presenza della rete GSM e sullo
stato di connessione del modulo (assenza segnale
di rete, presenza rete ecc.). I ponticelli
JP1÷JP4 si
Concludiamo l’analisi del circuito occupandoci realizzano
delle linee di gestione della SIM, che si interfaccia unendo le
piazzole con
ai contatti del bus dedicato sul modulo GSM1
lo stagno.
tramite le linee SIM_CLK (clock) SIM_RST (reset)
e SIM_DATA (canale dati); la linea SIM_VDD viene
97
piano di MONTAGGIO
Elenco Componenti:
Varie:
- Strip maschio 3 vie
- Strip maschio 16 vie
pin-strip da tre contatti a costituire una connessio- componentistica a montaggio superficiale (solo
ne maschio da 6 poli a passo 2,54x2,54 mm: oltre i pin-strip sono componenti a foro passante);
a trasportare l’alimentazione a 5 volt e la massa, richiede inoltre un minimo di attrezzatura che
veicola le linee DP, DM, Vbus della connessione consta di almeno un saldatore a punta molto fine,
USB 2.0 integrata e la linea Boot da utilizzare per del filo di lega saldante (o pasta salda) del diame-
la programmazione del SIMCom A7682E. tro massimo di 0,5 mm, della pasta flussante a
media densità, una lente d’ingrandimento e una
REALIZZAZIONE PRATICA pinzetta per il posizionamento dei componenti.
Bene, spiegato lo schema elettrico dobbiamo pas- Inoltre la saldatura del modulo SIMCom richie-
sare agli aspetti pratici: la scheda richiede la realiz- de una stazione ad aria calda e preferibilmente
zazione di un circuito stampato a doppia faccia, le una piastra che riscaldi inferiormente il circuito
cui tracce dei lati rame si possono scaricare dalla stampato a una temperatura di almeno 100 °C;
sezione Download nella pagina di presentazione in alternativa è possibile utilizzare quei “fornetti”
di questo numero della rivista; una volta stampati per la saldatura o il reballing dei chip BGA ed in
a grandezza naturale su carta da lucido o acetato, tal caso la saldatura si effettua spalmando della
potete ottenere le pellicole per procedere con la pasta-salda sulle piazzole del modulo SIMCom
fotoincisione. Una volta inciso e forato il PCB po- dopo averle spalmate con del flussante a bassa
tete montarvi i componenti occorrenti seguendo, densità, quindi appoggiando ben centrato il
per quelli polarizzati, l’orientamento mostrato dal modulo (orientato rigorosamente come indicato
piano di montaggio che vedete in queste pagine. nelle foto del prototipo e del piano di montaggio)
La realizzazione richiede una certa attenzione, in e, senza spostarlo, inserire il circuito stampato
quanto il circuito è composto principalmente da sul piano interno al cassetto. A quel punto si
98
accenderà la macchina eseguendo la procedura ARDUINO TELEFONA IN 4G
di saldatura con la curva corrispondente al tipo Non è un mistero che moduli come quello qui
di pasta salda, ovvero lead-free (Pb-free, senza descritto siano accessibili anche ad un hardware
piombo, conformemente alle normative Rohs) o dotato di poche risorse quale quello di Arduino,
leaded (lega saldante contenente piombo); a tal non a caso anni fa realizzamo una shield GSM
proposito va precisato che questo genere di forni compatibile sia con Arduino che con Raspberry Pi.
ha memorizzate in fabbrica delle curve predefinite Vogliamo quindi proporvi un esempio applicativo
e che in qualche caso è possibile costruire curve che contempla la gestione del nostro circuito me-
personalizzate di saldatura. diante una comune scheda Arduino, che nel caso in
Sistemato il modulo A7682E, che è il primo com- oggetto è la popolare Arduino UNO.
ponente da saldare per evitare di dover scaldare Il nostro modulo 4G è interfacciabile con una qual-
gli altri nel “fornetto” e perciò di sottoporli a siasi scheda Arduino che lavora in logica 5V; allo
stress termico, potete procedere con i compo- scopo si devono collegare i pin nel seguente modo:
nenti restanti. Volendo sarebbe possibile saldare • D2 al TXD del modulo;
tutti i componenti in una volta sola (ad eccezione • D3 all’RXD del modulo;
dei pin-strip, da saldare alla fine, nonché dello • D5 ad un pulsante esterno;
zoccolo per la microSIM, da saldare manualmente) • D6 all’uscita LED del modulo;
ed in questo caso prendete il circuito stampato, • D8 all’ingresso ON/OFF del modulo;
spalmate con la pasta salda le piazzole destina- • D9 alla linea RST del modulo;
te ai componenti SMD e poi mettete il tutto nel • GND al GND del modulo;
fornetto assicurandovi che nessun elemento si sia • 5V, tramite un diodo al VCC del modulo.
spostato. Se optate per la saldatura manuale dei
componenti discreti, spalmate con del flussante le Queste connessioni corrispondono allo schema di
piazzole e quindi stagnate per prime le resistenze cablaggio del circuito da realizzare, proposto nella
e i condensatori, poi il LED e i transistor; questi Fig. 3, rammentando che il diodo da noi utilizzato
ultimi possono essere saldati solo nel verso giusto, nelle prove è della serie 1N400x (se ne può usare
per l’univoca disposizione dei terminali, mentre uno qualsiasi).
per i condensatori elettrolitici al tantalio e il LED Per testare il nostro modulo 4G abbiamo scritto Fig. 2
dovete fare riferimento all’orientamento indicato un codice di esempio per Arduino che permette di ll telecontrollo GSM
TDG133 con il mo-
nel piano di montaggio che trovate in queste pagi- rispondere automaticamente ad ogni telefonata in dulo 4G installato.
ne. Per quanto riguarda il LED, cercate di scaldarlo arrivo, consentendo, tramite il pulsante collegato
il meno possibile, perché altrimenti è facile che al pin D5, di terminare la chiamata (riaggancio),
si deformi la finestrella in resina trasparente da oppure se la chiamata non è in corso, può essere
cui esce la luce. Infine inserite nei rispettivi fori
i pin-strip per il montaggio della scheda e quelli
per realizzare il connettore di aggiornamento del
firmware e in generale la programmazione (UPG). I
pin-strip sul lato inferiore sono utili per realizzare
le connessioni con Arduino o altra scheda host.
Per l’antenna è previsto un connettore dorato THT,
da stagnare manualmente nelle apposite piazzole.
Notate che i ponticelli JP1, JP2, JP3 e JP4 non
sono realizzati con i classici pin-strip ma tramite
piazzole, sul lato inferiore del circuito stampato,
da unire con una goccia di stagno; in condizioni
normali, quindi, sono sconnessi e se vi occorre
connettere i segnali di controllo CTS, RTS, DTR e
DCD dovete unire le rispettive piazzole fondendovi
sopra dello stagno fino ad unire quelle di ciascun
jumper. Per l’utilizzo, ricordate che il circuito
richiede un alimentatore capace di erogare 4 volt
e una corrente di circa 800 mA, che è il picco di
assorbimento.
99
Listato 1
#include <SoftwareSerial.h>
#define ON_OFF 8
#define TX_GSM 3
#define RX_GSM 2
#define STATUS 6
#define RST 9
#define DTR 12
#define PUSH 5
//*************************************** S E T U P ***************************************
void setup()
{
pinMode(ON_OFF, OUTPUT);
pinMode(STATUS, INPUT_PULLUP);
pinMode(PUSH, INPUT_PULLUP);
pinMode(RST, OUTPUT);
pinMode(DTR, OUTPUT);
digitalWrite(ON_OFF,LOW);
digitalWrite(RST,LOW);
digitalWrite(DTR,LOW);
GSM_Serial.begin(115200);
GSM_Serial.setTimeout(1000);
Serial.begin(9600);
Serial.println(“Avvio”);
Accendi_Modulo();
}
//**************************************** L O O P ****************************************
void loop()
{
while (digitalRead(PUSH)==LOW) //Gestione pulsante
{
while (digitalRead(PUSH)==LOW) delay(1);
if ((Fun==0) && (Stato_Chiamata==false) && (Stato_ON==true))
{
//Chiamo perchè non ci sono chiamate in corso
Fun=1;
String comando = “ATD” + Numero_Chiamata + “;”;
GSM_Serial.println(comando);
Serial.println(“Chiamata in corso”);
Stato_Chiamata = true;
}
if ((Fun==1) && (Stato_Chiamata==true))
{
//Termino la chiamata in corso
Fun=2;
GSM_Serial.println(“ATH”);
delay(1000);
}
}
100
RESET
ICSP2
R15
C12
R14
C10
R12
C11
R13
TDGGSM_A7682E
AREF
RX
TX
L
3
4
C1 C4
R18 GND
T6
VCC MIC1P
R10 13
GND R17 R11 MIC1N IOREF
R16 12
ON/OFF RST RESET
Arduino
T5
T4
T3
~11
1
VRTC 3V3
R4 C2
R8
~10
D1
R9 SPK1N 5V
~9
SPK1P
C7 C8 C6
GND
8
POWER
ADC GND
TM
T2 R7
STATUS 7
DIGITAL (PWM=~)
VIN
UNO
RI ~6
C9
C5
R2
R3
R1
CTS A0 ~5
RTS A1 4
LD1
C3
C7
C2
C6
C1
C5
GSM1
ANALOG IN
TXD A2 ~3
A3 2
VCC DP DM RXD
R5 R6 T1
SIM1
A4 ICSP TX0 1
DTR
ON
ANT1
UPG
A5 RX0 0
DCD
VBUS GND BOOT LED
effettuata una telefonata al numero impostato non necessariamente basati su Arduino; è anche Fig. 3
Cablaggio
tramite variabile. Lo sketch d’esempio serve a un valido upgrade per i telecontrolli GSM della
del circuito di test
dimostrare come comunicare in modo semplice serie TDG, cui consente di connettersi anche alla con Arduino.
con il modulo. Ovviamente possono essere intro- più diffusa rete radiomobile 4G/LTE. A tale riguardo
dotti comandi per l’invio di SMS, di connessione dobbiamo precisare che, sebbene il circuito stam-
internet e altro ancora basandosi sul set comandi pato dotato degli strip sia pin-to-pin compatibile
AT standard e specifici per il modulo A7682E. A ri- con il modulo GSM originale dei telecontrolli TDG,
guardo va precisato che pur rispettando il set base per eseguire l’upgrade non è sufficiente la modifica
SimCom, per l’A7682E sono stati creati nuovi co- hardware, vale a dire che non basta togliere il
mandi AT; tra le più importanti variazioni, possiamo modulo GSM (2G) e montare quello qui descritto:
far presente il comando ATH che permette di ter- bisogna anche sostituire il firmware del micro-
minare una telefonata: se eseguito da solo non ha controllore di bordo con la versione appropriata,
alcun effetto, salvo quando sia stato in precedenza scaricabile dalla versione dedicata ai telecontrolli
inviato un comando AT che permette di prendere il del sito di Futura Elettronica, www.futuranet.it.
controllo della chiamata via seriale. Nello specifico
il comando da eseguire all’avvio del modulo o alla
prima occasione che si vuole gestire una chiamata
è “AT+CVHU=0”. Per impostazione predefinita il
parametro del comando è 1, quindi il modulo non
accetta il comando ATH e per terminare la Cosa occorre?
chiamata si basa sulla linea DTR. Per tutti i dettagli Il modulo GSM/GPRS 4G con A7682E (cod. TDGGSM_A7682E)
consigliamo di visionare il set comandi AT. è in vendita a Euro 65,00.
I telecontrolli sono ora disponibili anche con connettività 4G.
Il codice è diviso come al solito nella parte di defini- La versione 2IN/2OUT (cod. TDG133_4G) è in vendita a
zione di pin e variabili, quindi in un setup e un loop, Euro 96,00, l’apricancello (cod. TDG134_4G) a Euro 92,00, il
nonché da sezioni di gestione del modulo (accen- teleallarme con antijammer (cod. TDG140_4G) a Euro 96,00,
il termostato (cod. TDG139_4G) a Euro 96,00 e il telecontrollo
sione, setup GSM e controllo seriale); per con comandi DTMF (cod. TDG140_4G) a Euro 105,00.
brevità, nel Listato 1 proponiamo la parte iniziale,
contenente include, define, setup e loop. I prezzi si intendono IVA compresa.
Il materiale va richiesto a:
CONCLUSIONI
Il modulo qui descritto offre la connettività 4G che Futura Elettronica, Via Adige 11, 21013 Gallarate (VA)
Tel: 0331-799775 - http://www.futurashop.it
potete facilmente implementare nei vostri progetti,
101
Ora i componenti non hanno più segreti!
DISPOSITIVI PROFESSIONALI PER MISURE E ANALISI PRECISE
Cod. JT-LCRT7
€ 34,00
€ 68,00
Dispone di display da 2,4“ TFT LCD - 320x240, larghezza di banda da Dotato di display LCD da 3.5” a colori, ricevitore a infrarossi e batteria
200 kHz e frequenza di campionamento 1 MSa/s con risoluzione 12 bit. ricaricabile integrata da 3,7 volt 350 mAh. Permette di misurare diodi,
I circuiti di alimentazione sono stati semplificati rispetto al modello diodi zener, resistori, condensatori, l’ESR (Resistenza Equivalente Serie)
precedente, così come la portabilità grazie alle dimensioni del case di un condensatore, induttori, tiristori, triac, FET, transistor bipolari
notevolmente ridotte. L’ingresso di trigger esterno accetta segnali (indicando se è NPN o PNP) e batterie (max. 4,5 V). Funziona anche
TTL e LVTTL come sorgente e permette infine di esportare (in formato con condensatori elettrolitici polarizzati e non polarizzati in entrambi
testo) la forma d’onda in seriale. Alimentazione attraverso connettore gli orientamenti. Grazie al ricevitore a infrarossi integrato possono
micro USB. Questo oscilloscopio è particolarmente indicato per gli hob- essere decodificati anche i segnali a infrarossi e visualizzati sul display,
bisti interessati a misurare e visualizzare la maggior parte dei segnali in forma d’onda e codice esadecimale. Le misurazioni vengono avviate
elettronici. automaticamente premendo semplicemente un pulsante.
€ 199,00
€ 135,00
cod. DCA75
MISURARE
I CONDENSATORI
CON L’OSCILLOSCOPIO
di VALERIO CONICELLA
L'
Misuriamo la oscilloscopio è uno strumento indi-
spensabile in qualsiasi laboratorio di
capacità dei elettronica ed è ampiamente usato sia
condensatori dai tecnici di laboratorio che da appas-
sionati del fai da te. Viene comunemen-
utilizzando un te impiegato in laboratorio per analiz-
circuito RC, un zare graficamente la forma d’onda della
tensione in funzione del tempo.
oscilloscopio e In questo articolo vedremo come effettuare delle misure di
un generatore di capacità di un condensatore sfruttando un circuito RC, un
oscilloscopio e un generatore di segnale ad onda quadra.
segnale ad onda
quadra. APPLICAZIONI DEL CIRCUITO RC: IL PACEMAKER
I circuiti RC hanno moltissime applicazioni nella vita quotidia-
na e trovano utilizzo anche nelle applicazioni mediche, come
103
muscolo cardiaco. Gli elettrocateteri trasmettono
informazioni dal pacemaker al cuore e inviano
gli impulsi elettrici, qualora necessario. Viene
programmato mediante un computer apposito,
grazie al quale lo specialista può visualizzare tutte
le informazioni che riguardano il cuore del paziente
e il suo funzionamento.
Il pacemaker basa il suo funzionamento su un
circuito RC. I processi di carica e scarica della rete
RC vengono regolati attraverso un apposito circu-
ito e permettono di generare impulsi elettrici ad
intervalli precisi, regolarizzando il battito cardiaco.
Vediamo nell’immagine un pacemaker e in parti-
colare notiamo gli elettrocateteri (1); l’involucro
che contiene al suo interno l’elettronica (2) e una
batteria al Litio (3).
Fig. 1
Circuito RC. dove τ è la costante di tempo del circuito τ = RC.
Viceversa, il processo di scarica avviene nell’istante
in cui il segnale inverte il suo valore da “ON” ad
104
Fig. 2
Risposta
del circuito
RC all’onda
quadra
Fig. 3
Relazione
tra costante
di tempo e
frequenza
105
Fig. 4
Simulazione con
t = 10RC
Fig. 5
Simulazione con
t = 2RC
106
Fig. 6
Setup di
misura.
Fig. 7
Oscillogramma
carica
condensatore.
Cosa occorre?
CONCLUSIONE
In questo articolo abbiamo visto un utilizzo dell’o- Futura Elettronica dispone di set di condensatori in varie
tipologie e formati. Visita il sito www.futurashop.it per la
scilloscopio, tramite cui è possibile misurare il va-
gamma completa.
lore di capacità di un condensatore, senza l’ausilio
di un capacimetro o ponte RLC, ma semplicemente
disponendo di un oscilloscopio e un generatore ad
onda quadra. Futura Elettronica, Via Adige 11, 21013 Gallarate (VA)
Tel: 0331-799775 - www.futurashop.it
L’obiettivo di questo articolo è proprio quello di
107
Prezzi IVA inclusa.
HDMI CONVERTITORE DA HDMI
A VGA 1080P PLUG AND PLAY
VGA Permette di convertire un segnale digitale HDMI
(compatibile con HDMI1.3) in un segnale VGA
(SUB-D) ad alta definizione con audio in uscita.
Con questo convertitore, il computer, il lettore CONVERTITORE DA AV
video portatile, le console di gioco e alcuni
altri dispositivi video con uscita HDMI possono A HDMI PLUG AND PLAY
connettersi a schermi HD di grandi dimensioni
oppure a proiettori HD con ingresso VGA.
AV
HDMI
€ 11,50
Cod. BOXHDMITOVGA
Convertitori € 14,00
Cod. BOXAVTOHDMI
di segnale
Permette di convertire un segnale audio/video
CVBS (PAL e NTSC) in ingresso in un segnale
HDMI in uscita. Con questo convertitore, il
computer, il lettore video portatile, le console
di gioco e alcuni altri dispositivi video con
uscita CVBS possono connettersi a schermi con
ingresso HDMI. L’uscita HDMI supporta una
Permettono di convertire un risoluzione fino a 1080P 60Hz.
€ 11,50
(PAL e NTSC) in uscita. Con questo convertitore,
il computer, il lettore video portatile, le console
di gioco e alcuni altri dispositivi video con
uscita HDMI possono connettersi a schermi con Cod. BOXVGATOHDMI
ingresso CVBS. L’ingresso HDMI supporta una
risoluzione fino a 1920x1080 a 60 Hz.
HDMI € 11,00
Cod. BOXHDMITOAV
AV
HEART
RATE
MONITOR
di DANIEL SCAINI
V
ita sedentaria, comportamenti poco vir-
tuosi e stress, possono causarci disturbi
e problemi di salute.
Come ormai ribadito dalla Medicina,
modulo ESP32, che meglio e in salute. Oggigiorno, prevenzione non significa per
forza sottoporci annualmente ad esami medici, ma cercare di
invierà tramite BLE i introdurre quotidianamente piccoli gesti e accorgimenti mirati
LCD basato su informazioni utili per conoscere i segnali che il nostro corpo ci
manda ogni giorno.
ESP32-S3. Grazie a questi dispositivi, come ad esempio smartwatch o
109
mente il nostro progetto.
Fig. 1 Oltre a queste caratteristiche mette a disposizione
Il classico modulo altre interfacce quali SPI/SDIO o I²C/UART.
ESP32.
È stato creato ed ingegnerizzato per dispositivi
“mobile” o indossabili (wearable electronics) e
proprio per questo mira a ridurre drasticamente i
consumi rispetto ai concorrenti.
Ha anche una modalità di deep sleep nella quale
consuma solamente 5µA.
Il modulo mette a disposizione una Flash memory
da 4MB ed oltre 25 GPIO per poter interagire con
altri dispositivi.
Il secondo componente è una versione modificata
e integrata del precedente che prevede già a bordo
un display TFT con diagonale di 3,5’’. Il chip ESP32
smartband, un gran numero di persone riesce a qui utilizzato presenta non più 4MB di Flash, ma
prevenire malori o cali di pressione nel corso della ben 16MB; anche a livello processore ha perfor-
giornata e a rendere anche più proficuo l’allena- mance decisamente più accattivanti rispetto al
mento. “fratello minore”. Per l’interfacciamento e l’alimen-
Il progetto che vi descriviamo in queste pagine è tazione è disponibile una doppia USB di tipo C e
stato sviluppato in tale contesto: si tratta di un non manca il supporto Bluetooth 5.0.
semplice sensore con annesso display per poter Il display integrato è RGB a 16 bit con interfaccia
analizzare la frequenza cardiaca di una persona, parallela, con una risoluzione di 480x320 e si basa
ovvero i battiti per minuto del cuore, che rappre- sul controller ILI9488.
sentano un indicatore chiave per determinare lo Anche qui, come già fatto nel progetto del “Monitor
stato di salute cardiovascolare. dei prezzi dei carburanti” proposto in Aprile-Mag-
gio, per poter scrivere a video e poter sfruttare a
L’HARDWARE DEL PROGETTO pieno le caratteristiche appena citate ci baseremo
Il pacchetto hardware è composto da un modulo sulla versione 1.1.2 della libreria LovyanGFX.
ESP32, un ESP32-S3 con display touch-sensitive Infine, l’ultimo componente è il MAX30102, un
ed infine una board MAX30102. Andiamo ad ana- pulsossimetro e cardiofrequenzimetro basato su
lizzare uno alla volta i componenti. un’interfaccia a basso consumo I²C-Bus e un sen-
Il primo, il conosciutissimo ESP32, è un MCU con sore biometrico, il tutto collocato su una breakout
WiFi e connettività Bluetooth integrati al fine di po- board dedicata. Lo vedete nella Fig. 2 nella ver-
ter coprire una vasta gamma di applicazioni (Fig. 1). sione impiegata nel progetto; precisiamo questo
La connettività Bluetooth è una delle peculiarità di perché in realtà esistono in commercio svariate
questa scheda perché offre possibilità di multi- breakout board con chip MAX30102 e possono
connessione e soprattutto nello standard BLE avere una pin-out differente da quella proposta
(Bluetooth Low Energy) su cui si baserà intera- nella Fig. 2, fermo restando che le connessioni
rimangono quelle.
Il pulsossimetro è uno strumento che viene
utilizzato per monitorare i parametri vitali di un
paziente senza utilizzare una metodica particolar-
mente invasiva.
Questo componente integra due LED, un fotorile-
vatore ed una parte di elaborazione per estrarre
dal segnale analogico con poco rumore i segnali di
pulsossimetria (SpO2) e frequenza cardiaca (HR).
Fig. 2
Come accennavo in precedenza ci sono due led
La breakout pul- posti su un lato: LED rosso e LED IR. Dalla parte
siossimetro con opposta invece c’è il fotorilevatore.
MAX30102.
L’idea è quella di illuminare un LED alla volta rile-
vando la quantità di luce che ritorna al rilevatore;
110
è così possibile misurare il livello di ossigeno nel
sangue, nonché la frequenza cardiaca. Fig.3
Effetto del
Sono richieste quindi due tensioni di alimentazione: flusso san-
quella di 1,8V per l’integrato e la 3,3V per i due LED guigno sulla
luce dei LED
del sensore; per questo sulla scheda sono presenti che viene
due regolatori di tensione. riflessa.
Se osserviamo bene sul retro della scheda, trove-
remo anche un ponticello per poter correggere il
comportamento dell’uscita nel caso non fossimo
collegati ad una scheda Arduino o ad una un ESP.
Una delle caratteristiche più importanti del
MAX30102 è il suo basso consumo energetico:
consuma meno di 600μA durante la misurazione.
Inoltre, è possibile metterlo in modalità standby,
dove consuma solo 0,7μA.
Questo basso consumo energetico consente l’im- un diodo fotorilevatore.
plementazione in dispositivi alimentati a batteria Il comportamento di tale dispositivo implementa
come telefoni, dispositivi indossabili o smart watch. due funzionalità: misurazione della frequenza
Ma cerchiamo di capire con esattezza il comporta- cardiaca e pulsossimetria.
mento di questa unità. La prima si basa sul fatto che l’emoglobina ossige-
Il MAX30102, o qualsiasi pulsossimetro ottico e nata (HbO2) nel sangue arterioso ha la caratteristi-
sensore di frequenza cardiaca, è costituito, come ca di assorbire la luce IR: tanto più rosso è il sangue
già ampiamente documentato da una coppia di (più alta è la concentrazione di emoglobina in esso)
LED ad alta intensità (ROSSO e IR, entrambi di quanta più luce IR viene assorbita, pertanto analiz-
diverse lunghezze d’onda) e un fotorilevatore. Le zando il comportamento della radiazione riflessa è
lunghezze d’onda di questi LED sono rispettiva- possibile dedurre quanto il sangue sia ossigenato e
mente di 660 nm e 880 nm. Il dispositivo funziona fornire un dato che esprime il livello di saturazione.
puntando entrambe le luci sul dito o sul lobo Mentre il sangue viene pompato attraverso le pic-
dell’orecchio (o essenzialmente ovunque la pelle cole arterie e arteriole del dito ad ogni battito car-
non sia troppo spessa, in modo che entrambe le diaco, la quantità di luce riflessa cambia, creando
luci possono facilmente penetrare nel tessuto) e una forma d’onda variabile all’uscita del fotorileva-
misurando la quantità di luce riflessa utilizzando tore (Fig. 3) dovuta alle “pulsazioni” della luce.
Fig. 4
Andamento
del segnale
correlato a
quello della
pressione
sanguigna.
111
ricevuta dal fotorilevatore, viene calcolato il livello
di ossigeno (SpO2) nel sangue.
112
Fig.7
Aggiunta URL
al Gestore
schede dell’I-
DE Arduino.
un sensore e nel nostro caso sarà costituito dal ricevere il dato e mostrarlo a video in modo tale da
modulo ESP32 WROOM e dal MAX30102. poterlo condividere con l’utente.
Questi due dispositivi andranno cablati come Come vedremo anche alla fine dell’articolo, questa
proposto dalla Fig. 6, fermo restando che non interfaccia potrà essere anche costituita da un’app.
è necessario utilizzare la breadboard ma potete Un ruolo decisamente importante è svolto dal
avvalervi di una serie di jumper tipo Arduino. terzo attore, la caratteristica, ovvero un valore di
Il modulo ESP32 costituente il server leggerà cicli- dati trasferito dal server al client, nel nostro caso la
camente i dati dal sensore e metterà le informa- frequenza cardiaca.
zioni a disposizione di un eventuali client. Il server A raggruppare queste caratteristiche ci pensa il
potrà accettare in ingresso una sola connessione service: questo è infatti definito come una raccolta
alla volta. di caratteristiche correlate, che operano insieme
Il secondo attore coinvolto, il client, è un dispositi- per eseguire una funzione particolare.
vo che avvia i comandi e accetta le risposte; tipica- Nel nostro caso passiamo un solo dato quindi
mente di tratta di uno smartphone o un PC, ma nel questo legame sarà uno ad uno ma può essere
nostro caso sarà invece composto solamente dal ampliato tranquillamente aggiungendo, oltre alla
modulo ESP32-S3 con display touch integrato. caratteristica di frequenza cardiaca, anche quella
Questo potrà effettuare più connessioni simulta- saturazione.
nee con più server. Infine, vi è il descriptor, ossia il descrittore, il quale
Questa è una caratteristica molto importante fornisce ulteriori informazioni sulla caratteristica,
poiché potremmo dover integrare più sensori e per esempio un’informazione sull’unità di misura
quindi dover mostrare sul display più misurazioni usata oppure su eventuali valori di minimo e mas-
contemporaneamente. simo che il sensore può misurare.
Il compito principale dell’unità client sarà quello di Questo è opzionale, infatti ogni caratteristica può
113
Fig. 8
Installazione dei
driver della serie
ESP32.
Fig. 9
Avvio del carica-
mento dello sketch
nella ESP32.
Il sistema per
rilevare il battito
cardiaco completo.
114
Fig.10
Installa-
zione delle
librerie per il
MAX30102.
#include <BLEDevice.h>
115
Listato 2
BLECharacteristic bmeHRateCharacteristics(“cba1d466-344c-4be3-ab3f-189f80dd7518”,
BLECharacteristic::PROPERTY_NOTIFY);
BLEDescriptor bmeHRateDescriptor(BLEUUID((uint16_t)0x2902));
BLECharacteristic bmeOxygenCharacteristics(“ca73b3ba-39f6-4ab3-91ae-186dc9577d99”,
BLECharacteristic::PROPERTY_NOTIFY);
BLEDescriptor bmeOxygenDescriptor(BLEUUID((uint16_t)0x2903));
Listato 3
bmeService->addCharacteristic(&bmeHRateCharacteristics);
bmeHRateDescriptor.setValue(“BME temperature Celsius”);
bmeHRateCharacteristics.addDescriptor(&bmeHRateDescriptor);
bmeService->addCharacteristic(&bmeOxygenCharacteristics);
bmeOxygenDescriptor.setValue(“BME humidity”);
bmeOxygenCharacteristics.addDescriptor(new BLE2902());
116
proposto nella porzione di codice contenuta nel
Listato 2.
Fig.11
In realtà verrà utilizzata realmente solo la prima, Installazione
mentre la seconda è stata inserita per capire come della scheda
ESP32 con
comportarsi in caso di caratteristiche multiple. display.
Allo stesso livello delle funzioni SETUP e LOOP
andiamo a creare una classe che curerà gli eventi
di connect e disconnect da parte dei client:
Listato 4
#include “BLEDevice.h”
#include <Wire.h>
int beatAvg;
117
BLEAdvertising *pAdvertising = LATO CLIENT
BLEDevice::getAdvertising(); Così come per il server, prima di sviluppare la parte
di client dobbiamo impostare correttamente il
pAdvertising->addServiceUUID(SERVICE_UUID); nostro IDE. A differenza della parte precedente, la
pServer->getAdvertising()->start(); scheda è una ESP32-S3 quindi dobbiamo impor-
tarla correttamente. Ci rechiamo in File, Impo-
Con il server abbiamo quasi finito. stazioni e aggiungiamo all’interno del campo URL
Andiamo a completare la funzione di LOOP, aggiuntive per il gestore di schede la stringa https://
sospesa dopo aver implementato la lettura della raw.githubusercontent.com/espressif/arduino-esp32/
frequenza cardiaca, ed aggiungiamo il seguente gh-pages/package_esp32_index.json.
blocco di istruzioni: Andiamo in Strumenti->Scheda->Gestore schede e
cerchiamo esp32, come già abbiamo fatto per il
if (deviceConnected) { server; poi installiamo o aggiorniamo con la versio-
if ((millis() - lastTime) > timerDelay) { ne 2.0.6 (Fig. 11). Anche qui possiamo dividere in
Serial.print(“Heart rate:”); due parti lo sviluppo: comunicazione e disegno.
Serial.print(hrate); Nella prima parte, comunicazione, andiamo a crea-
static char hrateCTemp[6]; re il legame tramite BLE con il sensore.
dtostrf(hrate, 6, 2, hrateCTemp); Importiamo pertanto le librerie e dichiariamo alcu-
bmeHRateCharacteristics.setValue(hrateCTemp); ne variabili chiave come nel Listato 4.
bmeHRateCharacteristics.notify(); Successivamente dichiariamo il nome del server
Serial.print(“Heart rate: “); che vogliamo leggere, i suoi servizi, nel nostro caso
Serial.print(hrate); solamente uno e la caratteristica che intendiamo
lastTime = millis(); leggere:
}
#define bleServerName “HEART280_ESP32”
Come potete notare, se e soltanto se un client è static BLEUUID bmeServiceUUID(“91bad492-b950-4226-
connesso e se l’intervallo di tempo è consono per il aa2b-4ede9fa42f59”);
push del dato allora viene visualizzata sulla conso- static BLEUUID hrateCharacteristicUUID(“cba1d466-
le. Oltre ad essere visualizzata nel log viene fatto 344c-4be3-ab3f-189f80dd7518”);
un cast del dato in char e viene settato all’interno static BLEAddress *pServerAddress;
del Value della caratteristica. static BLERemoteCharacteristic* hrateCharacteristic;
Inoltre, viene lanciata l’operazione di notifica in
modo che anche il client possa essere informato Dichiariamo inoltre la classe che sarà responsabile
della disponibilità del dato e possa leggerlo. delle nostre callback e ufficializziamo la connessio-
Listato 5
bool connectToServer(BLEAddress pAddress) {
BLEClient* pClient = BLEDevice::createClient();
pClient->connect(pAddress);
if (pRemoteService == nullptr) {
Serial.println(bmeServiceUUID.toString().c_str());
return (false);
}
hrateCharacteristic = pRemoteService->getCharacteristic(hrateCharacteristicUUID);
if (hrateCharacteristic == nullptr || oxyCharacteristic == nullptr) {
return false;
}
hrateCharacteristic->registerForNotify(hrateNotifyCallback);
return true;
}
118
Fig.12
Installazione
della libreria
LovyanGFX.
ne con il server, ovvero MyAdvertisedDEviceCall- Mentre nella funzione di LOOP inseriamo quanto
backs: segue:
119
Listato 6
#define LGFX_AUTODETECT
#define LGFX_USE_V1
#include <LovyanGFX.hpp>
#include <LGFX_AUTODETECT.hpp>
uint8_t* pData, size_t length, bool isNotify) { Nella callback immagazziniamo il nuovo dato
hrateChar = (char*)pData; arrivato e settiamo il flag a true in modo tale da
newHearthRate = true; poterlo leggere nella funzione di LOOP.
} Come accennato inizialmente, questo capitolo è
diviso in due parti: della prima, la comunicazione,
abbiamo sviscerato praticamente tutto e non ci
resta che affrontare la seconda parte ovvero il di-
Listato 7 segno. Qui andiamo a sfruttare tutte le potenzialità
void drawAVGHrate(String text){ che ci può offrire il display touch integrato.
lcd.fillRect(340, 130, 150, 100, TXT_BAR_COLOR); La libreria di cui ci avvaliamo è la LovyanGFX. È
lcd.setTextColor(BG_BAR_COLOR, TXT_BAR_COLOR);
lcd.setTextSize(2); possibile scaricarla sia dal repository Github uffi-
lcd.drawString(text, 350, 130); ciale https://github.com/lovyan03/LovyanGFX che da
}
https://www.arduinolibraries.info/libraries/lovyan-gfx
void printReadings(){ ed importarla attraverso lo zip oppure installarla
Serial.print(“Heart rate:”);
direttamente dentro ad Arduino IDE attraverso il
Serial.print(hrateChar); Gestore delle librerie, utilizzato in precedenza per
l’hardware del server (Fig. 12).
String stringOne = String(hrateChar);
int hrate = stringOne.toInt(); Importiamo quindi le varie librerie all’interno del
int y = 270-hrate; codice e i colori che utilizzeremo: lo facciamo con la
if(y>60 && y<270){
lcd.drawLine(old_x, old_y, (old_x+3), porzione di codice contenuta nel Listato 6.
y, GRAPH_COLOR); Fatto ciò, inseriamo all’interno della funzione
lcd.fillRect((old_x+4), 60, 30, 215,
TXT_BAR_COLOR);
SETUP l’inizializzazione del display:
old_x = old_x +3;
old_y = y; lcd.init();
if(old_x>300){
old_x = 40; lcd.setRotation(1);
lcd.fillRect(old_x, 60, 4, 215, lcd.setBrightness(128);
TXT_BAR_COLOR);
} lcd.setColorDepth(24);
if (hrate < 255 && hrate > 20) lcd.clear(0xFFFFFFu);
{
lcd.setBaseColor(0xFFFFFFu);
rates[rateSpot++] = (byte)hrate;
rateSpot %= RATE_SIZE; lcd.clear();
beatAvg = 0;
for (byte x = 0 ; x < RATE_SIZE ; x++)
beatAvg += rates[x]; Dichiariamo quattro funzioni che saranno le re-
beatAvg /= RATE_SIZE; sponsabili di tutta la parte di disegno: drawHeader-
String tmpAvg = String(beatAvg);
drawAVGHrate(tmpAvg); Bar, drawString, drawAVGHeart e printReadings.
} La prima, come possiamo notare dallo snippet
}
}
di codice seguente, non fa altro che disegnare la
barra di status in alto. Si tratta semplicemente di
estetica e non ha grossi impatti sul resto del codi-
120
ce. Questa possiamo personalizzarla con orario e
data o utilizzare lo spazio per altro:
Fig. 13
Schermata
void drawHeaderBar(){ dell’app per il
monitoraggio
lcd.fillRect(0, 0, 480, 50, BG_BAR_COLOR); wireless.
lcd.fillRect(0, 50, 480, 270, TXT_BAR_COLOR);
lcd.setFont(&fonts::Orbitron_Light_24);
lcd.setTextColor(TXT_BAR_COLOR, BG_BAR_COLOR);
lcd.setTextSize(0.8);
lcd.drawString(“HEART RATE”, 180, 20);
lcd.setTextColor(BG_BAR_COLOR, TXT_BAR_COLOR);
lcd.drawString(“AVG BPM”, 340, 100);
}
121
Arduino,
su
Solo t.it
futur
ane
la piattaforma
open source per tutti!
cod. ARDUKITLEVEL1 cod. ARDUKITLEVEL2
ARDUKITLEVEL1 ARDUKITLEVEL2
ARDUINO UNO R3 ORIGINALE ARDUINO UNO R3 ORIGINALE
+ SET COMPONENTI + SET COMPONENTI
Entra
nell’affascinante
mondo di Arduino
e impara ad
utilizzarlo al meglio
con i nostri kit!
Scegli quello più € €
adatto a te. 35,90 45,90
IL PIÙ
COMPLETO!
cod. ARDUKITABC cod. ARDUKITV6 cod. ARDUINOSTARKIT
ARDUKITABC ARDUKITV6 ARDUINOSTARKIT
STARTER KIT CON ARDUINO ARDUINO ORIGINALE + ARDUINO ORIGINALE +
UNO REV3 E COMPONENTI LIBRO L’ABC DI ARDUINO + LIBRO IN ITALIANO +
COMPONENTI COMPONENTI
€ € €
58 ,00
68 ,00
118,00
CON JOLLY
L’ ARDUINO UNO
DIVENTA
Wi-Fi
di BORIS LANDONI
L
a scheda Arduino UNO è ormai entrata a
pieno titolo nella storia dell’elettronica, ma
da quando è nata sono stati compiuti passi
da gigante nel mondo della comunicazione,
soprattutto wireless, nell’ambito dell’auto-
mazione domestica.
Presentiamo Jolly è un modulo elettronico costituito
Jolly, un add-on da un micro PCB che può essere inserito
in una board Arduino UNO, al posto del microcontrollore
per dotare la più originale; essendo dotato di Wi-Fi integrato, può estendere
famosa board all’infinito le potenzialità dei progetti esistenti nel nuovo
mondo dell’IoT.
open-source Infatti, grazie a questo modulo, la stessa board viene trasfor-
della funzionalità mata in un dispositivo IoT. Il modulo può essere usato anche
separatamente dalla board, in modalità stand-alone, esatta-
Wi-Fi. mente come il microcontrollore ATmega328P-PU.
123
L’IDEA
Fig. 1 Jolly nasce da un’idea di Gianluca Martino, inge-
I primi prototipi gnere elettronico e co-fondatore di Arduino, che
del modulo Jolly.
ha avuto questa eccellente intuizione, e dopo aver
creato alcuni prototipi (Fig. 1), col suo team si è
rivolto a Kickstarter. Il progetto è stato accolto con
grande entusiasmo dai baker, ed è stato finanziato
al 300% e le schede sono state consegnate con
diversi mesi di anticipo.
Nel pieno rispetto della sostenibilità, l’imballaggio
del modulo jolly è stato realizzato in materiale
completamente riciclabile.
CARATTERISTICHE TECNICHE
Come già detto, il modulo è stato progettato prin-
Dotare una board Arduino UNO di questo modulo cipalmente per espandere le funzionalità offerte
significa darle una nuova dimensione, adeguata dall’Arduino UNO, trasformandolo in un moderno
alle odierne esigenze in materia di comunicazione dispositivo IoT senza alterarne le caratteristiche e
e automazione domestica. mantenendo la compatibilità con la board originale.
Tutti coloro che in questi anni hanno trovato in Il modulo è poco più grande del microcontrollore
Arduino UNO e nelle schede compatibili la giusta originale della board, infatti le sue dimensioni
piattaforma per creare progetti e oggetti, cioè hob- esterne sono 41 x 10 mm (Fig. 2).
bisti, studenti, appassionati, programmatori e pro- Poiché il modulo sostituisce l’ATmega328P
fessionisti, dovrebbero effettuare questo upgrade, nell’Arduino UNO, per poterlo realizzare con
per sfruttarne le enormi potenzialità. Una delle dimensioni compatibili, è stato necessario utiliz-
caratteristiche fondamentali è il mantenimento zare la sua versione SMD più recente, chiamata
della piena compatibilità del pinout, del firmware e ATmega328PB-MU, che comunque garantisce la
dell’architettura hardware dei progetti esistenti. piena compatibilità della piedinatura, del firmware
Fig. 2
Dimensioni del
modulo Jolly
Fig. 3
Arduino UNO
col modulo Jolly
124
e dell’architettura hardware del suo predecesso- per l’uso in modalità stand-alone. Per l’aggiorna-
re, ma in uno spazio molto più ridotto. Questo ha mento del firmware di entrambi i microcontrollori, CARATTERISTICHE
permesso di poter aggiungere un ulteriore micro- mediante l’IDE, è stata sviluppata una specifica TECNICHE
controllore, l’ESP8285, equivalente all’ESP8266 piattaforma Arduino dedicata alla programmazio-
ma con una flash integrata da 2 MB, caratteristica ne della board. Microchip ATmega328PB
essenziale per mantenere le dimensioni della Il processore ESP è programmabile esattamente Espressif ESP8285H16
scheda ridotte. Inoltre è stato necessario integrare come lo è il 328. È stato infatti rilasciato un Core con 2MB di memoria flash
integrata
anche un circuito di regolazione della tensione ed Arduino dedicato che può essere reperito, assieme
un level shifter (adattatore di livello dei segnali alla documentazione, sull’apposita pagina GITHUB:
Interfaccia di comunicazione:
digitali) poiché i due microcontrollori funzionano github.com/tech-jollydev/jolly-arduino-platform e SPI + UART (usata
con differenti tensioni di alimentazione (5 V per che da la possibilità agli utenti di personalizzare il esclusivamente per la
programmazione dell’ESP8285)
l’ATmega328PB e 3,3 V per l’ESP8285). Il modulo è comportamento del processore ESP sovrascriven-
dotato di un LED BUILTIN e di un’antenna integrata do quello impostato di fabbrica. La scelta dell’an-
Tensione di alimentazione
per il Wi-Fi (Fig. 3). tenna integrata è stata dettata dalla necessità esterna: 5 V
L’unica limitazione (approfondiremo questo di un compromesso tra efficienza e versatilità, a
1 pulsante di boot
aspetto più avanti) è data dal fatto che i due mi- vantaggio della riduzione dell’ingombro; d’altra
crocontrollori sono collegati tra loro attraverso due parte il modulo nasce per sperimentazione ed uso 1 led per collegamento Wi-Fi
interfacce digitali: una SPI e una UART. In partico- domestico, e non per scopi industriali.
Dimensioni: 41 x 10 mm
lare, l’interfaccia SPI, che è la stessa esposta sulla
piedinatura del modulo, è utilizzata per lo scambio HARDWARE
di dati, mentre la UART, è appannaggio esclusivo Come già detto, il modulo Jolly è caratterizzato
della programmazione, sia per l’ATmega328PB che dalla coesistenza di due microcontrollori su un PCB
per l’ESP8285. di forma e dimensioni praticamente identiche a
L’interfaccia seriale di quest’ultimo è attiva solo quelle di un microcontrollore ATmega328P.
durante la fase di programmazione per non inter- I due micro sono l’ESP8285H16, a sua volta costi-
ferire con il normale funzionamento della seriale tuito da un ESP8266 e da una memoria flash da 2
dell’ATmega328PB (Fig. 4) MB, e da un ATMEGA328PB-MU, quindi lo stesso
La programmazione del solo chip WiFi è possibile microcontrollore presente sull’Arduino UNO, ma
grazie alla presenza di una specifica chiave di avvio di costruzione più recente, caratterizzata non solo
e di un firmware speciale nell’ATmega328PB. da un package di tipo QFN (che lo rende molto più
La presenza dei componenti sulla sola faccia supe- compatto) ma anche dall’aggiunta della Porta E
riore del PCB rende questa scheda perfetta anche che offre GPIO aggiuntivi, anche se in questo caso
Fig.4
Schema a
blocchi del
modulo Jolly.
125
• ESP_CS(PE2): canale usato dall’ATmega328PB
per indirizzare la comunicazione SPI verso
Fig. 5
Sequenza di boot l’ESP8285 anziché verso l’esterno del modulo;
chiaramente quando viene usato la comunica-
zione SPI esterna non è disponibile;
• ESP_BOOT(PE3): canale usato per mettere
l’ESP8285 in modalità boot ed è controllato sia
dall’ATmega328PB che dall’utente mediante il
tasto di boot presente sulla scheda.
L’attivazione del boot dell’ESP8285 è mediata
non sono disponibili esternamente. È presente dal bootloader presente sull’ATmega328PB, che
inoltre un regolatore di tensione lineare CMOS deriva dall’Optiboot presente nell’ATmega328P
da 3.3 V, il MIC5303-3.3, caratterizzato da un montato sull’Arduino UNO.
basso dropout (100 mV a 300 mA), una corrente Per avviare la modalità di boot dell’ESP8285, l’Op-
massima garantita di 300 mA, elevata precisione e tiboot modificato resta “in ascolto” dell’attivazione
protezioni termica e da sovracorrente. del tasto di boot in successione ad un evento di
I due micro comunicano tra di loro usando reset. Come si può osservare nella Fig. 5, l’ATme-
l’interfaccia SPI esposta sulla Porta B, la stessa ga328PB in uscita dalla condizione di reset verifica
che viene portata all’esterno del modulo e usata lo stato di ESP_BOOT e se questo si trova a stato
dall’Arduino UNO sui pin 13, 12, 11; questa cosa logico 0 mette l’ESP8285 in boot mode.
impone un limite all’uso dell’SPI come periferica di Vediamo ora l’utilizzo dei seguenti GPIO dell’E-
comunicazione verso l’esterno del modulo quando SP8285:
il Wi-Fi è in funzione. • SD_DATA2: serve per controllare il LED integrato,
Invece i GPIO afferenti alla Porta E aggiuntiva utile a segnalare l’attività della periferica Wi-Fi;
vengono utilizzati per la sincronizzazione tra i • GPIO4: serve per forzare il reset dell’ATme-
due micro e ciò permette di non sacrificare i GPIO ga328PB e permettere in futuro l’implementa-
connessi ai connettori di I/O dell’Arduino UNO, zione di un algoritmo di OTA.
mantenendo pertanto la piena compatibilità con
l’ATmega328P. Vediamo come vengono usati MONTAGGIO ED UTILIZZO DEL MODULO
questi GPIO: JOLLY
• ESP_SR (PE0): canale usato dall’ESP8285 per Per poter utilizzare il modulo Jolly basterà togliere
segnalare all’ATmega328PB che è pronto a il chip ATmega328P, facendo leva delicatamente
comunicare; con un estrattore dedicato o un cacciavite a taglio
• ESP_ON/OFF(PE1): canale usato dall’ATme- tra il chip e lo zoccolo, facendo attenzione a non
ga328PB per accendere e spegnere l’ESP8285; piegare i piedini del microcontrollore. La scheda da
Fig. 6
noi testata (cod. 7304-JOLLYUNO su futurashop.it)
Montaggio del
modulo Jolly su è già priva dell’ATmega328P-PU originale, quindi
Arduino UNO occorrerà solo inserire il modulo, i cui pin sono
compatibile.
lunghi e consistenti, quindi bisogna fare una certa
pressione, ma è sufficiente che sia garantito il
contatto, senza eccedere.
Per salvaguardare lo zoccolo della scheda se ne
potrebbe aggiungere un altro identico, sul quale
innestare il modulo, inserendo poi il tutto nella
scheda. Bisogna fare molta attenzione al verso di
inserimento, orientandolo come in Fig. 6, cioè con
l’antenna rivolta verso l’esterno della board.
126
Fig. 7
Configura-
zione del
modulo Jolly
nell’IDE.
• Aggiungere i seguenti due link nel campo URL • Digitando jolly nella barra di ricerca appare la
aggiuntive per il Gestore schede: https://tech- scheda Jolly AVR Boards;
jollydev.github.io/package_jolly_index.json, https:// • Cliccare su Installa e quindi chiudere e riavviare
espressif.github.io/arduino-esp32/package_esp32_ l’IDE;
index.json separandoli con una virgola; • Entrare nuovamente nel menu Strumenti –
• Dal menu Strumenti – Scheda selezionare l’op- Scheda e selezionare la board jolly-dev • Jolly
zione Gestore schede...; (Fig. 7).
Fig.8
Impostazio-
ni IDE per
ricaricare il
bootloader.
127
una specifica procedura:
Fig. 9 • Nell’IDE Arduino selezionare il menu Strumenti;
Collegamento WiFi • Scegliere ESP8285 per l’opzione bootloader,
alla scheda Jolly.
come mostrato in Fig. 8;
• Premere e mantenere premuto il pulsante di
boot situato sul modulo Jolly; premere il pul-
sante di reset sull’Arduino UNO per 1 secondo,
quindi rilasciarlo; mantenere ancora premuto
il pulsante di boot per un altro secondo, quindi
rilasciarlo. A questo punto il Jolly è entrato in
modalità di boot per l’ESP8285;
• Cliccare sull’opzione Scrivi il bootloader dal menu
Strumenti e la procedura si avvierà automatica-
mente.
Per tenere traccia del processo di aggiornamento,
nelle Impostazioni attivare le due opzioni compila-
zione e caricamento del campo “Mostra un output
dettagliato durante:”.
Ricaricare il firmware predefinito dell’ESP8285 Gli utenti più esperti hanno la possibilità di perso-
Nel caso in cui il firmware debba essere aggior- nalizzare completamente il codice in esecuzione
nato per qualsiasi motivo, nel repository GitHub sull’ESP8285 utilizzando la piattaforma dedicata
al percorso https://github.com/tech-jollydev/jolly- disponibile a questo link: https://github.com/tech-
arduino-platform/tree/master/firmwares/jolly_esp è jollydev/jolly-arduino-esp8285-platform
disponibile una versione precompilata del firmware
predefinito dell’ESP8285 e già caricato all’origine. Jolly Webpanel
Esso è composto da due file: WiFiManager.bin e Entriamo ora nel vivo dell’uso del modulo Jolly, che
WiFiManager_spiff.bin. viene consegnato con lo sketch WiFiRestServer.ino
Per l’eventuale aggiornamento bisogna seguire precaricato.
Fig. 10
Il Webpanel della
scheda Jolly.
128
Fig.11
Schema
collegamenti
circuito di
test
Questo codice consente all’utente, mediante Mettiamo a confronto il circuito con le indicazioni
interfaccia WiFi, di accedere a una pagina web per del Webpanel:
il controllo remoto dei GPIO presenti sulla scheda. • Il pin digitale 3 è usato come uscita PWM, il
Su questa pagina, che prende il nome di Webpa- valore 95 fa accendere il LED con una luminosità
nel, è possibile settare i pin digitali come INPUT e ridotta;
leggerne lo stato logico, oppure come OUTPUT, • Il pin digitale 6 è settato come ingresso, essendo
impostandoli sullo stato logico HIGH (1) o LOW (0);
per quelli associati al PWM è possibile regolare il
valore tramite un cursore; infine si può leggere il
valore dei pin analogici.
Per accedere al Webpanel è necessario aprire, da
PC o smartphone, l’elenco delle connessioni WiFi
disponibili, cercare quella relativa alla scheda Jolly e
collegarsi ad essa (Fig. 9).
Ora, tramite un browser, digitare l’indirizzo
192.168.240.1 (è prefissato in fabbrica ed è uguale
per tutti i moduli), dopo qualche istante si aprirà la
maschera visibile in Fig. 10.
L’interfaccia è molto intuitiva, basta cliccare sul
GPIO da controllare o monitorare, sull’immagine
della scheda, e alla sua destra apparirà un riquadro
per interagire col pin; nel nostro esempio abbiamo
settato questi pin:
• Pin digitale 3 come OUTPUT con PWM a 95;
• Pin digitale 6 come INPUT, collegato ai 3,3 V
della scheda;
Fig. 12
• Pin digitale 8 come OUTPUT su ON; Circuito di
• Pin analogico A0 collegato ai 3,3 V della scheda. test per il
Webpanel.
In Fig. 11 riportiamo il circuito realizzato per le
prove, avvalendoci di una breadboard e di quattro
componenti esterni.
129
Fig. 13
Comunicazione tra
PC e Jolly.
collegato ai 3,3 V di Arduino, cliccando sul pul- del codice. Quello scritto per realizzare il web panel
sante Check si ottiene come risultato 1 (HIGH); è formato da file in html, css e javascript.
• Il pin digitale 8 è settato come uscita HIGH, Quest’ultimo si interfaccia ad una parte del
quindi il LED ad esso collegato ha la massima firmware, scritto nel linguaggio di Arduino, che è in
luminosità; esecuzione sulla scheda.
• Il pin analogico A0 è collegato ai 3,3 V di Arduino, Quando ci si collega alla scheda digitando sul
siccome il riferimento del convertitore analogico- browser l’indirizzo IP ad essa associato, i file html,
digitale è 5 V (che corrisponde a 1023) cliccando css e javascript vengono trasmessi dalla scheda al
sul pulsante Check la lettura è di 680. browser.
In Fig. 12 lo schema dei collegamenti per chi vo- Quest’ultimo li interpreta e genera l’interfaccia
lesse replicare questo test. grafica del Webpanel. In pratica la scheda Arduino
Ora cerchiamo di comprendere il funzionamento col modulo Jolly ha funzione di server, mentre il
130
la scheda col modulo, in questo modo:
Listato 2 – lato server (IDE)
void loop() { ajax(getUrl()+”/analog/”+relid[1],
// listen for incoming clients “analog_”+relid[1]+”_value”);
WiFiClient client = server.available();
while (client.connected()) {
// Process request A questo punto il client invierà al server, in ascolto
process(client);
// Close connection and free resources. sulla scheda, una chiamata del tipo:
delay(1); http://192.168.240.1:8080/jolly/analog/0
client.stop();
}
Sulla scheda è in esecuzione lo sketch WiFiRest-
Server.ino, precaricato sull’ATmega328PB. Esso si
occupa di gestire tutte le interazioni che l’utente
può fare con il webpanel.
browser si comporterà da client comunicando con Nel dettaglio, il codice dichiara un oggetto server
lo sketch caricato sul modulo Jolly (Fig. 13). in ascolto sulla porta 8080 e un oggetto client che
Ad ogni manovra effettuata sul Webpanel partirà rappresenta le chiamate ricevute in remoto sul
una chiamata di tipo REST verso la scheda. server:
Prendiamo ad esempio il caso in cui l’utente prema
il pulsante Check per leggere il pin analogico A0. WiFiServer server(8080);
L’HTML sul client, corrispondente al pulsante, è il WiFiClient client;
seguente:
Nel setup la scheda viene connessa ad internet e il
<button id=”analog_0_but” onclick=”onckl(this)” server viene inizializzato (Listato 1 – server).
class=” el_click but_check pure-button button- Nel loop la scheda resta in ascolto di richieste in
primary”>Check</button> arrivo dal client. Non appena arriva una richiesta,
questa viene assegnata all’oggetto WiFiClient e
In questo frammento di codice è specificato che viene processata (Listato 2 – server).
all’evento di click sul pulsante (onclick) deve essere La funzione process analizza l’URL della richiesta
richiamata la funzione javascript onckl. per individuare il comando da eseguire (Listato
La funzione javascript onckl, dopo aver effettuato i 3 – server).
diversi controlli sull’operazione da eseguire, dipen- L’URL associato al comando nel nostro esempio
dente dal pulsante che è stato premuto, utilizzerà corrisponde ad “analog”, quindi verrà richiamata
la funzione ajax per far partire una chiamata verso la funzione analogCommand(), la quale analizza la
if (command == “mode”) {
modeCommand(client);
}
else if (command == “digital”) {
digitalCommand(client);
}
else if (command == “analog”) {
analogCommand(client);
}
else {
// flush input before replying - needed by some browser
client.flush();
client.print(String(“HTTP/1.1 200 OK\r\n\r\nError!\r\nUnknown command : “ + command + “\r\n\r\n”));
}
}
}
131
Listato 4 – lato server (IDE)
void analogCommand(WiFiClient client) {
int pin, value;
// Read pin number
String pinNumber;
char c = client.read();
// If the next character is a ‘/’ it means we have an URL with a value like: “/analog/5/120”
// If the next character is a ‘ ‘ it means we have an URL with a value like: “/analog/13”
while (c != ‘ ‘ && c != ‘/’) {
pinNumber += c;
c = client.read();
}
pin = pinNumber.toInt();
// If the next character is a ‘/’ it means we have an URL with a value like: “/analog/5/120”
if (c == ‘/’) { // Read value and execute command
String analogValue;
char c = client.read();
while (c != ‘ ‘ && c != ‘/’) {
analogValue += c;
c = client.read();
}
value = analogValue.toInt();
analogWrite(pin, value);
// flush input before replying - needed by some browser
client.flush();
// Send feedback to client
client.print(“HTTP/1.1 200 OK\r\nAccess-Control-Allow-Origin: *\r\n\r\nPin A” + String(pin) +
“ set to: “ + String(value));
}
else {
// Read analog pin
value = analogRead(pin);
parte finale dell’URL per individuare il pin associato al client in esecuzione sul browser mediante la
alla richiesta e il tipo di operazione da effettuare. funzione client.print() (Listato 4 – server).
In questo caso la parte finale dell’URL è ‘0’ che Arrivata la risposta al browser, questa verrà inse-
corrisponde al GPIO di cui vogliamo leggere il rita come innerHTML dell’elemento associato alla
valore (A0). richiesta. In questo modo sarà possibile vedere il
A questo punto viene richiamata la funzione ana- risultato della funzione analogRead() nel browser
logRead() su quel pin e il risultato verrà restituito (Listato 5 – client)
132
SKETCH DI ESEMPIO
Per poter testare i numerosi esempi forniti dal
produttore, è necessario selezionare la scheda
Jolly e aprire il menu File > Esempi. Qui è presente
la sezione “Esempi per Jolly” che contiene tutti gli
sketch forniti con la scheda.
Per testare uno sketch, è necessario aprirlo nell’I-
DE, impostato come descritto in precedenza, e poi
caricarlo nella scheda tramite il solito comando di
UPLOAD (Carica).
Ovviamente, una volta caricato un nuovo sketch,
l’originale WiFiRestServer viene sovrascritto e il
Webpanel smette di funzionare.
Per ripristinare il funzionamento del Webpanel, è
necessario caricare nuovamente lo sketch originale,
che si trova nella cartella WiFi\esempi.
133
Stop ai fili con gli interruttori
wireless a 433 MHz!
Interruttori wireless da utilizzare in abbinamento al ricevitore wireless a 433 MHz a 1 canale (FR790). Non
richiedono nessuna alimentazione in quanto si auto-alimentano tramite un generatore elettrodinamico posto
al loro interno. Ideali per controllare facilmente senza fili le luci in abitazioni, garage, negozi o altri dispositivi
funzionanti a 220 VAC con carico inferiore a 1000 W e in tutte le situazioni in cui è necessario installare un
interruttore ad un impianto già esistente senza aggiungere cavi di collegamento. La procedura di abbinamento
tra ricevitore e pulsante è molto semplice e offre la possibilità di memorizzare fino a 5 dispositivi.
1 CANALE 2 CANALI
Ideali per:
Elettrodomestici
EAGLE
di ViNCENZO GERMANO e DAVIDE MADDALENA
2
Proseguiamo il nostro viaggio
alla scoperta di EAGLE, un potente
strumento di progettazione
elettronica, che permette di coprire
l’intero ciclo di sviluppo
di una scheda elettronica.
Seconda Puntata.
135
Fig. 1 Aggiunta di un percorso di progetto.
sottocartella NordIOT\Project) e selezioniamo il pulsante più consono; per rinominarlo basta selezionare l’icona del
“Seleziona Cartella”. progetto e col tasto destro selezionare “Rename” come
mostrato in Fig. 1C.
Il risultato apparirà come in Fig.1A, non ci resta che con-
fermare selezionando OK e nella finestra ad albero, sotto CREAZIONE DI UNO SCHEMA
la voce Projects apparirà la sottocartella “Project” come Il progetto è vuoto dunque è necessario popolarlo con uno
mostrato in Fig. 1B. schema elettrico. Per aggiungere il primo schema elettrico
A questo punto sulla cartella appena creata con il tasto si può eseguire la stessa procedura usata per rinominare
destro del mouse si seleziona “New Project” (Fig. 1B) e il progetto ma selezionando “NewSchematic” oppure
il nuovo progetto verrà creato automaticamente. Dopo “FileNewSchematic”. Alla selezione del comando appa-
questa operazione è bene selezionare File Save all quindi rirà la finestra per il disegno dello schema elettrico, come in
il progetto sarà attivo e presente fisicamente sotto forma di Fig. 2.
file all’interno delle nostre cartelle di progetto. Il progetto è Come anticipato nella puntata precedente, notiamo che
ancora anonimo (New_Project), dunque diamogli un nome la finestra non è molto diversa da quella di disegno di un
136
Fig. 3 Descrizione della finestra di Schematic.
simbolo. Sicuramente presenta diverse funzioni aggiuntive selezionato e disporrà delle possibili opzioni di scelta come
relative al disegno dello schema elettrico, alla sua simula- per esempio rotazione, formattazione, ecc.
zione e alla sua impaginazione. Funzioni che ovviamente 5. La barra degli strumenti principali.
non trovano riscontro per il singolo simbolo. La prima cosa 6. La barra dei menu contiene l’elenco dei menù della finestra.
da fare è salvare lo schema con un nome adeguato, perciò
selezioniamo nella finestra il menu “FileSave As…” poi Subito a sinistra del foglio di lavoro individuiamo i pannelli di
chiamiamolo “NordIOT_v01”. modifica, il primo tra tutti è il Design Manager, che contiene
una serie di elenchi la cui disposizione varia a seconda della
DESCRIZIONE DELLA FINESTRA SCHEMATIC selezione della combo “View”. Le tre possibili scelte sono:
Andiamo ora a descrivere la finestra Schematic, il suo menu “Parts”, “Nets” e “Groups” (come riportato in Fig. 4).
e gli strumenti principali messi a disposizione per il disegno Ulteriori pannelli sono:
dello schema elettrico. • Selection Filter: contiene l’elenco dei tipi di filtro per
Con riferimento alla Fig. 3, nella finestra individuiamo le la selezione degli oggetti all’interno dello schema. Per
principali parti: esempio se si seleziona solo l’oggetto “Part” all’interno
1. Il foglio di lavoro all’interno del quale verranno posizionati dello schema potranno essere selezionati solo le parti,
i simboli, i collegamenti e tutto ciò che è necessario per la cioè i simboli di componente (Fig. 5A).
creazione dello schema elettrico. L’origine di ciascuno di • Inspector: quando si seleziona un oggetto all’interno del-
IMPARIAMO A UTILIZZARE EAGLE
questi oggetti avrà coordinate rispetto all’origine del foglio lo schema in questo tab è possibile editare le proprietà
con coordinate (0; 0). della selezione (Fig. 5B).
2. I pannelli di modifica forniscono una panoramica, conte- • Sheets: elenca, sottoforma di anteprima, i fogli (sheets)
stuale alla selezione, delle impostazioni e dei dati del pro- di lavoro del progetto. Nel nostro caso potranno essere
getto. Questi pannelli possono essere facilmente mostrati disponibili al massimo due fogli di lavoro per ragioni di
o nascosti selezionando le diverse spunte all’interno del licenza (Fig. 5C).
menu “View”. Questa sezione verrà approfondita più avanti.
3. La barra degli strumenti contiene l’elenco dei principali Descritta a grandi linee l’interfaccia possiamo procedere
strumenti per la disegnazione dello schema elettrico, la nella creazione dello schema elettrico.
sua annotazione, selezione e formattazione degli oggetti
nonché esplorazione delle proprietà degli oggetti. IMPOSTAZIONE DEL FOGLIO DI LAVORO
4. La barra selezione è contestualizzata al tipo di strumento Il primo passo da mettere in pratica prima di popolare uno
137
Fig. 4 Design Manager nelle tre varianti.
schema, è definire l’area di lavoro all’interno del foglio di mente). Tuttavia definire un perimetro all’interno del quale
lavoro. EAGLE non ha impostazioni predefinite (tipo standard racchiudere lo schema potrebbe aiutare a rendere ordinato il
A3, A4, ecc.) quindi l’area di lavoro è infinita (almeno teorica- nostro schema nonché presentabile.
138
Fig. 6 Esempio di area di lavoro.
Per definire tale area di lavoro possiamo agire sostanzial- Ovviamente nessuno vieta di utilizzare la combinazione
mente in due modi: delle due soluzioni introdotte. Tuttavia, se non si ha idea
• Definire uno o più rettangoli che racchiudono parti di sche- delle dimensioni dello schema elettrico, potrebbe risultare
ma con l’aggiunta di titoli descrittivi del “sotto-circuito”. complicato definire a priori un’area di lavoro di partenza,
• Definire una cornice, ovvero il “frame”, che racchiude lo perciò per semplicità possiamo partire con la creazione di
schema elettrico. Un esempio è lo schema in Fig. 6, dove un frame formattato su un foglio standard A4 e all’occor-
è sottolineato il “frame” ed il “titleblock”, ovvero il carti- renza ridimensionarlo. Per farlo, come da Fig. 7A bisogna
glio che sarà oggetto di successivo approfondimento. selezionare il menu “DrawFrame” (oppure digitare “frame”
139
Fig. 8 Impostiamo un foglio A4.
140
nando la voce “Properties”. Se supponiamo di utilizzare un sezioni 6E, 7E e 8E. Conosciamo già lo strumento griglia,
formato di foglio A4 impostiamo le proprietà come in figura; visto nella puntata scorsa, dunque impostiamo la griglia in
ricordiamo che, avendo impostato la griglia in millimetri le “mm” (millimetri).
dimensioni A4 saranno 297mm x 210mm con orientamento
orizzontale (Fig. 8B). SCHEMA DI CONCETTO DI NORDIOT
In EAGLE le intestazioni delle colonne dei frame sono Introduciamo brevemente il progetto NordIOT di riferimento
sempre numeriche (da 1 a 8 nel nostro esempio), mentre per il nostro corso il cui schema di concetto è riportato nella
le intestazioni delle righe sono sempre alfabetiche (da “A” Fig. 10; non ne verranno approfonditi i dettagli perché sarà
a “E” nel nostro esempio). Abbiamo dunque definito la direttamente trattata in una puntata dedicata in cui impare-
nostra area di lavoro che si presenterà divisa per sezioni remo anche a programmarla e utilizzarla.
(o quadranti, con abuso di notazione) come rappresentato Il cuore del progetto è il modulo integrato NORA-B06 della
nella Fig. 9. Nordic Semiconductor (https://www.nordicsemi.com) che
Ciascuna sezione individua una sotto-area che sostanzial- oltre a contenere tutte le funzionalità di un microcontrollore
mente coordina la posizione dei componenti all’interno dello ha la possibilità di essere gestito con tutte le tipologie di
schema ma soprattutto serve per localizzare le net in parti- rete wireless come bluetooth e wi-fi, dunque ha tutte le
colar modo quando si richiamano all’interno di altri fogli. A potenzialità per prestarsi ad un dispositivo IOT (Internet Of
questo punto non rimane che inserire dentro la nostra area Things). Da quest’ultimo aspetto deriva il nome del progetto
di lavoro i componenti del nostro schema; magari teniamo cioè NordIOT. La scheda è provvista di periferica USB con
dell’area libera per inserire il cartiglio lasciando libere le la quale sarà possibile connetterla ed alimentarla come un
normale Arduino. Per darle la possibilità di utilizzo stand
alone, avrà accesso ad una batteria al lito che potrà essere
anche caricata dal un Li-Polymer Charge Management Con-
troller MCP73831T-2ACI/OT della Microchip. In ultimo verrà
equipaggiata con quattro LED di stato configurabili ed un
LED RGB utilizzabile, per esempio, per indicare lo stato della
batteria. Tuttavia sorvoliamo su altri dettagli implementa-
tivi e di utilizzo perché, come anticipato, il progetto NordIOT
sarà ripreso e approfondito in una puntata dedicata.
141
Fig. 13 Realizziamo una parte dello schematico di NordIOT.
Nella finestra apparirà l’elenco delle librerie attive (con il riquadro in alto a sinistra del blocco informazioni apparirà
pallino verde) all’interno del control panel. Nell’esempio l’anteprima del simbolo generico, dunque il riquadro destro
specifico infatti è presente la libreria “untitled” opportuna- rimane vuoto finché non selezioniamo uno specifico foot-
mente popolata con le parti di nostro interesse, come ripor- print. È possibile selezionare un footprint semplicemente
tato in Fig. 12A. Espandendo la voce “untitled” è possibile espandendo la voce e individuando il package necessario.
vedere l’elenco dei componenti popolanti la libreria. Per quanto riguarda le parti non è possibile aggiungere un
Quando si seleziona una delle parti in elenco vengono mes- simbolo senza specificare il footprint. In realtà esistono
se a disposizione tutte le informazioni, gli attributi oltre alle tutta una categoria di simboli, corredati da uno speciale
anteprime del simbolo e footprint. attributo (Attribute), che non dispongono di alcun footprint;
Proviamo a selezionare il componente L-EU (utilizzato come un esempio è il riferimento di massa (ground).
esempio nella scorsa lezione) all’interno dell’elenco; nel Detto ciò inseriamo un resistore con package 0603;
espandiamo la voce “R-EU_” ed individuiamo nell’elenco
“R-EU_0603” (Fig. 12B). Selezionandolo notiamo subito che
appare anche l’anteprima del footprint. Infine selezioniamo
“Ok” e posizioniamo la parte in un punto qualsiasi dell’area
di lavoro, infine selezioniamo ESC (Fig. 13A).
Fatto ciò ritorneremo automaticamente nella finestra “Add”
quindi se si vuol inserire un componente diverso basta ri-
petere l’operazione appena fatta ogni qual volta necessaria
altrimenti si seleziona il tasto ESC per uscire.
Generalmente è conveniente inserire i componenti base
necessari per il disegno di un modulo o un riquadro e poi
copiarli all’occorrenza. Proviamo ad aggiungere tutti i
14A e 14B Funzionalità rilevanti di EAGLE.
componenti relativi al riquadro “Power supply” riportato in
Fig. 13B, a cui dobbiamo tendere, non considerando per il
momento le connessioni.
Oltre il resistore, occorrono ancora il condensatore, un dio-
do schottky un MOSFET a canale P e l’integrato AP2112-3.3.
Con la stessa procedura vista prima piazziamoli tutti sullo IMPARIAMO A UTILIZZARE EAGLE
schema come mostrato in Fig. 13C.
In realtà a parte il nostro integrato, il MOSFET ed il diodo
schottky occorrono in totale tre resistori e tre condensatori
ma nello schema ne abbiamo piazzato uno per ogni tipo.
Per piazzare il numero esatto potremo ripetere la procedura
di aggiunta parti oppure copiare i componenti che occorrono
per tutte le istanze che occorrono.
142
Fig. 14D e 14E Funzionalità COPY e PASTE.
Nello specifico esempio andiamo a scoprire il comando il tasto CTRL, cliccare col tasto destro del mouse su un
GROUP o se vogliamo lo strumento “group” riportato in componente del gruppo; posizionare infine la copia sele-
Fig. 14A. zionando il tasto sinistro del mouse (Figura 14D). Questo
Il comando GROUP permette di raggruppare diversi oggetti passaggio permette di copiare un’istanza del gruppo, è però
per successivi comandi. Come nel nostro caso, a volte, possibile incollarla tante volte attraverso il comando PASTE
abbiamo già istanziato dei componenti e vogliamo replicarli (Figura 14E) o il relativo strumento mostrato precedente-
altre volte. Perciò conviene raggrupparli e poi copiarli. mente (Figura 14B). A questo punto rimane da posizionare i
La selezione degli oggetti viene fatta col tasto sinistro del componenti in modo coerente con quanto proposto.
mouse ma è possibile usare le seguenti opzioni:
• Poligono: i vertici del poligono di selezione corrispondo- SPOSTAMENTO DEGLI OGGETTI
no ai punti di CLICK. Il tasto destro del mouse chiude il Andiamo ora a descrivere i comandi per lo spostamento
poligono. delle parti ma, più in generale, degli oggetti. La Fig. 15 ripor-
• Rettangolo: si definisce un rettangolo di selezione da ta gli strumenti ed i relativi comandi per lo spostamento di
quando si preme il tasto fino al suo rilascio. elementi nello schematico.
• SHIFT+CLICK: aggiunge un oggetto al gruppo. Sostanzialmente ciascun oggetto all’interno del foglio di
• CTRL+CLICK: alterna l’appartenenza di un oggetto dal gruppo. lavoro può essere spostato (move), specchiato (mirror) o
• CTRL+SHIFT+CLICK: alterna l’appartenenza dell’oggetto ruotato (rotate).
di livello superiore al gruppo. Prima di procedere è bene chiarire che ogni oggetto è
• CTRL+A: avvia il comando GROUP ALL che permette di dotato di un’origine visibile come una croce che denota la
selezionare tutti i componenti dell’area di disegno. posizione dell’oggetto rispetto all’origine del foglio di lavoro.
Per spostare una parte nel nostro schema è sufficiente
A questo punto raggruppiamo i due componenti (condensa- selezionare il comando “move” da strumento oppure da
tore + resistore) attraverso SHIFT+CLICK. Notiamo che gli linea di comando quindi cliccare sull’origine della parte e
oggetti diventano di colore più acceso. (Fig. 14C) muoverlo nella posizione desiderata; una volta raggiunta la
Successivamente selezioniamo il comando COPY o il relativo posizione basta cliccare con il tasto sinistro.
strumento mostrato in Figura 14B. Mantenendo premuto Proviamo a compiere questa operazione posizionando i
IMPARIAMO A UTILIZZARE EAGLE
143
Fig. 16 Esempio di spostamento.
componenti come nello schema proposto; il risultato dovrà comando la barra di selezione si contestualizza come in
essere simile alla Fig. 16A. Fig. 15. Ovviamente tutte le operazioni possono essere
A questo punto R1, R2 ed R3 necessitano di essere ruo- eseguite per gruppi di componenti secondo quanto detto
tate, dunque selezioniamo il comando “rotate” e, sempre precedentemente. A questo punto è necessario creare i
cliccando sull’origine di ciascun componente, ruotiamoli in collegamenti tra questi componenti e le linee di alimenta-
modo verticale. Proviamo a compiere questa azione per i tre zione (“power”). Prima di fare ciò mettiamo un po’ d’ordine
componenti; il risultato dovrà essere come in Fig. 16B. al nostro schema.
Notiamo che la rotazione dei componenti avviene per multi-
pli di 90°, perciò non è possibile posizionare un componente FORMATTAZIONE DEGLI OGGETTI
in direzioni diverse da quella orizzontale o verticale. Il co- Notiamo come i riferimenti e i valori dei nostri componenti
mando “mirror” funziona in modo simile al comando rotate sono formattati in modo diverso gli uni dagli altri.
ma specchia il componente in verticale. È possibile aggiustare il tiro utilizzando lo strumento “chan-
A differenza del comando “move”, sia il comando “mirror” ge” precedentemente introdotto insieme agli strumenti
che “rotate” non necessitano del doppio click una volta copia e incolla. Selezionando tale strumento si accede ad un
posizionati. Concludiamo ritornando sul comando “move” elenco di proprietà come mostrato nella Fig. 17.
insieme al quale è possibile eseguire i comandi “rotate” e Selezionando una di queste voci è possibile modificare il
“mirror” contemporaneamente. Infatti selezionando tale valore della relativa proprietà.
144
Fig. 18 Funzionalità per le connessioni.
Proviamo a modificare ed uniformare il formato del riferi- menti ed in particolare agli strumenti della Fig. 18.
mento e del valore dei componenti dello schema. Due o più punti possono essere collegati attraverso due
Prima di tutto creiamo un gruppo con tutti i componenti, tipologie di strumenti:
selezioniamo lo strumento “change” modificando la pro- • La NET rappresenta un collegamento singolo; dopo aver
prietà “Size” a 2.54 (mm). Infine selezioniamo CTRL+CLICK selezionato questo strumento con il primo CLICK si de-
su un punto qualsiasi dell’area di lavoro e tutti i campi di finisce l’origine del collegamento, mentre con il secondo
testo (NAME e VALUE) assumeranno la stessa dimensione click si definisce la fine del collegamento.
(appunto SIZE). Ripetiamo la stessa operazione per le pro- • Il BUS rappresenta un collegamento collettivo ovvero
prietà “Ratio” impostandola a 10 (%) e “Font” impostandola tra più punti in parallelo. EAGLE permette oltretutto di
a “Vector”. impostare alcune delle tipologie di bus più famose (CAN,
Il risultato sarà simile a quello riportato in Fig. 17B. Pro- I2C, ecc.). Questo strumento non verrà approfondito
viamo ora a ordinare i campi NAME e VALUE spostandoli e all’interno del corso.
ruotandoli come descritto precedentemente. In questo caso
è necessario, dopo aver selezionato il comando “move” o Quando selezioniamo lo strumento net, la barra di selezione
“rotate”, cliccare sull’origine del campo NAME o VALUE. si contestualizza come in Fig. 18 e ancora una volta notiamo
che automaticamente EAGLE si riporta nel layer adatto al
COLLEGAMENTO DELLE NET contesto; in questo caso il 91 Nets. Altre proprietà degne di
Prima di proseguire nel nostro excursus sulle net e sul loro nota che si applicano alla net (ma anche ad una linea gene-
collegamento/visualizzazione andiamo ad introdurre come rica) sono la curvatura, lo stile del tratteggio e la tipologia di
EAGLE tratta un collegamento ovvero una net. Una net in giunto riguardante ancora la curvatura.
EAGLE viene trattata allo stesso modo di una linea (grafica) Sebbene queste proprietà si applicano anche per le linee
ma con alcune proprietà aggiuntive. generiche possono trovare spazio all’interno del disegno di
Infatti una net collega fisicamente due nodi dello schema un simbolo o per esempio per documentazione di un gruppo
costituendo un vincolo; se uno di questi nodi viene spostato di componenti all’interno dello schema ma hanno scarso
si porta dietro un lembo di questo collegamento alla stregua interesse nel tracciamento delle net.
di un elastico. Come vedremo però, presenteranno grande utilità e si-
Inoltre ogni collegamento in EAGLE possiede un nome come gnificato quando si andranno a tracciare le piste (o i piani)
IMPARIAMO A UTILIZZARE EAGLE
il campo <NAME> di un simbolo. all’interno del layout e dunque verranno approfondite più
Il nome di una net può essere composto da qualunque nella parte relativa al layout.
carattere tranne spazio “ “ e punto e virgola “;”. Proviamo ora a collegare i due pin di C2 e C3. Selezioniamo
Nel caso si utilizzino lettere minuscole EAGLE le convertirà lo strumento net e posizioniamoci sul pin in alto di C2 prima
automaticamente in lettere maiuscole. Per impostazione ancora di cliccare; notiamo che quando ci posizioniamo in
predefinita, quando si crea una nuova net, EAGLE adotterà corrispondenza del pin di C2 compare un cerchietto stante
il formato “N$<n>” dove <n> è un enumerativo che viene ad indicare l’aggancio della connessione come mostrato in
incrementato con l’aggiunta delle net. Fig. 19A. Non appena clicchiamo parte il collegamento che
Vediamo ora come eseguire i collegamenti elettrici tra due o porteremo fino al pin di C3. Dunque il primo collegamento è
più punti del nostro schema, descrivendo il funzionamento stato completato. Proviamo ora a realizzare il collegamento
delle net. tra il catodo di CR1 e il pin 1 di U1 e successivamente tra il
A tal fine facciamo ancora riferimento alla barra degli stru- pin in alto di R2 e il pin inferiore di R3.
145
Fig. 19 Utilizziamo lo strumento “net”.
146
Fig. 22 Inseriamo le “label” o etichette.
Selezioniamo lo strumento label e clicchiamo sull’estremità poi clicchiamo il tasto sinistro. A questo punto è possibile
del collegamento come mostrato in Fig. 22B; notiamo che vedere il nome della net per maggiore leggibilità.
comparirà il nome della net (nell’esempio N$4). Un altro modo per rendere visibile il nome della net è
Ora selezioniamo il tasto destro del mouse per due volte utilizzare lo strumento “name” mostrato in Fig. 22D. Infatti
fino a far ruotare il nome di 180° come mostrato in Fig. 22C selezionando tale strumento (che ci tornerà utile anche per
147
Fig. 25 Disegniamo un SUPPLY SYMBOL.
modificare il reference dei componenti) e selezionando una piacimento. Si consiglia tuttavia di posizionare i nomi delle
net comparirà la finestra di dialogo mostrata in Fig. 23A. net o all’estremità della net o posizionati sopra o sotto la
Spuntiamo la casella “Place label” (Fig. 23B), aggiungendo net. Alla fine dell’operazione il risultato sarà simile a quanto
un passo in più rispetto al metodo precedente, modifichia- presentato in Fig. 24A.
mo il nome della net dandole un nome più adatto cioè “EN” Possiamo dare un aspetto più accattivante alla label atti-
(Fig. 23C) e selezionare “OK”. Notiamo che il nome della net vando il “cross reference” (XREF) della net, Fig. 24B. A tal
è cambiato assumendo il valore che gli abbiamo attribuito. fine è sufficiente cliccare col tasto destro sulla net e selezio-
Se abbiamo già piazzato la label di tale net possiamo sele- nare “properties”; comparirà la finestra delle proprietà della
zionare “ESC” altrimenti posizioniamo e ruotiamo la label a net dove spunteremo la casella “Xref”, Fig. 24B.
148
Selezionando poi “OK” il risultato sarà simile a quanto figura disegnata non contiene ancora il pin di connessione;
mostrato in Fig. 24C. allo scopo di inserire tale pin (per esempio con lo strumento
Abbiamo praticamente terminato e siamo quindi in grado di pin) torniamo un attimo sulla barra contestuale presentata
costruire la nostra net-list sotto forma grafica ovvero il nostro qui sotto.
schema elettrico. Concludiamo facendo due considerazioni: Con riferimento alla Fig. 26, notiamo sulla barra le seguenti
• la prima è relativa al frame che abbiamo piazzato; proprietà in sequenza: layer, array di pin, rotazione, fun-
quest’ultimo può risultare piccolo una volta inserito zione, lunghezza, visibilità, direzione e swap level. Queste
tutto il necessario. Sappiamo però come modificarne le proprietà sono abbastanza intuitive quindi non verranno
dimensioni, tuttavia vedremo come costruire un frame approfondite. Fanno eccezione le ultime due cioè “direction”
preimpostato sotto forma di componente corredato da e “swap level”:
un cartiglio. • “direction” definisce la direzione del pin quindi le caratte-
• la seconda riguarda in parte il frame ma si allaccia speci- ristiche del flusso logico del segnale associato. Questa
ficatamente alle net e più in particolare alle “cross refe- proprietà ha principalmente importanza durante l’utilizzo
rence”; infatti nel caso in cui dovessimo utilizzare due (o del DRC (design rule check) ovvero nella verifica delle
più) sheet nell’andare ad incrociare il riferimento di una regole di progetto ma, come vedremo tra poco, anche
net all’interno di un altro foglio (da qui spiegato il nome nella definizione di alcuni pin importanti come quelli di
“cross reference”) la label cambia leggermente contenuto. alimentazione e potenza.
Per tornare all’esempio della net “EN” incrociata in un • “swap level” definisce il livello di interscambio (attraverso
altro foglio, questa assumerà il contenuto EN/1.3D dove un numero intero) tra pin omologhi. Il valore 0 indica
“EN” è il nome della net, “1” indica che il collegamento che il pin non può essere scambiato con nessun altro
incrociato è nel foglio (sheet) 1 e “3D” indica la sezione pin, mentre un valore diverso indica che il pin può essere
del foglio dove avviene il collegamento. Anche sul foglio scambiato con qualunque altro pin avente lo stesso
1 la label cambierà aspetto ma, questa volta, indicando le “swap level”. Un esempio sono i pin di input delle porte lo-
coordinate di connessione all’interno del foglio 2. giche semplici (OR, AND, ecc.) dove scambiando l’ordine
degli ingressi non cambia il risultato della funzione. Lo
SUPPLY SYMBOL E TIPOLOGIA DI PIN “swap level” si applica anche a livello di layout quindi può
Come anticipato, abbiamo incontrato una tipologia di portare beneficio durante lo sbroglio dove può essere ne-
simbolo (sotto forma di componente) che rappresenta una cessario scambiare un pin con un altro (purché assolvano
linea di alimentazione o di riferimento. Questi simboli sono i alla stessa funzione) per problemi di area (soprattutto
SUPPLY SYMBOL e sono a tutti gli effetti dei simboli elettrici nel far utilizzo di strumenti come auto-router).
che si portano dietro e fissano un nome di net. In realtà
questi simboli nascondono una peculiarità di EAGLE riguar- Dunque per dare proprietà di net al nostro simbolo aggiun-
do i pin. Approfondiamo le nozioni su EAGLE tornando un giamo un unico pin con le proprietà riportate nella Fig. 27.
attimo indietro, alla creazione dei simboli, ed in particolare Per farlo possiamo inserire un pin qualsiasi per poi mo-
sulla tipologia dei pin. Torniamo all’editor di libreria ed in dificarne le proprietà attraverso il menu contestuale o il
particolare al disegno di un simbolo. Sappiamo che all’in- pannello di modifica posto a lato.
terno di questo editor possiamo disegnare una qualunque
forma eventualmente corredata da pin. Proviamo dunque a
disegnare un simbolo come mostrato in Fig. 25A.
Il simbolo è composto da tre oggetti semplici: un testo un
cerchio ed una linea; le proprietà di questi oggetti sono
riportati rispettivamente nelle Fig. 25B, 25C e 25D. Notiamo
IMPARIAMO A UTILIZZARE EAGLE
149
Molto importanti sono la proprietà “direction” che, in questo
caso, deve essere impostata su “sup” (supply) e la proprietà
“Name” che deve contenere il nome della net (nell’esempio
VDD). Fatto ciò si può salvare il simbolo e passare diretta-
mente alla creazione del DEVICE.
In quest’ultimo non è necessario, ne tantomeno ha senso,
associare alcun footprint quindi basta piazzare il simbolo
e salvare il tutto. Se, come nel nostro caso, il simbolo ha
tutti i pin di direzione “sup” allora è possibile salvare senza
dover associare alcun footprint; se invece si cerca di creare
un DEVICE solo con un simbolo ma senza footprint (come
potrebbe essere per un logo, il cartiglio, un frame perso-
nalizzato, ecc.) si genera un errore. Per ovviare a questo
problema è possibile definire l’attributo _EXTERNAL_.
Ultima considerazione molto importante sulla direzione dei
pin riguarda “pwr” applicabile ai pin di alimentazione di un
componente (per esempio un integrato). Perciò se si nomina
un pin definito “pwr” con lo stesso nome di un “sup” questi
vengono automaticamente collegati una volta inseriti nello
schema elettrico.
150
Sconsigliamo comunque di modificare le impostazioni dei
layer nativi di EAGLE per non perdere allineamento con la
base del programma; piuttosto si crea un nuovo layer per-
sonalizzato in nome e colore. Per accedere alle impostazioni
dei layer è necessario selezionare il tool “Layer Settings”
come mostrato in Fig. 28A.
Apparirà la finestra “Visible Layer” riportata in Fig. 28B.
Notiamo che, in questa finestra, non sono elencati tutti i
layer nativi di EAGLE ma solo quelli relativi all’ambiente
“schematic” o condivisi con l’ambiente “layout”. L’elenco è
organizzato sotto forma di tabella dove, partendo da destra,
troviamo una colonna per l’eliminazione dei layer (solo quel-
li creati dall’utente), il nome del layer, il colore ed il numero. Fig. 30 Definiamo un nuovo layer.
L’ultima colonna ovvero la prima a partire da sinistra ha un
aspetto che ricorda un occhio e serve semplicemente per
rendere visibile o nascondere un layer quando nella riga cor-
rispondente è presente o meno l’occhio. Dunque vediamo bile modificarne il numero a meno di eliminarlo e crearne
che i layer sono tutti visibili a parte il “93 Pins” che è nasco- uno nuovo. Il colore di selezione invece è legato al colore
sto. Per selezionare un layer è sufficiente selezionare la riga assegnato al layer. Una finestra simile a quella di modifica
corrispondente come mostrato nella seguente Fig. 29A. proprietà è la finestra “New layer”, riportata in Fig. 30B, che
Se invece vogliamo selezionare più layer in una sola volta compare quando si seleziona l’omonimo pulsante posto
è possibile selezionare il primo e spostarsi, con le frecce proprio sotto a sinistra della listbox. Ovviamente, a diffe-
sopra o sotto, tenendo premuto il tasto maiuscolo (shift); renza della precedente finestra, in questo caso è possibile
questa operazione può essere fatta anche utilizzando il solo selezionare il numero di layer.
mouse selezionando il primo layer e muovendo il puntatore Con questo abbiamo fatto un excursus sulla visualizzazio-
(sopra o sotto a seconda della direzione desiderata) tenen- ne dei layer che ci potrà tornare utile soprattutto durante
do premuto il tasto sinistro. La Fig. 29B mostra un esempio l’utilizzo dell’ambiente layout. Tuttavia è bene precisare
di selezione multipla. Qualora si vogliano selezionare layer che non stiamo parlando delle caratteristiche dei layer fisici
in posizioni diverse si può ricorrere al tasto CTRL come (da affrontare prima dell’esportazione dei file di industria-
mostrato in Fig. 29C. Ovviamente una combinazione delle lizzazione) ma quanto della visualizzazione di layer astratti
precedenti è possibile se è necessario selezionare layer relativi al disegno dello schema prima e del layout poi.
multipli in posizioni intermezzate.
Una volta selezionati, uno o più layer, è possibile renderli DESCRIZIONE DEL “OPTION ASSIGN”
visibili (diremo per semplicità “accendere”) o nasconderli Finora abbiamo utilizzato gli strumenti attraverso le sele-
(spegnere) attraverso rispettivamente i pulsanti “Show zioni sulla barra oppure a linea di comando. Tuttavia queste
Layers” e “Hide Layers” posti subito in basso a destra alla operazioni possono risultare scomode soprattutto quando
listbox. È possibile inoltre creare un “Layer Set”, cioè un ci troviamo a cambiare continuamente strumento. Ci chie-
insieme preimpostato di layer, attraverso il pulsante “New diamo se esistano delle scorciatoie (shortcuts) da tastiera;
Set”. Ciascun set è selezionabile dalla casella combinata qualcosa del genere l’abbiamo già affrontato durante il
“Layer Sets” posta in basso a sinistra. Con il pulsante “Remo- disegno dello schema: i tasti ALT, CTRL e SHIFT.
ve Set” si va ovviamente a rimuovere il layer set selezionato EAGLE mette a disposizione delle scorciatoie configurabili
correntemente nella casella combinata. Un layer set assu- a livello di ambiente. Infatti ad ogni comando possiamo far
IMPARIAMO A UTILIZZARE EAGLE
me grande utilità nello sviluppo del layout dove ci troviamo corrispondere una scorciatoia con tanto di opzione per i ta-
a lavorare su strati diversi quindi ha senso spegnerli o sti ALT, CTRL e SHIFT. Configurare tali scorciatoie è possibile
accenderli all’occorrenza. sia manualmente che automaticamente. In questa sezione
I layer sono modificabili uno alla volta quindi non per sele- vedremo come configurarle manualmente riprendendo la
zioni multiple o set. Per modificare un layer basta cliccare barra dei menu ed in particolare il menu “Options Assign”.
due volte sulla riga corrispondente e comparirà la finestra La Fig. 31A mostra la finestra assign.
“Change layer properties” mostrata nella seguente Fig. 30A. Come notiamo si presenta sotto forma di tabella con due
In tale finestra compare la casella combinata contenente colonne, rispettivamente “Key” e “Command”. La prima
il numero del layer, il nome, il colore, il colore di selezione contiene la combinazione di tasti dello shortcut mentre la
(“Highlight”) e lo stile di riempimento (“Fillstyle”). In nessun seconda contiene il comando da riga di comando associato
caso è possibile modificare le proprietà numero e colore di alla combinazione di tasti. Ciascuna riga dell’elenco ovvia-
selezione. Una volta assegnato un layer non è più possi- mente rappresenta una scorciatoia.
151
Fig. 31 Una funzionalità molto utile: gli shortcut.
Un comando può avere più di una combinazione di tasti tata in Fig. 31C, per l’aggiunta di una nuova voce elenco e
ma una combinazione di tasti può essere univoca. In altri risponde alle stesse identiche regole per l’assegnazione.
termini possiamo assegnare più di una riga con lo stesso Come possiamo notare l’assegnazione di una scorciatoia
comando ma differente combinazione ma non possiamo avviene assegnando un tasto base (“Key”) attraverso una
avere più righe con la stessa combinazione per comandi combo-box, che può essere letterale oppure un tasto fun-
diversi. Introdotte queste semplici regolette possiamo ve- zione della tastiera e dei modificatori, che possono essere
dere, dall’interfaccia, che è possibile aggiungere, modificare lo SHIFT, il CTRL o ALT; almeno uno dei due tasti CTRL o ALT
o eliminare una scorciatoia selezionando rispettivamente deve essere associato al tasto base mentre non è possibile
i pulsanti “New”, “Change” o “Del”. Quest’ultimi due casi si associare un tasto base al solo tasto shift.
applicano ovviamente alla selezione corrente. In realtà per Fanno eccezione i tasti funzione (da F1 a F12) cha possono
modificare una delle voci elenco è sufficiente fare doppio- avere un’assegnazione assestante. Non sono proibite le
click sulla riga desiderata. combinazioni di tasti proprie del sistema operativo (come
La Fig. 31B mostra la finestra di “Change key assignment” per esempio SHIFT+F10 per Windows) ma, tuttavia, non
per la modifica di una voce scorciatoia (nell’esempio è hanno efficacia perché non riescono a sovrascrivere la
associata al comando “Add”). Questa finestra è del tutto funzione del sistema operativo. Se si prova ad assegnare
identica alla finestra “New key assignment”, rappresen- ad un comando una combinazione già esistente comparirà
152
il messaggio mostrato in Fig. 31D dove viene chiesto se si Se così non fosse, in fase di utilizzo strumento “value”, un
vuol sovrascrivere l’assegnazione già esistente. Seguendo “warning” ci avviserà che il valore non ha un valore definibile
le regole precedenti proviamo dunque ad assegnare la com- dall’utente e ci chiederà se vogliamo comunque modificarlo
binazione CTRL+G al comando GROUP; quest’operazione come mostrato in Fig. 33B.
possiamo farla in due modi: Spendiamo qualche breve parola sullo strumento “name”
• Modifichiamo l’assegnazione al comando “NEWGROUP”. che a differenza dello strumento “value” modifica il rife-
• Creiamo una nuova assegnazione sovrascrivendo quella rimento del componente selezionato. È consigliato non
esistente. modificare manualmente i reference dei componenti a
meno che non si voglia attribuirgli un nome contestualiz-
Per confermare il tutto e chiudere la finestra “Assign” biso- zato; per esempio un LED con prefisso D si rinomina come
gna ovviamente selezionare il pulsante “Ok”. Infine è bene LED. A questo punto siamo giunti alla finalizzazione dello
precisare che l’assegnazione è contestualizzata all’am- schema: colleghiamo tutte le net, meglio se gli diamo un
biente dunque può cambiare a seconda che ci troviamo in nome, posizioniamo tutti i componenti, assegniamogli i
“schematic” oppure “board”. valori, disegniamo un frame con cartiglio che racchiuda lo
schema e racchiudiamo le sotto-parti del circuito all’interno
FINALIZZAZIONE DELLO SCHEMA di cornici in modo da meglio identificarle.
Siamo giunti alla stesura finale dello schema elettrico di
NordIOT, prima di generare la documentazione utile alla CONTROLLO DELLE REGOLE ELETTRICHE
sua realizzazione pratica ed eseguire i controlli di violazione (ELECTRICAL RULE CHECK - ERC)
delle regole. In precedenza abbiamo visto come rinominare Terminiamo questa puntata con uno strumento molto
una net, tuttavia non abbiamo però parlato di assegnazione rilevante nella progettazione elettronica, l’ERC (Electrical
dei componenti. Dunque una volta impostato lo schema è Rule Check). Una volta completato uno schema elettrico è
ovviamente necessario riportare il dimensionamento “su consigliato prevedere una rivisitazione (design review) per
carta” nei valori dei componenti. Riprendiamo gli strumenti scongiurare eventuali errori. Per errori s’intendono sia pro-
“value” e “name” rappresentati in Fig. 32A. gettuali che violazione di regole. Per i primi si fa solitamente
Per assegnare un valore ad un componente si utilizza lo un confronto con quanto disegnato “su carta” quindi una
strumento “value” disponibile sia da barra degli strumenti rivisitazione del progetto. D’altro canto ci possono essere
che su menu contestuale relativo al componente. degli errori elettrici ovvero pin aperti, net inconsistenti,
Una volta selezionato lo strumento basta cliccare sul com- collegamenti tra pin non omologhi e via dicendo.
ponente che si vuol modificare e appare la finestra di input Quest’ultimo tipo di controllo può essere fatto automa-
di Fig. 32B. ticamente da EAGLE attraverso il comando ERC o con lo
Al suo interno è possibile inserire qualunque testo che strumento mostrato in Fig. 34A. Apparirà quindi la finestra
ne individui il componente (per esempio un part number). “ERC Errors” mostrata in Fig. 34B.
Questa operazione è possibile eseguirla anche da pannello In tale finestra riconosciamo una lista con “errors” (errori
di modifica rapido individuando il campo “Value” come indicati da punto esclamativo rosso) e “warnings” (avvisi
mostrato in Fig. 32C. Tuttavia la modifica del valore di un indicati da punto esclamativo giallo).
componente è possibile solo se il campo “Value” è imposta- Sostanzialmente un “warning” è un avviso indicante che
to su On come mostrato in Fig. 33A. sullo schema c’è qualcosa di poco pulito come collegamenti
IMPARIAMO A UTILIZZARE EAGLE
153
Fig. 34 Lo strumento ERC.
tra pin non omologhi (es. un pin io collegato con un pin oc), • Risolvere l’errore: come spiegato all’inizio della puntata
mentre un “error” rappresenta una violazione di una regola sarebbe più opportuno dichiarare il pin in questione
elettrica. Il primo elemento della lista indica l’inconsistenza come “power” (pwr) quindi modificare la libreria.
tra schema e board (nella figura viene indicato che i due • Approvare l’errore avendo controllato che non c’è nessun
sono consistenti). rischio, consapevoli che rimane comunque una violazione
Questo concetto è molto importante perché per utilizzare la di una regola elettrica.
“Forward&Back Annotation” layout e schema devono essere
coerenti, il che significa che devono contenere un insieme Tuttavia anche approvati “errors” e “warnings” questi non
equivalente di parti/elementi e reti/segnali. Un’incoerenza scompaiono ma vengono spostati più in basso nella stessa
può capitare se uno dei due viene modificato separatamen- lista “ERC Errors” sotto la voce “Approved”. Non è possibile
te dall’altro. Se si clicca su uno degli elementi della lista il approvare tutti i messaggi in una sola volta ma è necessario
focus dell’ambiente si sposta direttamente sull’oggetto (è controllarli uno per uno. È invece possibile cancellare la lista
consigliato fare uno zoom per meglio individuarlo). dei messaggi tramite il pulsante “Clear all”. In questo caso
A questo punto è necessario controllare che il “warning” o non si cancellano “errors” e “warnings” ma solo il conte-
lo “error” siano da approvare tramite il pulsante “Approve”. nuto della lista; lanciando nuovamente ERC si riproporrà la
Ovviamente, in caso contrario, la risoluzione del problema lista. Dunque lo strumento clear è bene usarlo quando si IMPARIAMO A UTILIZZARE EAGLE
dovrà essere fatta a mano. individua un errore, tuttavia poiché la lista non si aggiorna
Nell’esempio di Fig. 34B il primo errore che incontriamo cita dinamicamente, è necessario cancellare tutta la lista e poi
il seguente messaggio: “OUTPUT and SUPPLY pins mixed on rilanciare ERC.
net VBAT (out)”.
Questo errore indica che un pin di uscita (out) è collegato CONCLUSIONI
insieme ad un pin di alimentazione (sup) su una net che si Siamo giunti al termine di questa puntata in cui abbiamo
chiama VBAT. È sicuramente una violazione di una regola visto come terminare lo schema andando ad impostare
elettrica perché un pin di alimentazione non può essere ed inserire tutti i dettagli del caso perciò dalla prossima
connesso ad un pin d’uscita; infatti se un pin è impostato puntata ci dedicheremo al passaggio nel “mondo fisico”
come uscita si presuppone che possa fornire un segnale cominciando ad affrontare tutte le tematiche riguardan-
in contrasto con un’alimentazione come, per esempio, 0V. ti il piazzamento dei componenti e sbroglio del circuito
Come anticipato possiamo intraprendere due strade: stampato.
154
SERVIZIO DI SERVIZIO DI
PROGETTAZIONE REALIZZAZIONE PCB
L’area R&D di Futura Grazie al Servizio di
Group studia, progetta realizzazione PCB potrai
e realizza prototipi ricevere i tuoi circuiti
per differenti settori stampati semplicemente
utilizzando tecnologie caricando sul nostro sito
innovative. Il team Futura il tuo Gerber e scegliendo
Group è composto, oltre le dimensioni e le
che dal personale dei nostri caratteristiche preferite.
laboratori tecnici, anche È possibile ordinare
da un numero elevato schede a una singola
di collaboratori esterni, faccia oppure
ciascuno specializzato nel multistrato, scegliendo
proprio settore. anche il colore del solder.
Trasformiamo
le tue idee in realtà!
FUTURA ELETTRONICA È IL TUO PARTNER DI RIFERIMENTO PER MOLTEPLICI SERVIZI.
I NOSTRI TECNICI SONO A TUA DISPOSIZIONE PER FORNIRE TUTTE LE INFORMAZIONI
E UNA VALUTAZIONE PERSONALIZZATA IN BASE ALLE TUE NECESSITÀ.
SERVIZIO SERVIZIO
TAGLIO LASER STAMPA 3D
Futura Elettronica Futura Elettronica mette
offre la possibilità di a disposizione le proprie
realizzare mediante stampanti 3D FDM
taglio laser i tuoi (fused deposition
progetti in plexiglass modeling), per chi
(o metacrilato) con intende realizzare un
spessore massimo di oggetto tridimensionale
10 mm e con dimensioni con dimensioni fino a
massime lavorabili 40x40x40 cm partendo
di 130×90 cm. Carica da un modello 3D
sul nostro sito il digitale. Carica sul
tuo file .DXF, scegli nostro sito il tuo file .STL,
le dimensioni e le scegli le dimensioni e le
caratteristiche preferite. caratteristiche preferite.
https://cns.utexas.edu/news
156
Memorie magnetiche
più efficienti con il
manganese-palladio
Un nuovo composto metallico potrebbe
portare a memorie per computer più ef-
ficienti, consentendo un’elaborazione più
rapida e l’addestramento dell’IA su singoli
dispositivi anziché su server remoti.
La memoria ad accesso casuale magne-
toresistivo con coppia di spin orbit (SOT-
MRAM) ha il potenziale per archiviare i dati
in modo più rapido ed efficiente rispetto
ai metodi attuali, che memorizzano i dati
utilizzando la carica elettrica ma richie-
dono un input di alimentazione continuo
per mantenere tali dati. Un sottile strato
di manganese-palladio 3 (MnPd3) ha le
proprietà necessarie per rendere possi-
bile una RAM che memorizza i dati nelle
direzioni di spin degli elettroni. Questo
metodo, noto come memoria ad acces-
so casuale magnetoresistivo a coppia in
orbita di rotazione o SOT-MRAM, si basa
su una proprietà intrinseca degli elettroni
chiamata spin, ossia il momento magneti-
co generato durante la rotazione. Se l’elet-
trone cambia direzione di rotazione, i poli
nord-sud del campo magnetico cambiano
ed è possibile utilizzare la direzione verso
l’alto o verso il basso di quel magnetismo,
noto come momento di dipolo magne-
tico, per rappresentare gli uno e gli zeri
che compongono i bit e i byte dei dati del
computer. Nella SOT-MRAM, la corrente
che scorre nello strato SOT genera speci-
fiche direzioni di rotazione, ma purtroppo
la maggior parte dei materiali polarizza gli
spin degli elettroni nella direzione y se la
corrente scorre nella direzione x. Invece
il MnPd3 può generare spin in qualsia-
si orientamento perché la sua struttura
interna manca del tipo di simmetria cri-
stallina che forzerebbe tutti gli elettroni in
un particolare orientamento: i ricercatori
sono riusciti a dimostrare la commutazio-
ne della magnetizzazione in entrambe le
direzioni y e z senza bisogno di un campo
magnetico esterno, il che vuol dire ritenere
il dato senza bisogno di energia.
https://news.stanford.edu
157
Il futuro dell’audio è nel silicio Dal treno
Lo afferma xMEMS, che ha svi- applicati ai microfoni dal 2007 e
all’aeroporto con
luppato micro altoparlanti
hi-fi interamente in silicio”
hanno guadagnato circa l’80%
della quota di mercato glo-
la guida autonoma
prodotti da TSMC (una bale. Sebbene i microspe-
delle più grandi foundry aker MEMS abbiano molti La città di San José in California
al mondo) capaci di co- vantaggi, per realizzare (Stati Uniti) ha approvato un con-
niugare coerenza ed ef- trasduttori utilizzabili in tratto per la messa in opera di un
ficienza che i tradizionali pratica occorrono array di sistema di trasporto pubblico de-
altoparlanti magnetodi- moltissimi dispositivi ele- dicato, denominato Diridon-Airport
namici non possono egua- mentari e ciò costa, perché Connector, per collegare la stazio-
gliare, specie in tema di pre- richiede moltissimo silicio. Per ne ferroviaria di Diridon e l’aero-
cisione di fase. I microaltoparlanti il momento i MEMS possono copri- porto internazionale di San José
xMEMS utilizzano minuscole membrane re trasduttori per cuffie, auricolari ad al- Mineta (SJC), uno dei principali scali
di silicio che sono più veloci e più rigide tissima fedeltà o microfoni, in attesa che del Nord America.
degli altoparlanti comuni. L’utilizzo della la tecnologia sia sviluppata su larga scala. La tecnologia di trasporto che ver-
tecnologia dei semiconduttori per i tra- rà utilizzata è quella proposta dalla
sduttori audio non è nuova: i MEMS sono https://xmems.com/news Glydways e si basa sull’impiego di
piccoli veicoli a guida autonoma,
vale a dire dei minibus senza con-
ducente, che percorrono una via
fissa e predeterminata; il sistema
Lenti a realtà aumentata per usare l’AI proposto è progettato per tra-
sportare inizialmente oltre 2.000
passeggeri all’ora in ciascuna dire-
Monocle è un dispositivo di realtà L’FPGA, a sua volta, si interfaccia con zione. Il nuovo sistema di transito
aumentata open source costruito da la fotocamera, il microfono e il di- dovrebbe essere completato in
Brilliant Labs, che si aggancia agli splay. Sono disponibili anche schemi meno di un decennio.
occhiali e permette di interagire con e file 3D del design fisico di Monocle, In caso di successo, il progetto Ai-
l’AI attraverso una telecamera fron- che dovrebbero aiutare gli sviluppa- rport to Diridon Connector potreb-
tale da 720p e un display micro OLED tori a modificare, migliorare e perso- be essere esteso ad altri corridoi
da 640x400 pixel con campo visivo nalizzare l’hardware. attraverso San José e South Bay.
di 20 gradi, oltre a un touch-sensor Una delle applicazioni è sicuramen- Per la città di San Jose si tratta di
capacitivo e all’interfaccia Blueto- te l’interazione con contenuti web un primo passo verso una mobili-
oth. L’azienda fornisce un’interfaccia e servizi di intelligenza artificiale, tà automatizzata e sicura, nonché
drag-and-drop, chiamata StreamLo- similmente a quanto fa RizzGPT, un ecologica; per la tecnologia che sta
gic, che attinge al processore gate- head-up display per ChatGPT. dietro al progetto, ossia l’ADAS di
array programmabile sul campo in- livello più elevato, si tratta invece
cluso di Monocle. https://brilliant.xyz dell’ennesima dimostrazione che la
circolazione di veicoli autonomi nel
trasporto pubblico è una via prati-
cabile a breve termine, seguendo
il solco tracciato già da anni dai
convogli ferroviari (per esempio le
metropolitane) senza conducente.
www.sanjoseca.gov
158
Tappetini
da laboratorio cod. RSP8417718
Tappetino da taglio
450×300×2,5 mm Tappetino da taglio
300×220×2,8 mm
Tappeto
Tappeto in silicone per saldatura
in silicone
337×227 mm
per saldatura
450×300 mm
cod. AS11
€ 19,00
cod. AS10
€ 9,00
cod. AS12
€ 35,00 cod. AS13
€ 13,50
COLORE SERIGRAFIA
COLORE SOLDER
PCB da 2 layer
DIMENSIONI (cm)
da 10x10 cm
- 5x5 – 5x10 – 5x15 – 5x20 – 5x25 – 5x30 spessore 1,6 mm
- 10x10 – 10x15 – 10x20 – 10x25 – 10x30
solder verde
- 15x15 – 15x20 – 15x25 – 15x30
- 20x20 – 20x25 – 20x30 serigrafia bianca
- 25x25 – 25x30 € 6 cad.
- 30x30
cod. SEC3NV000
cod. PWC3NV000
€ 119,00 cod. SMK3NV000
€ 119,00 € 149,00
Ideale per proteggere gli
oggetti dai furti. Basato su un
accelerometro, Security IoT
BOX è in grado di rilevare e
Collegato alla rete elettrica, segnalare tempestivamente, È in grado di rilevare la presenza
permette di essere avvisati da tramite l’apposita APP, eventuali di fumi potenzialmente pericolosi
remoto, tramite apposita APP, di spostamenti degli oggetti sui quali segnalandolo, tempestivamente
una eventuale mancanza di corrente viene posizionato. Per funzionare tramite l’apposita APP. Per
e di intervenire tempestivamente. non necessita di Bluetooth funzionare non necessita di
Il dispositivo dispone anche di una o Wi-Fi; dispone infatti di una SIM Bluetooth o Wi-Fi; dispone infatti
di una SIM on chip con durata
Prezzi IVA inclusa.
CONNETTIVITÀ APP
ILLIMITATA GRATUITA
nessun abbonamento
cod. SOL30M
48,00
cod. SOL30FLEX
€ 49, 00 dimensioni:
480 x 240 x 30 mm
€ cod. SOL100M
€ 109,00
cod. SOL100FLEX
138,00
cod. SOL20M 30W
€ € 36, 00
20W
30W 100W
100W
dimensioni:
570 x 350 x 2 mm
dimensioni: dimensioni: dimensioni:
1150 x 510 x 2 mm 540 x 360 x 25 mm 1080 x 510 x 30 mm
Sono composti da singoli e sottilissimi strati di cristallo la massima efficienza energetica e grazie a questa
di silicio che opportunamente trattato aumenta la caratteristica è possibile installare un numero di
loro conduzione. Le celle che compongono il pannello pannelli inferiore rispetto ai tradizionali, permettendo
monocristallino sono facilmente riconoscibili grazie così di occupare superfici meno estese. L’alta qualità
al loro colore molto scuro. La purezza del silicio che del materiale utilizzato permette di avere una durata
compone le celle monocristalline permette di ottenere maggiore del pannello.
FORNISCONO ALLE BATTERIE LA QUANTITÀ DI CORRENTE NECESSARIA, PROTEGGENDOLE DA UN ECCESSO DI CARICA O SCARICA.