Og­gi­gior­no sono sempre più diffusi i progetti Do It Yourself (DIY) rea­liz­za­ti con diversi hardware e software: infatti gli ap­pas­sio­na­ti di tutto il mondo tentano di dare vita a validi aiutanti per la vita di tutti i giorni, come porte del garage o di­spo­si­ti­vi per la mi­su­ra­zio­ne della tem­pe­ra­tu­ra comandati a distanza, oltre che progetti ludici come droni, robot o delle proprie console per i vi­deo­gio­chi.

Al centro di queste creazioni ci sono degli hardware specifici di diversi fornitori, pro­get­ta­ti proprio per questi scopi. Oltre che per le loro di­men­sio­ni compatte, questi com­po­nen­ti si con­trad­di­stin­guo­no spe­cial­men­te per il prezzo ac­ces­si­bi­le a tutti, che si aggira in una fascia di prezzo bassa, al massimo a due cifre.

Tra i mini com­po­nen­ti tecnici più famosi rientrano in­dub­bia­men­te il Raspberry Pi, il single-board computer inglese, e Arduino, il mi­cro­con­trol­lo­re ideato in Italia. Spesso vengono visti come con­cor­ren­ti anche se fun­zio­na­no in modo com­ple­ta­men­te diverso.

Raspberry Pi vs Arduino: com­po­nen­ti DIY con approcci diversi

Quando all’inizio del 2012 è arrivata sul mercato la prima versione del Raspberry Pi, la piat­ta­for­ma hardware Arduino era già stata ri­la­scia­ta da sette anni. Non è un caso che la piat­ta­for­ma italiana di physical computing, che prende il nome da un bar in Piemonte usato come punto d’incontro dai suoi svi­lup­pa­to­ri, sia diventato un classico nella cerchia degli ap­pas­sio­na­ti.

Il tipico setup di Arduino è composto da un mix di com­po­nen­ti hardware e software open source, che consente agli utenti di uti­liz­za­re gli oggetti in­te­rat­ti­vi e autonomi, oltre che in­te­ra­gi­re in maniera semplice con le ap­pli­ca­zio­ni del computer. Rientrano tra le con­fi­gu­ra­zio­ni tipiche una scheda con con­net­to­ri I/O (input e output, quindi entrata e uscita) e un mi­cro­con­trol­lo­re prodotto da Atmel (spesso della serie AVR, ad esempio ATmega328), così come un ambiente di sviluppo integrato (IDE), scritto in Java. Questo IDE comprende anche un proprio editor per il codice e diverse librerie per la sem­pli­fi­ca­zio­ne della pro­gram­ma­zio­ne in C e C++.

  Arduino Raspberry Pi
Data di rilascio 2005 2012
Sito arduino.cc ra­sp­ber­ry­pi.org
Tipo Mi­cro­con­trol­lo­re Single-board computer
Ar­chi­tet­tu­ra AVR, ARM ARM
Ali­men­ta­zio­ne USB, fonte esterna USB, fonte esterna
Porta USB
Porta HDMI No
Software Ambiente di sviluppo integrato in Java opzionale (sistemi operativi specifici come Raspbian)

Il nome del Raspberry Pi non deriva da quello di un bar, ma presenta una par­ti­co­la­ri­tà: si pronuncia come il termine inglese per torta di lamponi (“raspberry pie”), motivo per cui anche qui po­treb­be­ro aver giocato un ruolo le pre­fe­ren­ze culinarie. Con i lamponi, che ab­bel­li­sco­no il logo ufficiale, ci si ricollega alle tra­di­zio­ni antiche dei pro­dut­to­ri dei computer che erano soliti dare nomi che si rifanno ai diversi tipi di frutta, come Tangerine Computer Systems, Apricot Computers o Apple. Il Pi, ab­bre­via­zio­ne di “Python in­ter­pre­ter“, deriva dal piano ori­gi­na­rio di dotare il Raspberry con un in­ter­pre­te integrato per il lin­guag­gio di pro­gram­ma­zio­ne Python.

A dif­fe­ren­za di Arduino, i modelli Raspberry Pi non solo hanno un pro­ces­so­re con pre­sta­zio­ni più elevate, ma di­spon­go­no anche di una propria RAM e di opzioni per l’uscita video. Il mini computer inglese funziona perciò au­to­no­ma­men­te ed esegue ap­pli­ca­zio­ni, basta solo in­stal­la­re un sistema operativo per il Raspberry Pi.

Arduino e Raspberry Pi a confronto

La dif­fe­ren­za prin­ci­pa­le tra Arduino e Raspberry Pi consiste nel fatto che il primo è un mi­cro­con­trol­lo­re, che può eseguire solo il codice C compilato, mentre l’altro funziona (se richiesto) anche come sistema autonomo. Tuttavia il Raspberry Pi non è sempre la scelta migliore per qualsiasi tipo di progetto DIY, come vedremo ana­liz­zan­do vantaggi e svantaggi, le pos­si­bi­li­tà di ap­pli­ca­zio­ne e le ri­spet­ti­ve community.

I vantaggi e gli svantaggi di Arduino

Le schede di Arduino si con­trad­di­stin­guo­no in par­ti­co­la­re per due ca­rat­te­ri­sti­che: la prima è che for­ni­sco­no un pro­ces­so­re integrato com­pren­si­vo di pe­ri­fe­ri­che (entrate, uscite e in­ter­fac­ce), cosa che rende Arduino in­te­res­san­te per tutti gli utenti con poche co­no­scen­ze elet­tro­ni­che. La seconda riguarda l'am­bien­te di sviluppo basato sul­l'hard­ware che fornisce un'in­ter­fac­cia di pro­gram­ma­zio­ne con diverse librerie già pronte, che fa­ci­li­ta­no no­te­vol­men­te la pro­gram­ma­zio­ne. Questa ca­rat­te­ri­sti­ca co­sti­tui­sce un punto a favore per le mini piat­ta­for­me italiane nel confronto "Arduino vs Raspberry Pi".

Inoltre l'IDE (visto che è scritto in Java) è mul­ti­piat­ta­for­ma e si presenta quindi allo stesso modo su Windows, Linux e macOS. Perciò non c'è da me­ra­vi­gliar­si che i com­po­nen­ti di Arduino siano molto amati per le eser­ci­ta­zio­ni nelle scuole, nelle uni­ver­si­tà e in altri istituti.

N.B.

Pa­ral­le­la­men­te al codice C sem­pli­fi­ca­to, gli utenti di Arduino possono anche scrivere il codice classico o impostare un ambiente di sviluppo al­ter­na­ti­vo; così le schede offrono un'al­ter­na­ti­va con­ve­nien­te e che permette di ri­spar­mia­re tempo anche per i pro­fes­sio­ni­sti.

La sem­pli­ci­tà delle schede di Arduino non presenta però solo vantaggi: infatti l'am­bien­te di sviluppo integrato è un grande aiuto per il controllo del­l'hard­ware, ma è difficile che i neofiti della pro­gram­ma­zio­ne imparino qualcosa sulla scrittura del classico codice in questo modo. In generale, per via della presenza delle librerie già pronte all'uso, si rischia di ri­nun­cia­re com­ple­ta­men­te alla propria pro­gram­ma­zio­ne e di limitare così inu­til­men­te il possibile campo di ap­pli­ca­zio­ne.

Un altro svan­tag­gio di Arduino si trova nella por­ta­bi­li­tà, nel momento in cui la versione standard delle schede del mi­cro­con­trol­lo­re deve essere ampliata tramite in­ter­fac­ce ag­giun­ti­ve e funzioni I/O. L'hard­ware stan­dar­diz­za­to consente un upgrade semplice tramite le co­sid­det­te shields; tuttavia l'ac­qui­sto di questi moduli ag­giun­ti­vi per il col­le­ga­men­to Ethernet, la funzione LED e altri fa aumentare ve­lo­ce­men­te i costi del progetto.

Vantaggi Svantaggi
Setup hardware e software già pronto all'uso Uti­liz­zan­do l'IDE, vi sono poche pos­si­bi­li­tà di imparare qualcosa di elet­tro­ni­ca e di pro­gram­ma­zio­ne   
Un proprio ambiente di sviluppo con diverse librerie (mul­ti­piat­ta­for­ma) L'upgrade con le shields può essere costoso

Punti di forza e punti deboli del Raspberry Pi

Anche il Raspberry Pi si con­trad­di­stin­gue so­prat­tut­to per il fatto che fornisce un setup del­l'hard­ware già pronto, cosa che sem­pli­fi­ca il processo di­spen­dio­so di as­sem­blag­gio della base tecnica per i progetti DIY rea­liz­za­ti dagli utenti. Rispetto alle schede di Arduino, il Raspberry Pi dispone già di tutti i com­po­nen­ti necessari per far fun­zio­na­re il mini computer au­to­no­ma­men­te. Inoltre la maggior parte dei modelli riesce a con­net­ter­si di default alla rete (Wi-Fi, Ethernet o entrambe); solo nei modelli A e A++ del Pi 1 e nel mi­ni­ma­li­sta Pi Zero mancano le relative porte. Grazie a queste proprietà il Raspberry Pi non solo può essere uti­liz­za­to come piat­ta­for­ma di pro­gram­ma­zio­ne, ma serve anche per l'uso di ap­pli­ca­zio­ni come cloud privati, web server o VPN.

L'o­biet­ti­vo prin­ci­pa­le della Raspberry Pi Foun­da­tion, re­spon­sa­bi­le dello sviluppo del mini computer, è stato sin dal­l'i­ni­zio quello di fa­ci­li­ta­re l'accesso al­l'hard­ware e alla pro­gram­ma­zio­ne per gli utenti con poche co­no­scen­ze tecniche. Sebbene il progetto rispecchi am­pia­men­te questa esigenza, spe­cial­men­te la con­fi­gu­ra­zio­ne può mettere a dura prova la propria pazienza. Non solo si deve scegliere e scaricare il sistema operativo, ma va caricato anche sulla giusta scheda di me­mo­riz­za­zio­ne SD. Anche l'in­stal­la­zio­ne e la con­fi­gu­ra­zio­ne del software del sistema non è per tutti, come si pensa tra le fila dei pro­dut­to­ri del Raspberry.

N.B.

Ci sono diversi fornitori che pro­pon­go­no delle schede SD (a pagamento) sulle quali è già in­stal­la­to un sistema operativo fun­zio­nan­te per il Raspberry Pi (di solito Raspbian).

Un altro svan­tag­gio del mini computer è il prezzo di base, che si attesta tra i 5 e i 40 Euro, a seconda del modello e del fornitore, ma per il fun­zio­na­men­to del Raspberry servono anche tutti gli altri accessori ag­giun­ti­vi, come l'e­let­tri­ci­tà, il cavo HDMI, ecc.

Vantaggi Svantaggi
Di default pronto per il col­le­ga­men­to HDMI e di rete (ad eccezione di alcuni modelli) Il software non è già incluso nel pacchetto e deve essere perciò scaricato e con­fi­gu­ra­to dal­l'u­ten­te
Adatto per compiti semplici e complessi Per il fun­zio­na­men­to autonomo sono necessari molti com­po­nen­ti ag­giun­ti­vi a pagamento

Le community di Arduino e Raspberry Pi

Chi pianifica e sviluppa i progetti con parti di hardware come Raspberry Pi e Arduino condivide con piacere i propri risultati con gli altri ap­pas­sio­na­ti. I portali video come YouTube o Vimeo e i siti DIY come hackster.io pre­sen­ta­no migliaia di tutorial e istru­zio­ni, fatti dagli utenti per gli altri utenti. Sia Arduino che il Raspberry Pi sono perciò ben rap­pre­sen­ta­ti. Entrambi i com­po­nen­ti DIY, il mi­cro­con­trol­lo­re da una parte e il mini computer dal­l'al­tra, riu­ni­sco­no delle enormi community. Il risultato è che si trovano sempre in­for­ma­zio­ni sui lavori rea­liz­za­ti, ma anche supporto in caso di domande sui propri progetti.

N.B.

Le già citate shields di Arduino, usate per l'am­plia­men­to della base tecnica delle schede elet­tro­ni­che, sono state per la maggior parte svi­lup­pa­te dai membri della community di Arduino.

Rientrano tra le pagine più im­por­tan­ti per i progetti di Arduino:

  • Reddit: su Reddit esiste un canale Arduino sul quale gli utenti con­di­vi­do­no le loro idee, postano immagini o video con i risultati ottenuti e pongono domande ri­guar­dan­ti le schede del mi­cro­con­trol­lo­re.
  • Forum ufficiale di Arduino: ben 500.000 membri re­gi­stra­ti discutono nei mol­tis­si­mi thread creati sui diversi modelli di Arduino, sulle pos­si­bi­li­tà di utilizzo, pongono delle domande tecniche, e molto altro.
  • Arduino Play­ground: Arduino Play­ground è un wiki molto ampio, dove ogni utente in­te­res­sa­to può pub­bli­ca­re dei propri snippet di codice, tutorial, consigli e trucchi, pre­sen­ta­re progetti o anche solo con­sul­ta­re i vari post.

Per chi volesse scambiare opinioni con gli altri fan del Raspberry Pi, sono par­ti­co­lar­men­te indicate le pagine seguenti:

  • Ra­sp­ber­ry­pi.org: la pagina ufficiale del progetto del Raspberry Pi non è solo il primo punto di ri­fe­ri­men­to per quelli che sono in­te­res­sa­ti ad ac­qui­sta­re una versione del mini computer. Nella sezione "HELP" i vi­si­ta­to­ri trovano diverse guide (per hardware e software), oltre che una do­cu­men­ta­zio­ne online esau­rien­te. Inoltre nel forum del sito sono re­gi­stra­ti oltre 200.000 utenti che discutono sui diversi temi relativi al Raspberry.
  • RPi Hub: il RPi Hub su eLinux.org fornisce una grande quantità di in­for­ma­zio­ni per prin­ci­pian­ti e utenti avanzati, in­di­pen­den­te­men­te che si tratti di guide per l'ac­qui­sto, per il setup o per l'avvio, o di consigli e trucchi per il software e l'hard­ware. Com­ple­ta­no l'offerta i consigli di lettura e i link alle pagine più im­por­tan­ti della community.
  • Ra­sp­ber­ry­I­ta­ly: per rimanere sempre ag­gior­na­ti c'è la community italiana del Raspberry Pi, ricca di news, tutorial e guide per creare dei nuovi progetti con il mini computer. Inoltre accedendo al forum è possibile scambiare opinioni o ancora chiedere aiuto e consigli al resto degli utenti italiani del Raspberry Pi.

Utilizzi di Arduino e del Raspberry Pi a confronto

Arduino e Raspberry Pi hanno in comune il fatto che si possono uti­liz­za­re subito senza dover in­stal­la­re o misurare dei circuiti elettrici, o inserire o saldare delle schede. Proprio questo è il motivo prin­ci­pa­le per cui sia il Raspberry sia Arduino sono così amati per la rea­liz­za­zio­ne di progetti DIY nelle scuole e nelle uni­ver­si­tà, ma anche nel settore privato: offrono agli utenti poco esperti la pos­si­bi­li­tà di ottenere ve­lo­ce­men­te dei primi risultati e per quelli avanzati mettono a di­spo­si­zio­ne una struttura hardware già pronta.

Il fatto che vengano uti­liz­za­ti in modo diverso è ri­con­du­ci­bi­le alle dif­fe­ren­ze es­sen­zia­li tra il Raspberry Pi e Arduino: le schede di Arduino, svolgendo la funzione di mi­cro­con­trol­lo­re, sono in grado di eseguire un'ap­pli­ca­zio­ne pre­de­fi­ni­ta senza troppi ral­len­ta­men­ti. Sono fornite con un proprio ambiente di sviluppo che dispone di diverse librerie pronte all'uso e per­met­to­no così di sem­pli­fi­ca­re molto il lavoro. Il Raspberry Pi può sbrigare dei compiti es­sen­zial­men­te più complessi, essendo un mini computer con un proprio sistema operativo, e può ad esempio eseguire più ap­pli­ca­zio­ni con­tem­po­ra­nea­men­te o una dopo l'altra. Inoltre dispone di default di molte in­ter­fac­ce e porte (HDMI, Wi-Fi, LAN), che nelle schede di Arduino si devono ag­giun­ge­re con le shields.

In parole povere si può dire che Arduino si presta so­prat­tut­to per quei progetti in cui si deve eseguire ri­pe­tu­ta­men­te un semplice compito. Se si tratta ad esempio di misurare la tem­pe­ra­tu­ra esterna e di mostrarla su qualsiasi display, il mi­cro­con­trol­lo­re rap­pre­sen­ta la base perfetta. Invece se non si vuole solo misurare la tem­pe­ra­tu­ra esterna, ma anche con­trol­la­re le pre­vi­sio­ni del tempo e avviare l'im­pian­to di ir­ri­ga­zio­ne del giardino basandosi su criteri pre­sta­bi­li­ti (come l'elevata tem­pe­ra­tu­ra e la bassa pro­ba­bi­li­tà di pioggia), il Raspberry Pi risulta la scelta migliore.

Non deve essere per forza Raspberry Pi vs Arduino

Sia le schede di Arduino che il computer Raspberry Pi hanno quindi i loro punti di forza e i loro punti deboli. Nel caso di piccoli progetti è utile prima di tutto ri­flet­te­re su quali com­po­nen­ti servano per la rea­liz­za­zio­ne e scegliere quindi una delle due basi. Se il budget lo consente e il progetto pia­ni­fi­ca­to prevede qualcosa di più di un semplice controllo a distanza, non è sbagliato affidarsi a una com­bi­na­zio­ne dei modelli di Arduino e Raspberry.

Così ad esempio è pensabile che Arduino venga uti­liz­za­to soltanto per l’ese­cu­zio­ne di un’ap­pli­ca­zio­ne, dopo che il processo è stato computato con un Raspberry Pi. Al contrario è ov­via­men­te possibile che il compito del mi­cro­con­trol­lo­re Arduino consista nel­l'av­via­re l'ela­bo­ra­zio­ne di un processo complesso sul Raspberry Pi. Un esempio valido in questo caso è fornito dal progetto "Piano Stairs", con cui Bonnie Eisenman, Erica Portnoy e Vincent Castaneda hanno con­qui­sta­to il secondo posto nel­l'Hac­k­Princ­ton 2013 (categoria "hardware"): gli scalini in­te­rat­ti­vi ri­pro­du­co­no le note della pianola. Per fare ciò è stato uti­liz­za­to Arduino per rilevare i valori e co­mu­ni­car­li a un Raspberry Pi, che si occupa della relativa ela­bo­ra­zio­ne e del­l'u­sci­ta dei ri­spet­ti­vi suoni.

Una guida esaustiva al progetto si trova sul sito dello svi­lup­pa­to­re DIY in­struc­ta­bles.com.

Vai al menu prin­ci­pa­le