Elettronica Maker · 2020-04-22 · Elettronica & Maker n° 13 - 2020 • 5 rupt, al set di...

34
Elettronica n° 13 - 2020 Antropomorfo con APP Android Voltmetro con ATtiny85 Sanificatore UV-C per Maschere di Protezione Conoscere i Core Arm Maker & Apollo Computer: Il Software Braccio Robotico Processing e Arduino

Transcript of Elettronica Maker · 2020-04-22 · Elettronica & Maker n° 13 - 2020 • 5 rupt, al set di...

Page 1: Elettronica Maker · 2020-04-22 · Elettronica & Maker n° 13 - 2020 • 5 rupt, al set di istruzioni, e poi al software di sistema, un sistema operativo elementa-re ed i livelli

Elettronican° 13 - 2020

Antropomorfo con APP Android

Voltmetro con ATtiny85

Sanificatore UV-Cper Maschere di Protezione

Conoscere i Core Arm

Maker&

Apollo Computer:Il Software

Braccio Robotico

Processing e Arduino

Page 2: Elettronica Maker · 2020-04-22 · Elettronica & Maker n° 13 - 2020 • 5 rupt, al set di istruzioni, e poi al software di sistema, un sistema operativo elementa-re ed i livelli

Elettronica

Se leggi queste righe, probabilmente non ci conosci: permettimi di presentarti la nostra rivista, in poche parole.E&M nasce agli albori del 2018, come progetto editoriale eco-sostenibile che, pur non utilizzando il mezzo fisico di stampa, mantiene il formato pseudo-cartaceo e l’organizzazione delle pagine di una rivista classica, in un file pdf. Il tutto con l’aggiunta delle piene funzionalità offerte dai collegamenti ipertestuali che, con buona pace degli amanti del genere classico, sulla carta stampata per il momento non si trovano. In altre parole, E&M si pone un po’ come “anello mancante” tra l’immensa pletora – incontrollata e non necessariamente sempre affidabile nei contenuti – dei blog a carattere tecnico e il mezzo tradizionale che odora di inchiostro. Uno degli intenti principali del progetto doveva essere la facilità di comunicazione tra lettore e autore, per colmare un’altra delle lacune fondamentali della stampa tradizionale, ovvero “la barriera della redazione” che da sempre, in quell’ambiente, si era frapposta tra le parti. Oggi le cose sono profondamente cambiate; chiunque legga i nostri articoli può interagire con gli autori in un click, privatamente o in pubblico. Inoltre, per dare ulteriore enfasi al carattere “social” delle attività, da pochi giorni Elettronica & Maker dispone di una propria pagina di FaceBook, che ci auguriamo possa divenire un ulteriore punto di incontro, confronto e diffusione tra tutti gli appassionati della materia. Usatela per i vostri post a tema e condividetela il più possibile con gli amici!

EDITORIALE

Il Nostro Progetto

Maker

Sommario

[email protected]

&

Page 3: Elettronica Maker · 2020-04-22 · Elettronica & Maker n° 13 - 2020 • 5 rupt, al set di istruzioni, e poi al software di sistema, un sistema operativo elementa-re ed i livelli

In questo contesto non poteva mancare neppure l’attivazione di Twitter, per le news di rilievo nel nostro settore, ma non solo. Le pagine che seguono sono un estratto del numero completo che potrai scaricare gratuitamente dal nostro sito, assieme a tutti quelli già pubblicati. Buona lettura!

Roberto Armani

Numero 13 - 2020

46

34

28

56

14

Ora E&M è anche su:

Seguici!

4

Page 4: Elettronica Maker · 2020-04-22 · Elettronica & Maker n° 13 - 2020 • 5 rupt, al set di istruzioni, e poi al software di sistema, un sistema operativo elementa-re ed i livelli

4 • Elettronica & Maker n° 13 - 2020

Continuiamo la nostra celebrazione del cinquantesimo del primo sbarco sulla Luna, dando un'occhiata al software del computer di bordo delle missioni Apollo, Apollo Guidance Computer (AGC).

Nel n. 11 della rivista abbiamo introdot-

to il computer di bordo delle missioni

Apollo, Apollo Guidance Computer (AGC)

parlando degli aspetti hardware. Non pote-

va mancare una discussione sul software.

Nell’articolo precedente abbiamo definito

AGC come un controllore embedded, un

compatto computer digitale destinato a

gestire processi in real time. In questo ar-

ticolo, diviso in due parti, rivedremo bre-

vemente alcuni concetti fondamentali del

controllo software in real time, utili ad in-

quadrare meglio la descrizione dell’archi-

tettura a partire dalle risorse hardware, fino

ai programmi applicativi.

Seguiremo uno schema classico usato

nell’avvicinarsi ad un nuovo micropro-

cessore o microcontrollore, iniziando con

quello che si chiama ‘modello di program-

mazione’. Daremo quindi uno sguardo ai

registri disponibili, alla struttura di inter-

Apollo Computer:il Software

di Mario Rotigni

[email protected]

Le immagini di questo articolo sono state ricavate dal sito NASA e

utilizzate nel rispetto della politica di utilizzo della stessa.

Page 5: Elettronica Maker · 2020-04-22 · Elettronica & Maker n° 13 - 2020 • 5 rupt, al set di istruzioni, e poi al software di sistema, un sistema operativo elementa-re ed i livelli

Elettronica & Maker n° 13 - 2020 • 5

rupt, al set di istruzioni, e poi al software

di sistema, un sistema operativo elementa-

re ed i livelli successivi sempre più lontani

dall’hardware, per finire con i programmi

applicativi. Vedremo come questo compu-

ter di oltre 50 anni fa adottasse soluzioni

ancora avanzate, pur viste con gli occhi di

oggi. Strada facendo, introdurremo qual-

che paragone con tecnologie e soluzioni

moderne e poi daremo qualche indicazione

a chi voglia andare più a fondo (ricordiamo

che “Portiamocene uno a casa” era il titolo

del capitolo finale dell’articolo precedente,

qui manterremo lo stesso spirito). E’ inte-

ressante notare come AGC non sia affatto

il “computer centrale” dell’astronave, cui la

fantascienza ci ha abituati da decenni. Al

contrario, solo un ristretto numero di fun-

zioni e apparati è stato posto sotto il suo

controllo. Responsabilità di AGC sono sta-

te principalmente la gestione del sistema di

assetto, navigazione e guida, la telemetria,

la piattaforma inerziale e la generazione dei

segnali di temporizzazione per almeno al-

tri 20 sistemi dell'astronave. Molte funzioni

non sono state per nulla automatizzate ma

lasciate al controllo diretto dell’equipag-

gio, tramite interruttori e deviatori elettro-

Page 6: Elettronica Maker · 2020-04-22 · Elettronica & Maker n° 13 - 2020 • 5 rupt, al set di istruzioni, e poi al software di sistema, un sistema operativo elementa-re ed i livelli

6 • Elettronica & Maker n° 13 - 2020

una sola unità di elaborazione. In gergo più

tecnico, il problema è come implementare

il multitasking avendo a disposizione una

sola CPU. Entreremo in maggior dettaglio

tra poco ma si può anticipare che il “truc-

co” consiste nell’avere un computer molto

più veloce dei processi che è chiamato a

controllare. Andremo quindi a dividere le

funzioni complesse da realizzare in unità

elementari, la cui esecuzione non potrà

che essere serializzata. Con il suo clock

di 2,048 MHz AGC è in gra-

do di eseguire una istruzio-

ne elementare in circa 500

nsec, tempo molto piccolo

se confrontato con la sca-

la temporale con cui evol-

vono i processi controllati,

stimata dell’ordine di qual-

che millisecondo. Qualora

alcuni processi controllati

richiedessero attenzione da

parte del computer esatta-

mente nello stesso istante

o temporizzazioni prossime

alla risoluzione gestibile, le

sezioni critiche sarebbero

implementate in hardware

invece che in software, libe-

rando la CPU dall’onere più

stringente.

A tal proposito, una defini-

zione ancora molto utile di

“Real Time” veniva introdot-

ta nei seminari Intel sui mi-

meccanici (come le luci di casa, anche se

può sembrare paradossale, a prima vista).

E` questo il caso ad esempio del sistema di

riscaldamento della cabina.

I progettisti di AGC si sono trovati a dover

risolvere il classico problema di tutti i pro-

gettisti di apparecchiature embedded.

Programmi applicativi diversi devono es-

sere in esecuzione controllando molte

funzioni ed operazioni in contemporanea

evoluzione, pur avendo un solo computer,

Page 7: Elettronica Maker · 2020-04-22 · Elettronica & Maker n° 13 - 2020 • 5 rupt, al set di istruzioni, e poi al software di sistema, un sistema operativo elementa-re ed i livelli

Elettronica & Maker n° 13 - 2020 • 7

controllare fa si che tempi di elaborazione crocontrollori negli anni 80. Per definire un

sistema come Real Time, due condizioni

chiedono di essere soddisfatte. La prima

è la predicibilità del tempo di risposta, la

seconda una velocità di esecuzione suffi-

ciente a rispondere in tempo utile agli even-

ti del processo. Non si richiede quindi la

massima velocità possibile ma una rispo-

sta adatta a quanto si deve gestire, a van-

taggio dell’economia del sistema, eviden-

temente. Un classico esempio per chiarire,

è costituito dal termostato di un apparta-

mento. L’inerzia termica dell’ambiente da

registrarti

Page 8: Elettronica Maker · 2020-04-22 · Elettronica & Maker n° 13 - 2020 • 5 rupt, al set di istruzioni, e poi al software di sistema, un sistema operativo elementa-re ed i livelli

14 • Elettronica & Maker n° 13 - 2020

di Giuseppe La Rosa

[email protected]

Se vi affascina l’automazione antropo-

morfa, continuate a leggere: di seguito

vi illustreremo come costruire un semplice

Robot ARM (figura 1) pilotabile da Smar-

tphone, capace di sei diverse articolazioni.

È composto da una parte elettromecca-

nica per eseguire i singoli movimenti, una

scheda di interfacciamento allo Smartpho-

ne tramite Bluetooth e di un’Applicazione

Android di controllo.

Usando i cursori nell'App di Figura 11 pos-

siamo controllare manualmente il movi-

mento di ciascun servo o asse del braccio

del robot.

Memorizzare le posizioni del braccio robo-

tico, poi eseguirle automaticamente e va-

riarne la velocità di esecuzione.

Nel corso dell’articolo descriveremo come

realizzare le singole parti e come assem-

blarle nel modo più semplice possibile.

In questo articolo realizzeremo un braccio robotico con Arduino che può essere controllato e programmato in modalità wireless utilizzando un'applicazione Android. Verrà esposto l'intero processo di costruzione, a partire dalla stampa 3D delle parti costituenti il robot, dalla realizzazione del circuito stampato e programmazione di Arduino, alla descrizione della nostra applicazione Android per il controllo del braccio robotico.

SmartRobot Arm

Page 9: Elettronica Maker · 2020-04-22 · Elettronica & Maker n° 13 - 2020 • 5 rupt, al set di istruzioni, e poi al software di sistema, un sistema operativo elementa-re ed i livelli

Elettronica & Maker n° 13 - 2020 • 15

suna caduta di tensione sull’alimentazione

del circuito.

Il connettore J9 serve per la programma-

zione In Circuit ed è utile per caricare il Bo-

otloader di Arduino UNO.

Per la comunicazione seriale con il modulo

HC-06 Bluetooth (J10) sono stati preferiti i

pin IO8 e IO9, lasciando libera la porta se-

riale Hardware sul connettore J7 utilizzata

solo per il caricamento del Firmware.

Poiché i servomotori assorbono molta cor-

rente durante lo spunto, potrebbe accade-

re di avere cali temporanei di tensione in

grado di produrre errori di trasmissione.

Per alimentare i servomotori e ovviare ai

cali di tensione improvvisi sono stati inse-

riti condensatori elettrolitici: C8, C9, C10 e

C11. Nel prossimo paragrafo passiamo alla

realizzazione meccanica del nostro Robot

ARM.

IL CIRCUITO ELETTRICO

I sei servocomandi e il LED1 utilizzato per

visualizzare avvio del Robot sono gestiti

dal microcontrollore ATMEGA328P (IC1),

ed il circuito che ne deriva è parecchio

semplice, come visibile nello schema elet-

trico di Figura 2.

La scheda deve essere alimentata con un

semplice alimentatore stabilizzato da 2000

mA o più, in grado di erogare una tensione

di 5 volt.

Il diodo D1 al silicio, messo in antiparalle-

lo alla linea di alimentazione (connettore

J8) in serie un fusibile (F1), ha l’incarico di

provocare la rottura del fusibile F1 in caso

di inversione accidentale della polarità sul

connettore J8; allo stesso tempo il fusibile

F1 offre la protezione contro il sovraccari-

co. Il vantaggio di utilizzare il diodo D1 in

antiparallelo è quello di non introdurre nes-

Page 10: Elettronica Maker · 2020-04-22 · Elettronica & Maker n° 13 - 2020 • 5 rupt, al set di istruzioni, e poi al software di sistema, un sistema operativo elementa-re ed i livelli

16 • Elettronica & Maker n° 13 - 2020

LA MECCANICA

Per realizzare la struttura meccanica ab-

biamo utilizzato tre servomotori MG996R

del tipo standard con ingranaggi in metallo

per la base rotante, la spalla e il gomito.

Per la chiusura, apertura, rotazione, ab-

bassamento e innalzamento della pinza,

abbiamo scelto tre mini servocomandi

MG90S.

In Figura 10 è rappresentata la disposizio-

Figura 1: Foto del Robot ARM finito

ne dei servomotori da installare sulle parti

in plastica tramite le viti presenti nelle sca-

tole dei servomotori.

Utilizzando la stampante 3D, occorre

stampare tutti componenti meccanici di

Figura 3. Il file STL è scaricabile dal link a

fine articolo. I componenti vanno stampati

usando del PLA del diametro di 1,75 mm;

il tempo necessario per stampare le parti

che compongono il Robot ARM è di circa

Page 11: Elettronica Maker · 2020-04-22 · Elettronica & Maker n° 13 - 2020 • 5 rupt, al set di istruzioni, e poi al software di sistema, un sistema operativo elementa-re ed i livelli

Elettronica & Maker n° 13 - 2020 • 17

Figura 2: Schema elettrico della scheda di controllo del Robot ARM

Page 12: Elettronica Maker · 2020-04-22 · Elettronica & Maker n° 13 - 2020 • 5 rupt, al set di istruzioni, e poi al software di sistema, un sistema operativo elementa-re ed i livelli

18 • Elettronica & Maker n° 13 - 2020

28 ore e 30 minuti e la lunghezza del PLA

occorrente è di circa 86 metri, risultato che

si ottiene tenendo il Fill Density (densità di

riempimento interna del pezzo) al 20% sul

proprio Software di Slicer.

Finita la stampa dei componenti, siamo

pronti per assemblare il Robot ARM.

Iniziamo dalla base rotante su cui va fissa-

to il primo servomotore MG996R usando le

viti incluse nella confezione del servomo-

tore. Quindi sull'albero del servo va fissata

la base rotante con la squadra tonda.

Ora è possibile montare il servomotore del-

la spalla, sempre un MG996R.

È una buona idea inserire negli appositi

ganci tra base rotante e la spalla una sorta

di molla: nel nostro caso abbiamo usato un

elastico per dare un po' di aiuto al servo

MG996R, perché questo servo porta anche

tutto il peso del resto del braccio come ca-

rico totale. Allo stesso modo si procede a

montare il resto del braccio del robot come

è visibile in Figura 10. Per quanto riguar-

da il meccanismo di presa, abbiamo usato

sette dadi autobloccanti e sette viti da 3

per 25 millimetri. Le viti vanno posiziona-

te come rappresentato in Figura 10 e non

devono essere strette troppo, ma lasciate

libere di ruotare nella loro sede.

Se i cavi dei servomotori sono corti e non

riescono ad arrivare alla base rotante come

visibile in Figura 1, è consigliabile utilizzare

delle prolunghe per servo motori facilmen-

te reperibili online. È opportuno mantenere

il cablaggio ordinato e nelle apposite sedi

come in Figura 1, così da evitare attorci-

Figura 3: Componenti meccanici da realizzare in 3D

Page 13: Elettronica Maker · 2020-04-22 · Elettronica & Maker n° 13 - 2020 • 5 rupt, al set di istruzioni, e poi al software di sistema, un sistema operativo elementa-re ed i livelli

Elettronica & Maker n° 13 - 2020 • 19

gliamenti dei cavi durante la movimenta-

zione del braccio robotico. Nel prossimo

paragrafo descriveremo la realizzazione

della parte elettronica.

REALIZZAZIONE DELLA SCHEDA

Passiamo adesso alla costruzione della

scheda che si propone sufficientemen-

te semplice: la basetta è del tipo doppia

faccia e si prepara a partire della traccia

di Figura 5. Ottenuto il circuito stampato,

montate (seguendo il piano di montaggio

figura 6) i componenti richiesti dall’“Elen-

co componenti”, partendo dalle resisten-

ze R1 e R2, dal diodo D1 e lo zoccolo per

l’integrato IC1, quindi proseguendo con i

condensatori, prima i non polarizzati e poi

gli elettrolitici, e infine con il quarzo Y1, gli

strip, il pulsante S1 e il connettore J8.

Finito il montaggio della scheda, potete

fissare la scheda su una base di nobilitato

30 per 20 centimetri tramite viti autofilet-

tanti da 3 mm, successivamente fissare il

braccio alla base sempre con viti autofi-

lettanti, come visibile in Figura 1. Eseguite

il collegamento dei servocomandi come è

raffigurato in Figura 7.

A questo punto potete passare alla pro-

grammazione del modulo Bluetooth e del

microcontrollore come spiegato nella pros-

sima sezione.

IL FIRMWARE E PROGRAMMAZIONE

DEL HC-06

Il firmware dell’ATMEGA328P è stato scrit-

to in linguaggio C, ambiente di program-

mazione IDE Arduino UNO.

Se siete interessati alla realizzazione di

questo progetto, ecco la procedura da se-

guire per programmare correttamente Ar-

duino con il firmware presente nel file com-

presso fruibile al link a fine articolo.

Figura 4: Scheda dello Smart Robot ARM

Questo è solo un estratto dell'articolo.

Per continuare la lettura,

vieni a conoscerci sul Web: potrai,

visitare il sito, registrarti e scaricare

gratuitamente i numeri completi della

nostra rivista, oltre a poter consultare

molti progetti di applicazione comune.

Ti aspettiamo!

Page 14: Elettronica Maker · 2020-04-22 · Elettronica & Maker n° 13 - 2020 • 5 rupt, al set di istruzioni, e poi al software di sistema, un sistema operativo elementa-re ed i livelli

Il nome e logo Microchip, e il logo Microchip sono marchi industriali registrati di Microchip Technology Incorporated negli U.S.A. e altri Stati. Tutti gli altri marchi industriali appartengono ai rispettivi titolari.© 2019 Microchip Technology Inc. Tutti i diritti riservati. DS30010185A. MEC2229Ita01/19

Più velocità di progettazione con il nostro completo ecosistema Abbiamo ciò di cui hai bisogno, quando ne hai bisogno

Cerchi il percorso più veloce, più semplice e a basso rischio, dal prototipo alla produzione? Microchip ti offre un completo supporto alla progettazione per ogni stadio di avanzamento del tuo progetto, grazie ad un completo ecosistema di sviluppo.

• Realizza rapidamente prototipi con un intuitivo ambiente di progettazione e debug • Avvia rapidamente il tuo progetto con schemi di riferimento e hardware

application-specific • Riduci i rischi con strumenti collaudati e software testato professionalmente

Qualunque siano le tue esigenze, ti offriamo un completo supporto alla progettazione, qualunque sia lo stadio della progettazione.

Avvia subito il tuo sviluppo su www.microchip.com/Ecosystem

Page 15: Elettronica Maker · 2020-04-22 · Elettronica & Maker n° 13 - 2020 • 5 rupt, al set di istruzioni, e poi al software di sistema, un sistema operativo elementa-re ed i livelli

28 • Elettronica & Maker n° 13 - 2020

di Giovanni [email protected]

Sanificatore UV-C perMaschere di Protezione

Il dilagare di questa pandemia ha colto impreparato il Mondo, con tutte le immaginabili conseguenze, tra cui la carenza generalizzata dei più elementari mezzi di protezione, mascherine incluse. Di questi tempi costituiscono un bene raro e prezioso: perché quindi non sanificarle con una fonte di luce battericida? In questo articolo vi spieghiamo il da farsi.

PREMESSA

La redazione di E&M nonché l’Autore pre-

cisano che il contenuto dell’articolo se-

guente ha il puro scopo divulgativo-in-

formativo sulle modalità di realizzazione

veloce di un semplice dispositivo per la

disinfezione, mediante raggi UV, di ma-

scherine e oggetti vari non più classifi-

cabili come “sterili” dopo il primo uso.

Non intende fornire informazioni di tipo sa-

nitario (come quelle relative alle intensità

d’irraggiamento o ai tempi di esposizione)

che sono e restano retaggio della comuni-

tà scientifica competente, alla quale riman-

diamo i lettori che volessero approfondire.

In tal senso, la redazione e l’autore decli-

nano ogni responsabilità, delegando ai let-

tori e a quanti vorranno realizzare questo

dispositivo, l’onere di acquisire le informa-

zioni necessarie e sufficienti a un uso cor-

retto e consapevole del dispositivo stesso.

Page 16: Elettronica Maker · 2020-04-22 · Elettronica & Maker n° 13 - 2020 • 5 rupt, al set di istruzioni, e poi al software di sistema, un sistema operativo elementa-re ed i livelli

Elettronica & Maker n° 13 - 2020 • 29

Mascherina posizionata prima della chiusura del contenitore e dell'inizio del trattamento

La realizzazione di questo progetto è nata

da un’idea che mi è venuta leggendo che

i raggi ultravioletti sono in grado di alte-

rare il dna dei virus e li rendono innocui.

Lo stesso vale per altri microorganismi,

come batteri e protozoi. Perché l’uso de-

gli UV abbia una validità scientifica, oc-

corre conoscere altre informazioni come

l’intensità delle radiazioni UV e il tempo

di esposizione necessario per eliminar-

li. Documentatevi in tal senso. In questi

tempi di isolamento forzato, ho pensato

di riutilizzare la lampada di un vecchio

cancellatore di eprom (Erasable Pro-

grammable Read-Only Memory) che ave-

vo in casa. Questi chip di memoria non

volatile avevano una finestrella di quarzo

fuso per cancellarle esponendole a una

speciale lampada ultravioletta per qual-

che decina di minuti.

LA LAMPADA

Il tempo di esposizione raccomanda-

to per le eprom era di 20-30 minuti con

una lampada UV con lunghezza d’onda

di 253.7 nm con una intensità di almeno

15W/cm2 e alla distanza di circa 2.5 cm.

La lampada del mio cancellatore, mostra-

ta in Figura 1, potrebbe avere caratteristi-

che simili.

Essa è un tubo fluorescente trasparente,

non avendo il rivestimento di fosfori in-

Questo è solo un estratto dell'articolo.

Per continuare la lettura,

vieni a conoscerci sul Web: potrai,

visitare il sito, registrarti e scaricare

gratuitamente i numeri completi della

nostra rivista, oltre a poter consultare

molti progetti di applicazione comune.

Ti aspettiamo!

Page 18: Elettronica Maker · 2020-04-22 · Elettronica & Maker n° 13 - 2020 • 5 rupt, al set di istruzioni, e poi al software di sistema, un sistema operativo elementa-re ed i livelli

34 • Elettronica & Maker n° 13 - 2020

di Roberto Vallini

[email protected]

UN PO' DI STORIA

Nel 1995, John Gage, direttore dello “Scien-

ce Office” di Sun Microsystems insieme a

Marc Andreessen, cofondatore e vicepre-

sidente di Netscape Corporation, annun-

ciarono alla SunWorld™ che Java non era

un mito e che, a breve, Netscape Naviga-

tor avrebbe integrato questa nuova tecno-

logia nel suo web browser. Fino ad allora,

la rete era fatta essenzialmente di numeri,

molto poco funzionale ai cosiddetti utenti

"Home". Serviva qualcosa di semplice, per

dare agli acquirenti di un PC la possibilità

di navigare senza corsi, magari, con diffici-

li manuali da studiare. Si era quindi, giun-

ti ad una tappa fondamentale nella storia

dell’informatica: Java. Nel 1994 nacque un

browser interamente in Java, con il quale

divenne lampante l’idea che avrebbe le-

gato il nuovo linguaggio alla evoluzione

La diffusione sempre più ampia di Arduino ha stimolato i vari progettisti del mondo a ricercare una veste grafica accattivante per le proprie release. Questo accade, ad esempio, nell’ambito delle installazioni artistiche, ma non solo. Nel mio tutorial rivolto ai neofiti dell’elettronica di processo, ci si avvicina, passo dopo passo e con esempi applicativi, all’uso di Processing, un programma che, se sincronizzato con la scheda nata ad Ivrea, può dare risultati  non solo graficamente eccelsi, ma soprattutto personalizzabili.

Processing eArduino

Page 19: Elettronica Maker · 2020-04-22 · Elettronica & Maker n° 13 - 2020 • 5 rupt, al set di istruzioni, e poi al software di sistema, un sistema operativo elementa-re ed i livelli

Elettronica & Maker n° 13 - 2020 • 35

di Internet: le applet, piccole applicazioni

che attraverso un browser potevano esse-

re distribuite ed eseguite come mai prima.

Attraverso accordi di tipo tecnico-com-

merciale con la Netscape Corporation, ed

arrivando ad avere il supporto per le applet

nel Navigator, nel 1995 Sun garantì una ra-

pida diffusione a Java. Netscape Navigator

fu il primo web browser grafico di succes-

so della storia dell'informatica.

Negli anni novanta fu per un periodo il

browser con le percentuali di utilizzo più

elevate; successivamente queste percen-

tuali si ridussero notevolmente fino a far

registrare, nel 2002, la sua quasi scom-

parsa. Seguirono varie vicissitudini, fino

all'avvento di Internet Explorer e di altri

Browser, non di proprietà di Bill Gates,

come Linux/Ubuntu. Occorre evidenzia-

re che esistono due denominazioni, cor-

rispondenti ad altrettante tipologie: una

Java e l’altra Javascript. Spesso vengono

confuse. Nell’ambito della programmazio-

ne, le differenze tra questi due linguag-

gi sono però molteplici. Una la possiamo

certamente trovare nell’utilizzo che se ne

può fare. Java di per sé è un linguaggio di

programmazione definito “orientato verso

gli oggetti”. Attraverso di esso è possibile

creare diversi programmi per il computer.

Invece Javascript, nonostante sia a sua

volta un linguaggio della stessa tipologia

di Java, può essere utilizzato solamente

per la creazione di alcuni script nelle pa-

gine web sviluppate con linguaggio Html.

L'ambiente di sviluppo integrato (IDE) di

Arduino è un'applicazione multi-piattafor-

ma in Java, ed è derivata dall'IDE creato

per il linguaggio di programmazione Pro-

cessing e per il progetto Wiring.

Page 20: Elettronica Maker · 2020-04-22 · Elettronica & Maker n° 13 - 2020 • 5 rupt, al set di istruzioni, e poi al software di sistema, un sistema operativo elementa-re ed i livelli

36 • Elettronica & Maker n° 13 - 2020

È stata creata da Massimo Banzi, David

Cuartielles, Tom Igoe, Gianluca Martino

e David Mellis, per iniziare alla program-

mazione i neofiti e chiunque fosse digiuno

nella pratica dello sviluppo di software.

Per permettere la stesura del codice sor-

gente, l'IDE include un editore di testo

dotato, tra l’altro, di alcune particolarità

come il "syntax highlighting", il controllo

delle parentesi e l'indentazione automati-

ca. L'editor è inoltre in grado di compila-

re e caricare sulla scheda Arduino il pro-

gramma eseguibile.

L'ambiente di sviluppo integrato di Ardu-

ino è fornito di una libreria software C/

C++, chiamata "Wiring" (dall'omonimo

progetto Wiring): la disponibilità della li-

breria rende molto più semplice imple-

mentare via software le comuni operazio-

ni di input/output. I programmi di Arduino

sono scritti in linguaggio derivato dal C/

C++, ma l'utilizzatore, per poter creare un

file eseguibile, è facilitato dalla presenza

di librerie già pronte, algoritmi, chiamati

Sketch, facilmente fruibili su piattaforme

open source, che gli permettono di rea-

lizzare velocemente i propri progetti har-

dware. Molti di quest’ultimi, realizzati con

Arduino, richiedono una visualizzazione

grafica. Questo solitamente avviene tra-

mite comunicazione attraverso la porta

seriale la quale, mediante il comando ap-

posito sull’IDE, apre una nuova finestra

che può essere il serial monitor oppure,

a seconda della release, il serial plotter.

Ma se volessimo visualizzare i dati prove-

nienti da una nostra console?

Magari costruita con sensori di vario tipo?

Poniamo ad esempio un semplice poten-

ziometro, oppure una foto-resistenza, o

altri input di diversa origine.

Programmatori, maker, “smanettoni”, o

addirittura artisti, i quali desiderassero

incorporare facilmente i dati delle proprie

release, sarebbero molto più soddisfatti

nel vedere in tempo reale degli effetti gra-

fici del tutto superiori a quelli del Serial

Monitor di Arduino.

Questi ultimi, otterrebbero così, una visio-

ne, ancora più chiara e leggibile, come la

variazione di una tensione la quale, diver-

rebbe, sicuramente, più interessante.

PANORAMICA

Una breve introduzione al software di

elaborazione.

Negli ultimi sedici anni, Processing, che

di fatto è una Fondazione, ha promosso

l'alfabetizzazione del software.

Questo processo è avvenuto nell'ambi-

to delle arti visive e nella diffusione vi-

siva all'interno della tecnologia elettro-

nica. Inizialmente creato per fungere da

sketch-book software e per insegnare le

basi della programmazione in un contesto

visivo, Processing si è evoluto anche in

uno strumento di sviluppo per i professio-

nisti. Il software di elaborazione è gratuito

è open source e funziona su piattaforme

Mac, Windows e GNU/Linux.

Page 21: Elettronica Maker · 2020-04-22 · Elettronica & Maker n° 13 - 2020 • 5 rupt, al set di istruzioni, e poi al software di sistema, un sistema operativo elementa-re ed i livelli

Elettronica & Maker n° 13 - 2020 • 37

L'elaborazione continua ad essere un'al-

ternativa agli strumenti software pro-

prietari con licenze costose, rendendola

accessibile a scuole e singoli studenti.

Il suo stato open source incoraggia la

partecipazione e la collaborazione della

comunità che è vitale per la crescita di

Processing. I collaboratori condividono

programmi, contribuiscono con il codice

e creano librerie, strumenti e modalità per

estendere le possibilità del software.

La comunità di elaborazione ha scritto

più di cento librerie per facilitare la visio-

ne computerizzata, la visualizzazione dei

dati, la composizione musicale, il networ-

king, l'esportazione di file 3D e l'elettroni-

ca di programmazione. In Figura 3 trovate

un esempio di visualizzazione delle varia-

zioni di resistenza di un potenziometro.

PRIMI PASSI NECESSARI

Innanzitutto, per chi non lo avesse già sul

proprio PC, è necessario scaricare l'IDE

di Arduino. Andando sul sito ufficiale del-

la scheda che sta spopolando, troverete

la versione idonea al vostro sistema ope-

rativo, sia che si tratti di Linux 32- 64 bit

-Linux ARM -Linux ARM 64, Mac OS X,

oppure Windows, qui troverete la versio-

ne idonea al vostro sistema. Il link è il n°2.

Vi consiglio di scegliere una versione suc-

cessiva alla 1.6.XX, visto che è dotata di

alcune funzionalità accessorie utili ai pro-

getti che andrò ad illustrare. Successiva-

mente andremo a fare la medesima opera-

zione con Processing, il quale si presenta,

graficamente, in maniera molto simile alla

release nata a Ivrea. Il link per il Download

è il Link 1. Anche in questo caso, dovrete

selezionare la versione idonea al sistema

installato sul PC del vostro laboratorio.

Figura 1: Schermata di Processing

Questo è solo un estratto dell'articolo.

Per continuare la lettura,

vieni a conoscerci sul Web: potrai,

visitare il sito, registrarti e scaricare

gratuitamente i numeri completi della

nostra rivista, oltre a poter consultare

molti progetti di applicazione comune.

Ti aspettiamo!

Page 22: Elettronica Maker · 2020-04-22 · Elettronica & Maker n° 13 - 2020 • 5 rupt, al set di istruzioni, e poi al software di sistema, un sistema operativo elementa-re ed i livelli

46 • Elettronica & Maker n° 13 - 2020

Il microcontrollore ATtiny85 ha 8k di me-

moria FLASH, 512 byte di RAM e altret-

tanti di EEPROM, 6 bit di I/O configurabili

in vari modi, tra cui 4 canali analogici a 10

bit, 2 uscite PWM, interfaccia seriale, etc.

Questo interessante piccolo microcon-

trollore ha 8 pin di cui la Figura 1 mostra i

collegamenti. Il pin 1 è destinato al reset,

anche se può fare altre cose, il pin 4 e 8

sono rispettivamente la massa e la Vcc di

alimentazione.

Rimangono 5 pin multifunzionali, come

evidenziato anche in Tabella 1.

Il chip ATtiny85 ha quattro ingressi ana-

logici e un comparatore, come si evince

dalla Tabella 2 nell'articolo.

In realtà esiste anche un quinto canale

ADC4 che legge il sensore di temperatura

del chip, ma questo è accessibile solo con

programmazione specifica.

I pin AIN0 e AIN1 sono utilizzabili come

Realizziamo un economico e semplice voltmetro digitale unipolare con un ATtiny85 e un modulo display a LED con TM1637. Questo strumento ha un fondoscala che si può adattare meglio alle nostre applicazioni ottenendo una migliore risoluzione.

di Giovanni Carrera

[email protected]

Un Voltmetrocon ATtiny85

Figura 1: Collegamenti del microcontrollore

Page 23: Elettronica Maker · 2020-04-22 · Elettronica & Maker n° 13 - 2020 • 5 rupt, al set di istruzioni, e poi al software di sistema, un sistema operativo elementa-re ed i livelli

Elettronica & Maker n° 13 - 2020 • 47

nominazioni dei pin usa-

ti come digitali da quelli

usati come ingressi ana-

logici, ad esempio il pin 7

di ATtiny85 se usato come

digitale è 2 mentre se usa-

to come ADC1 è 1.

Quindi, per evitare pro-

blemi causati da numeri

uguali, non si possono de-

finire delle assegnazioni

ma inserire la costante ‘1’

direttamente:

val = analogRead(1);

LA PROGRAMMAZIONE

Esistono anche dei piccoli moduli AT-

tiny85 con interfaccia USB e boot-loader,

che rendono più facile lo sviluppo e la

programmazione ma lo spazio della me-

moria flash, già molto ridotto, si riduce a

circa 5,2 k come anche i pin di I/O utiliz-

zabili. Per cui ho preferito usare il chip

e programmarlo via ISP (In-System-Pro-

grammer), allo stesso modo usato per

Il prototipo con il circuito di programmazione

Tabella 1

comparatore analogico ma non sono sup-

portati dalla libreria su Arduino. Il pin ADC0

è usato come reset. Per l’ingresso analo-

gico ho usato ADC1 (pin 7 di ATtiny85).

Nelle prime prove del programma si leg-

geva sempre zero, ossia sembra che la

funzione analogRead() non dia risultati,

almeno sul canale ADC1. Guardando sui

vari forum su internet e i sorgenti dei pro-

grammi, ho visto che sono distinte le de-

Page 24: Elettronica Maker · 2020-04-22 · Elettronica & Maker n° 13 - 2020 • 5 rupt, al set di istruzioni, e poi al software di sistema, un sistema operativo elementa-re ed i livelli

48 • Elettronica & Maker n° 13 - 2020

caricare il boot-loader su un chip vergine

di ATmega328.

Questo lo si può fare usando una scheda

Arduino Uno/Nano, appositamente pro-

grammata, oppure un economico e molto

compatto programmatore ISP tipo quello

illustrato in Figura 2.

In questo articolo descrivo come utiliz-

zare questa seconda soluzione. Per chi

volesse usare la prima, negli esempi

dell’IDE si trova il programma ArduinoI-

SP e in rete si trovano numerosi tutorial

per programmare con Arduino.

IL MODULO POLOLU AVR

PROGRAMMER

Per sviluppare i programmi e per pro-

grammarlo ho usato la IDE di Arduino,

dopo aver aggiunto la libreria per gestire

questo microcontrollore, come descri-

verò più avanti. Occorre prima scaricare

dal sito Pololu il programma di configu-

razione con i driver.

Una volta che Windows lo ha installato,

ho fatto girare il programma “Pololu AVR

programmer v2 Configuration Utility” e

ho abilitato la tensione in uscita (VCC

output) a 5V (Regulator mode), come si

vede dalla schermata di Figura 3. Nel mio

caso la “Programming port” è la COM29

e devo stare attento che

questa sia selezionata

nella IDE. Per program-

mare il chip e per svi-

luppare diverse appli-

cazioni ho realizzato un

semplice circuito, il cui

schema è visibile in Fi-

gura 4.

La foto del prototipo è

mostrata in Figura 5. Si

noti il connettore a 6 pin

per la programmazione.

Il programma di test è il

classico led blink.

Tabella 2

Figura 2

Page 25: Elettronica Maker · 2020-04-22 · Elettronica & Maker n° 13 - 2020 • 5 rupt, al set di istruzioni, e poi al software di sistema, un sistema operativo elementa-re ed i livelli

https://raw.githubusercontent.com/da-

mellis/attiny/ide-1.6.x-boards-manager/

package_damellis_attiny_index.json

Una volta fatto questo, nel menu ‘Stru-

menti/Scheda’, selezionare la scheda ‘AT-

tiny25/45/85’ e il processore ‘ATtiny85’.

byte ledpin = 3;//il led è

sul pin 2 di ATtiny85

void setup() {

pinMode(ledpin, OUTPUT);

}

void loop() {

//led on-off ogni mezzo se-

condo

delay(500);

digitalWrite(ledpin,

HIGH);

delay(500);

digitalWrite(ledpin, LOW);

}

Il led è collegato al pin 2 se metto un

ponticello tra i pin 4 e 5 di J2.

Il chip ATtiny85 non fa parte della libreria

di Arduino, quindi occorre aggiungere la

scheda dal menu ‘File/Impostazioni’ occor-

re, nella voce ‘URL aggiuntive per il Gesto-

re schede’ e immettere il seguente link:

Figura 4

Figura 3

Questo è solo un estratto dell'articolo.

Per continuare la lettura,

vieni a conoscerci sul Web: potrai,

visitare il sito, registrarti e scaricare

gratuitamente i numeri completi della

nostra rivista, oltre a poter consultare

molti progetti di applicazione comune.

Ti aspettiamo!

Page 26: Elettronica Maker · 2020-04-22 · Elettronica & Maker n° 13 - 2020 • 5 rupt, al set di istruzioni, e poi al software di sistema, un sistema operativo elementa-re ed i livelli

56 • Elettronica & Maker n° 13 - 2020

Oggi l'architettura Arm domina gli ambiti dell’ elaborazione dati e del settore embedded. Negli ultimi decenni ha fatto molta strada, iniziando negli anni '80 sotto forma di processore per computer di casa, per poi diventare, negli anni '90, la base dei telefoni cellulari

Oggi sono pochi i segmenti tecnologici

di mercato in cui Arm non rappresenti

un contendente serio. In molti settori si è

affermato come la scelta numero uno per

l'elaborazione a 32 o 64 bit. Grazie a que-

sta proliferazione, ora ci sono migliaia di

varianti basate sull'architettura Arm. Com-

prendere come questi core differiscano

l'uno dall'altro è una parte importante del

processo di selezione.

È stato nel 2004, alla creazione delle pri-

me famiglie Cortex, che si è visto divergere

l'architettura Arm in tre gruppi di prodotti

principali, ciascuno destinato a un diverso

tipo di applicazione. Il primo a passare al

silicio è stato il Cortex-M, che è diventato il

pilastro dell'ecosistema di microcontrollori

basati su Arm (MCU). Sebbene la famiglia

Cortex-M abbia debuttato con core basati

su un'architettura in versione 7, le edizioni

Conoscerei Core Arm

di Mark Patrick

Mouser Electronics

Page 27: Elettronica Maker · 2020-04-22 · Elettronica & Maker n° 13 - 2020 • 5 rupt, al set di istruzioni, e poi al software di sistema, un sistema operativo elementa-re ed i livelli

Elettronica & Maker n° 13 - 2020 • 57

aggiunte successivamente, rivolte a dispo-

sitivi a basso costo (ovvero M0, M0 + e M1),

si basavano sull'architettura precedente in

versione 6. Tutti i processori Cortex-M ese-

guono solo il set di istruzioni Thumb.

Le altre due famiglie sono state proget-

tate per supportare sia il set di istruzioni

Thumb sia il Full A32.Sin dal suo lancio,

Cortex-M3 ha visto l'adozione da parte di

molti rivenditori MCU, aiutandoli a definire

le loro offerte di prodotti a 32 bit. Gli esem-

pi ora disponibili includono MCU relativa-

mente semplici ma altamente convenienti,

come i Silicon Labs EFM Tiny Gecko, de-

stinati ai sistemi low-power, e il PSoC5 sy-

stem-on-chip di Cypress Semiconductor,

che combina periferiche MCU tradizionali

con funzioni analogiche programmabili, al-

tamente flessibili. Nel momento in cui le

applicazioni per MCU hanno iniziato a ri-

chiedere prestazioni superiori per l'elabo-

razione digitale del segnale (DSP), Arm ha

risposto con il Cortex-M4. Quest'ultimo ha

fornito l'opzione del supporto del calcolo

con virgola mobile, che molti fornitori han-

no abbracciato calorosamente. Una confi-

gurazione piuttosto comune consiste nel

combinare il core del potente Cortex-M4F

con i più semplici Cortex-M0 o Cortex-M0+

– che si presentano agli utenti con una ge-

stione estremamente efficace dei consumi

e un'allocazione efficiente delle risorse.

Nei dispositivi quali il Cypress PSoC6 o

l’NXP LPC5411x, il core M0+ può gestire

gli interrupt, lasciando gli M4 o M4F liberi

Evoluzione della famiglia Arm Cortex

Page 28: Elettronica Maker · 2020-04-22 · Elettronica & Maker n° 13 - 2020 • 5 rupt, al set di istruzioni, e poi al software di sistema, un sistema operativo elementa-re ed i livelli

58 • Elettronica & Maker n° 13 - 2020

nologia proprietaria dell'acceleratore ART

(la quale consente l'esecuzione di calcoli

in condizione zero-wait-state dalla memo-

ria Flash).

CORTEX-A

Nel 2005, Arm ha lanciato il primo membro

della famiglia Cortex-A, uno che ha ricono-

sciuto la natura mutevole del business dei

telefoni cellulari mentre si spostava verso

smartphone e tablet. Cortex-A è stato pro-

gettato per fornire una serie di funzionalità

personalizzate per i processori di applica-

zioni. Ha anche spianato la strada per l'im-

plementazione del core Arm nei server e in

altri sistemi di elaborazione di fascia alta.

Una grande differenza tra i processori Cor-

tex-A e quelli di altre famiglie è il supporto

per un'unità di gestione della memoria pa-

ginata (MMU). Una MMU è necessaria per

Linux e sistemi operativi simili, in quanto

fornisce la possibilità di mappare nella me-

di gestire i task DSP senza alcuna interru-

zione, massimizzando così il throughput.

Questa divisione di responsabilità con-

sente anche al più potente core dell’M4 di

rimanere in condizione sleep per intervalli

di tempo più prolungati tra i vari burst di

attività. Durante i periodi di attività relativa-

mente più modesta, il dispositivo a consu-

mo ridotto M0+ può prendersi carico della

gestione dei task di sistema più semplici.

Nel 2014, Arm ha spinto a un livello supe-

riore le prestazioni del Cortex-M con il lan-

cio dell’M7. Questo core vanta una pipeline

superscalare a sei stadi con il supporto del

completamento in fuori servizio e si avvan-

taggia della presenza di un'unità a virgola

mobile. L’STM32F730x8 realizzato da ST-

Microelectronics combina un core M7 con

un'ampia varietà di periferiche e con la tec-

Figura 1: EFM Tiny Gecko di Silicon Labs.

Page 29: Elettronica Maker · 2020-04-22 · Elettronica & Maker n° 13 - 2020 • 5 rupt, al set di istruzioni, e poi al software di sistema, un sistema operativo elementa-re ed i livelli

Elettronica & Maker n° 13 - 2020 • 59

istruzioni contemporaneamente in esecu-

zione fuori-servizio, il ché semplifica la pia-

nificazione ottenendo la massima efficien-

za.

La seconda grande innovazione della fa-

miglia Cortex-A, introdotta nel 2011, è rap-

presentata dal framework big.LITTLE. Ciò

rispecchia l'accoppiamento di diversi core

Cortex-M che hanno accompagnato l'in-

troduzione di M4 ma nello spazio dell'ap-

plicazione del processore e con ulteriori

miglioramenti che supportano le esigenze

dei processori di applicazione.

Con big.LITTLE, Arm ha adottato l'approc-

cio di combinare core di fascia bassa (come

A5 o A7) con implementazioni ad alte pre-

stazioni, spesso superscalari. Ogniqual-

moria reale i programmi e i rispettivi dati in

spazi ad indirizzo virtuale diversi.

Ciò fornisce un certo grado di protezione

dalla possibilità che i dati utilizzati da più

task diversi si possano corrompere, oltre a

consentire la gestione della memoria fisica

come se fosse una cache di grandi dimen-

sioni. Inoltre, evita i problemi causati dalla

frammentazione della memoria, poiché i

programmi vengono caricati e scaricati in

modo dinamico. Un potenziale svantaggio

con l'uso di indirizzi di paging virtuali è che

interferiscono con il funzionamento in tem-

po-reale, quindi la MMU viene utilizzata nei

processori Cortex-A ma non nelle famiglie

con una più forte vocazione all’utilizzo sui

sistemi embedded. Un'innovazione chiave

dell'architettura Cortex-A, dal suo inizio,

è stata TrustZone. Questa implementa un

livello di sicurezza rinforzato median-

te hardware che, in mancanza del-

le credenziali di sicurezza richieste,

consente a un hypervisor di negare a

qualsiasi attività l'accesso a parti del

processore e della memoria.

TrustZone inserisce operazioni critto-

grafiche e altre operazioni sensibili in

un processore virtuale protetto da un

firewall hardware.

In termini di core, la gamma si estende

dal relativamente semplice Cortex-A5

fino ai processori superscalari ad alte

prestazioni, come il Cortex-A72. Ciò

combina la capacità di emettere tre Figura 2: Il PSoC6 di Cypress.

Page 30: Elettronica Maker · 2020-04-22 · Elettronica & Maker n° 13 - 2020 • 5 rupt, al set di istruzioni, e poi al software di sistema, un sistema operativo elementa-re ed i livelli

60 • Elettronica & Maker n° 13 - 2020

una routine di interrupt di servizio o da un

task in tempo reale. La famiglia Cortex-R

risolve questo problema con il suo suppor-

to per banchi di memoria Tightly Coupled

Memory (TCM).

In questo modo è possibile archiviare in-

formazioni critiche durante il funzionamen-

to e, essendo gestiti dal software, si evita

il rischio che istruzioni e dati vengano so-

stituiti da un sottosistema di gestione della

memoria cache.

Dall'introduzione del Cortex-R4 originale,

la famiglia si è evoluta. I core Cortex-R5 e

R7 erano dotati di porte periferiche a bas-

sa latenza. La maggior parte dei core sono

progettati per funzionare con un bus on-

chip, come il bus hardware Arm (AHB) o,

nei core più recenti, il framework AXI (Ad-

vanced eXtensible Interface).

La porta a bassa latenza collega il core di-

rettamente alle periferiche importanti, for-

nendo l'accesso senza dover arbitrare per

l’uso del bus o attendere il completamento

di altre attività di accesso al bus stesso.

Per supportare un funzionamento altamen-

te affidabile, le cache, i TCM e i bus di si-

stema sui prodotti Cortex-R possono uti-

lizzare la codifica di correzione degli errori

per correggere in modo trasparente errori

a singolo bit e rilevare errori a doppio bit.

Poiché la ridondanza modulare è una parte

fondamentale dei sistemi critici per la sicu-

rezza, i core della famiglia Cortex-R sono

progettati per essere in grado di funziona-

re in modo sincronizzato con delle copie.

volta è possibile, il sistema operativo tenta

di mantenere attivo a bassa energia il solo

processore, il più a lungo possibile, per poi

attivare il core di potenza superiore quan-

do il carico di lavoro supera una determi-

nata soglia.

Contrariamente alle architetture dual-core

convenzionali, i task possono migrare da

un processore a un altro a seconda delle

condizioni del sistema. Con l’aumentare

della domanda di prestazioni, un numero

sempre crescente di implementazioni Cor-

tex-A ruota attorno all'uso di quattro core

di fascia alta in un complesso di processo-

ri. Questa disposizione consente di rispar-

miare energia disattivando uno o più core

durante i periodi di pausa della domanda.

CORTEX-R

La terza grande famiglia Arm, la Cortex-R,

ha fornito un percorso per supportare una

nuova generazione di complessi sistemi

automotive e cyber-fisici attraverso l'im-

piego di funzionalità real-time altamente

affidabili. La necessità di prestazioni de-

terministiche nelle applicazioni di destina-

zione significa che l’impiego delle memorie

cache, che vengono spesso utilizzate per

accelerare l'elaborazione in altri processori

Arm, non è sempre consigliabile.

Poiché una cache sostituisce in modo di-

namico istruzioni e valori di dati con le voci

utilizzate più di recente, esiste la possibilità

che le informazioni critiche non siano pre-

senti nella cache quando sono richieste da

Page 31: Elettronica Maker · 2020-04-22 · Elettronica & Maker n° 13 - 2020 • 5 rupt, al set di istruzioni, e poi al software di sistema, un sistema operativo elementa-re ed i livelli

Elettronica & Maker n° 13 - 2020 • 61

Se un monitor su chip rileva una differenza

in uscita, può segnalare l’esistenza di un

problema in modo che il software possa

intraprendere le opportune azioni corretti-

ve. Un esempio della famiglia Cortex-R at-

tualmente in produzione è la serie di MCU

Cypress Traveo S6J33xx. Questa accoppia

il core Cortex-R5F, che funziona fino a 240

MHz, con periferiche ottimizzate per il pilo-

taggio di gruppi di strumenti nei cruscotti

automotive.

ARM V8

Una seconda serie di modifiche all'offerta

core di Arm è arrivata nel 2011, con la cre-

azione dell'architettura versione 8, che ha

aggiunto la possibilità di far funzionare le

applicazioni in modalità 64-bit, ampliando

notevolmente lo spazio di memoria massi-

ma indirizzabile per i processori di applica-

zioni. I processori Arm v8 con funzionalità

a 64 bit hanno la capacità di funzionare in

modalità a 32 o 64 bit. La prima fornisce

la compatibilità con le versioni precedenti,

per le applicazioni scritte per i processori in

versione 7. A causa della loro destinazione

alle applicazioni MCU, i processori in ver-

sione 8 della famiglia Cortex-M non sup-

portano l'indirizzamento a 64 bit. Tuttavia,

offrono una serie di istruzioni e funzionalità

aggiuntive che aumentano le prestazioni e

migliorano la sicurezza di funzionamento.

Un miglioramento significativo è stato dato

dalla rielaborazione dell’unità di protezio-

ne della memoria (MPU), consentendo una

gestione più flessibile delle aree. Un altro

Figura 3: Esempio di MCU SAML11 di Microchip.

Questo è solo un estratto dell'articolo.

Per continuare la lettura,

vieni a conoscerci sul Web: potrai,

visitare il sito, registrarti e scaricare

gratuitamente i numeri completi della

nostra rivista, oltre a poter consultare

molti progetti di applicazione comune.

Ti aspettiamo!

Page 33: Elettronica Maker · 2020-04-22 · Elettronica & Maker n° 13 - 2020 • 5 rupt, al set di istruzioni, e poi al software di sistema, un sistema operativo elementa-re ed i livelli

Hai la passione dell'elettronica e della

sperimentazione?

Ti senti anche piuttosto portato a

"mettere nero su bianco" i tuoi progetti

ed esperimenti in forma chiara e

comprensibile? Ti piacerebbe pubblicare un

tuo articolo su queste pagine e sul sito web

di EM?

Scrivi a

[email protected]

indicando i tuoi campi d'interesse e

allegando un elaborato sull'argomento

d'elettronica preferito: ci risentiremo!

Page 34: Elettronica Maker · 2020-04-22 · Elettronica & Maker n° 13 - 2020 • 5 rupt, al set di istruzioni, e poi al software di sistema, un sistema operativo elementa-re ed i livelli

DIRETTORE

Roberto Armani

Art Director

Shylock-58

Hanno collaborato a questo

numero:

Giuseppe La Rosa

Mark Patrick, Roberto Vallini,

Giovanni Carrera, Mario Rotigni

AVVERTENZE

Chiunque decida di fare uso

delle nozioni riportate in questi

articoli o decida di realizzare

i circuiti esposti, è tenuto a

prestare la massima attenzione

in osservanza alle normative

in vigore sulla sicurezza. Gli

Autori di Elettronica&Maker

sopracitati, che hanno collaborato

alla realizzazione degli articoli

pubblicati in questo numero,

declinano ogni responsabilità

per eventuali danni causati a

persone, animali o cose derivante

dall'utilizzo diretto o indiretto del

materiale, dei dispositivi o del

software presentati. Si avverte

inoltre che quanto riportato

negli articoli viene fornito così

com'è, a solo scopo hobbistico,

senza garanzia alcuna di

correttezza e di funzionamento

certo. L'editore e gli autori

ringraziano anticipatamente per

la segnalazione di ogni eventuale

errore.

Su Elettronica & Maker

Elettronica & Maker è una

testata pubblicata in formato

esclusivamente elettronico, in

formato portable sfogliabile

elettronicamente, diffusa

esclusivamente per via telematica,

non soggetta all'obbligo di

registrazione presso il Tribunale,

su sito web https://www.

elettronicaemaker.it ed in fné al

R.O.C. né agli obblighi dell'AgCom

n° 666/08 del 26/11/08, a fronte

del D.L. n° 63 del 18 Maggio

2012.

© Copyright

Tutti i diritti di riproduzione o di

traduzione degli articoli pubblicati

sono riservati. Manoscritti, disegni

e fotografie sono di proprietà di

E&M

È vietata la riproduzione anche

parziale degli articoli salvo

espressa autorizzazione scritta

dell’editore. I contenuti pubblicitari

sono riportati senza responsabilità,

a puro titolo informativo.

Collaborare con

Elettronica & Maker

Le richieste di collaborazione

vanno indirizzate all’attenzione

di Roberto Armani (r.armani@

elettronicaemaker.it e

accompagnate, se possibile,

da una breve descrizione delle

vostre competenze tecniche e/o

editoriali, oltre che da un elenco

degli argomenti e/o progetti che

desiderate proporre.

ElettronicaMaker&