Martedì, 12 Marzo 2019 08:55

Appunti su Arduino e Raspberry

Scritto da

Cosa sono Arduino e Raspberry? Cosa mi serve sapere di questo mondo? Questo articolo vuole essere un piccolo riassunto utile agli alunni del quinto anno che devono preparare l'esame di stato con una traccia di sistemi e reti e che potrebbero trovarsi a progettare delle soluzioni che utilizzano queste tecnologie.

Cerchiamo di essere brevi, semplificando il più possibile. Mi perdoneranno gli elettronici o i "maker" esperti se banalizzo alcuni concetti per dare poche e semplici nozioni scolastiche.

Ardruino

Arduino è una basetta programmabile. Grande più o meno come uno smartphone di ultima generazione, contiene un micro-controllore, ovvero un processore molto semplificato in genere della famiglia ATmega o ATmel, con prestazioni decisamente basse rispetto a quello a cui siamo abituati a leggere sui nostri pc o smartphone: parliamo di frequenze del processore intorno ai 100MHz e memorie intorno ai 128/512 KByte. Ma è inutilizzabile, penserete ma queste caratteristiche sono assolutamente adeguate per controllare un braccio robotico, un macchinario industriale tipo pressa o qualche altro genere di movimento ripetitivo, una stampante 3D o stampante serigrafica, piuttosto che qualche tornio o persino le spazzole rotanti della lavastoviglie con i suoi semplici programmi di lavaggio.

1024px-Arduinouno

Le applicazioni sono pressoché infinite. La basetta infatti può essere usata per sperimentare svariate soluzioni. Assieme al cpu e ram, abbiamo una porta USB e una porta Ethernet. A seconda delle versioni, ci possono essere prese usb o microusb, schede ethernet o fastethernet. Un hardware semplice ma dal consumo energetico ridicolo: la basetta si può alimentare con una semplice pila AA da 1,5Volt! In alternativa col cavo usb o la presa di alimentazione. Esistono versioni di arduino molto piccole o con prestazioni leggermente diversificate o superiori, alcune anche indossabili. Con una stampate 3D si può stampare anche un piccolo case di plastica per tenerlo all'aperto. Quello in foto è un Arduino originale, ideato e sviluppato in Italia (sito ufficiale) ma ne esistono "compatibili", quelle che al bar diremmo "le versioni cinesi". Essendo, infatti, il progetto opensource, qualsiasi azienda può vedere le specifiche tecniche e creare una basetta con un hardware simile o superiore vendendo però il prodotto ad un prezzo diverso se non inferiore. Per avere un'idea, Arduino originale costa intorno ai 18 euro, versioni compatibili come Elegoo o altre possono costare anche 3/5 euro! Su arduino, possiamo caricare i nostri software scritti in un ambiente simile al C/C++ che è scaricabile dal sito ufficiale ed è compatibile con tutti gli arduino originali e non. Ma cosa ci possiamo programmare ovvero fare con questa basetta e il relativo software? Esistono una varietà enorme di sensori che possono essere collegati ad arduino con dei pin che si trovano al lato, alcuni pilotano un segnale digitare, altri pilotano un segnale per applicazioni analogiche. Se ai pin digitali colleghiamo ad esempio con cavetti e resistenze dei led, possiamo far accendere e spegnere questo led con un programmino semplice che poi carichiamo sulla basetta. Se colleghiamo più led visto che i pin sono molti possiamo creare giochi di luci led addirittura, una serie di semafori sincronizzati e così via. Altri sensori utili sono ad esempio i rilevatori di fumo, i sensori di movimento, i sensori di distanza, i sensori di luminosità, i sensori di umidità, i sensori di urto, i sensori di variazione magnetica e molti altri. In base ai dati raccolti dai sensori collegati al nostro arduino, il programma che scriviamo può gestire queste informazioni per eseguire azioni in cascata. Ad esempio, se il rilevatore di fumo manda un segnale di presenza fumo alla nostra basetta, la basetta a sua volta potrebbe pilotare un motore detto "servo" per spalancare una finestra o la porta, accendere un "buzzer" di allarme e dei led rossi di emergenza. I "servo" o attuatori sono i classici motorini dei bracci robotici: capaci di effettuare un movimento in un range/angolo particolare e restare fermi e saldi nella posizione che raggiungono fornendo un feedback della loro posizione. Sono molto particolari perché possono essere pilotati fornendo loro l'angolo che devono formare. Esistono altri motorini detti passo passo, questi sono i classici motorini da mettere ad esempio su un veicolo perché hanno la capacità di regolare la velocità, aumentandola o diminuendola, secondo il software che li gestisce al contrario dei servo che hanno una velocità preimpostata. Esistono in commercio anche kit con più pezzi molto economici con cui sperimentare diverse applicazioni .

61KCeb7m0oL

Uno dei sensori più interessanti e dia attualità sono i sensori RFID che vale la pena approfondire con qualche riga in più. Piccole e sottili spirali metalliche che possiamo vedere ad esempio negli indumenti che acquistiamo al Decathlon o che possono essere facilmente attaccate sui pacchi con dei semplici adesivi. Sono dei ricetrasmettitori radio e comunicano delle brevi informazioni ad una stazione ricevente. In genere è possibile associare ad un tag rfid un identificatore univoco di un articolo, così come alla Decathlon, dove buttando l'articolo nel cesto della cassa, il ricetrasmettitore legge l'identificatore e segnala quindi alla cassa che articolo abbiamo inserito in modo che la cassa stessa possa recuperare le informazioni di prezzo e gestire in cascata l'approvvigionamento del negozio, la fatturazione e altro in modo automatizzato. RFID ormai li troviamo negli armadietti della palestra, nelle tessere che ci danno come chiave negli alberghi, nella accensione delle auto moderne dove si preme start senza di fatto girare una chiave fisica. E' una tecnologia interessante che abbiamo già nei nostri cellulari: il famoso NFC altro non è che un particolare sistema di sicurezza basato sulla tecnologia RFID. Del resto funziona avvicinando il nostro smartphone entro 10 cm dal lettore del negozio. E' un pochino più complesso, senza scendere nei dettagli, crea una comunicazione biderezionale rispetto allo RFID tradizionale permettendo quindi delle misure di sicurezza e di prestazioni differenti per emulare la nostra carta di credito con i lettori POS abilitati.

Altro elemento di interesse che possiamo collegare con una basetta Arduino sono i famosi relè. In realtà, li troviamo già da tempo nelle nostre case. Vi siete chiesti come sia possibile che in una stanza con due interruttori uno accenda e l'altro in automatico spenga la luce? Beh è proprio grazie a questo congegno. L'idea di applicare dei relè collegati ad Arduino diventa vincente nella casa domotica del futuro. Con un arduino opportunamente collegato alla rete con una scheda di rete ethernet o wifi (ci sono degli shield su misura), potremmo comandare arduino che attiva o disattiva un relè a cui possiamo collegare di tutto: una luce, una lampada, una macchinetta del caffè, possiamo azionare un qualsiasi circuito elettrico che accenda o spenga un elettrodomestico o controllare da remoto, magari con uno smartphone o un pc, se abbiamo lasciato accesa la lavatrice o il forno e quindi spegnerlo!

 Il lettore potrà immaginare come la combinazione di tecnologie come RFID possano pilotare attraverso Arduino attuatori per aprire porte, relè per accendere luci, eseguire operazioni meccaniche che spostano oggetti o inviano comunicazioni ad altri congegni o sistemi tra server, database o software realizzati su misura. Applicazione infinite che si possono approfondire studiando i temi concernenti la domotica.

RaspBerry

Ce ne siamo già occupati in questa categoria del nostro sito dove pubblicheremo anche delle esercitazioni. Cosa sapere in particolare in questo post di confronto con Arduino? Ha dimensioni e consumi leggermente superiori, un sistema di pin detti GPIO praticamente uguali a cui possiamo collegare gli stessi sensori. La differenza fondamentale: Arduino ha una cpu, o meglio, microcontrollore dalle prestazioni esigue, RaspBerry ha una CPU "general purpose" come quella dei nostri pc di casa (meglio dei nostri smartphone visto che è una tecnologia ARM) e quindi RaspBerry è a tutti gli effetti un mini pc. La versione RaspBerry B+ ha un processore a 1.4GHz 64-bit quad-core, dual-band wireless LAN, Bluetooth 4.2/BLE, Gigabit Ethernet, Power-over-Ethernet, 5 porte USB, 1 GB di RAM DDR2, scheda audio, sensore infrarosso per telecomando, slot per webcam, una uscita HDMI video e alloggiamento per microSD dove caricare un sistema operativo a scelta tra svariate distribuzioni Linux o Windows IoT o Android. Prestazioni non da urlo, sentenzierà ll lettore, ma collegato ad una tv con la sua porta HDMI non farà rimpiangere nessun utente anche per le normali funzioni desktop. Consumi ridicoli: si alimenta con un alimentatore 5V 2.5A, come un tablet insomma! Le applicazioni viste con Arduino sono fattibili anche qui, ma con più capacità e risorse di calcolo per eseguire anche funzioni complesse direttamente sulla basetta. In più può tranquillamente essere amministrata da remoto con una connessione SSH per svariate funzioni. Ad esempio, un server per scaricare e condividere i file, torrent, streaming, caricarci su un player per guardare le IPTV, utilizzarlo con un joypad per giocar ea vecchi emulatori, crearci un server di stampa in rete per stampanti USB, metetrci su un piccolo Host per i nostri siti web!!! Come per Arduino, un mondo di applicazioni che si aggiungono  a quelle di Arduino e dei sensori collegabili. Esistono svariate versioni di RaspBerry con prestazioni e consumi differenti come la Zero Wireless o la versione A+. Quelle più interessanti sono le versioni ispirate dall'originale ma realizzate da altre case tra cui la Orange, RockPI, NanoPi, BananaPi e la Asus Tinker, tutte con costi inferiori o equiparabili ma spesso con caratteristiche superiori tra RAM (2-4 gb), CPU (Cortex A9 octacore ad es), memorie integrate ecc. Non vi faranno per niente rimpiangere l'originale.

Letto 379 volte
Prof. Alfredo Centinaro

Docente di "Scienze e tecnologie informatiche", "Tecnologie e progettazione di sistemi informatici", "Sistemi e Reti" presso IIS Alessandrini-Marino (Teramo), consulente e sviluppatore web. Ha collaborato per anni come sviluppatore presso MHT - Treviso, assistente Sistemi ed elaborazione dell'informazione in UniTE Corso di laurea in Scienze del turismo culturale, tutor presso Telecom Italia Learning Services (L'Aquila)

Joomla SEF URLs by Artio