Arduino o Raspberry Pi: quale scheda sceglierò per il mio prossimo progetto?

Nel precedente articolo abbiamo analizzato in linea generale quali sono le possibili applicazioni di Arduino e Raspberry Pi, le piattaforme hardware maggiormente utilizzate dai makers di tutto il mondo. In questo nuovo articolo vogliamo raggiungere uno step successivo, ovvero capire quali sono le principali caratteristiche tecniche delle schede e quale scheda può essere la scelta migliore per il nostro progetto. 

Introduzione

La prima cosa che qualunque maker alle prese per la prima volta con le piattaforme Arduino e Raspberry Pi dovrebbe chiedersi è cosa sono e a cosa servono. Per chi si fosse perso il precedente articolo, ecco il link per poter leggerlo interamente e avere da subito un quadro chiaro della tematica: https://it.emcelettronica.com/arduino-e-raspberry-pi-le-piattaforme-piu-utilizzate-dai-makers-di-tutto-il-mondo. Nel prossimo paragrafo faremo un approfondimento per capire di cosa stiamo parlando e come queste piattaforme hardware possono essere implementate nel mondo embedded e IoT.

Arduino: la scheda perfetta per progetti entry-level...e non solo

Per prima cosa chiariamo subito un dubbio che molti principianti hanno: Arduino non è un microcontrollore nè un microprocessore. Per maggiore chiarezza, Arduino è una scheda di sviluppo basata su microcontrollore. Ciò significa che si tratta di un circuito stampato con chip microcontrollore che è il cuore della scheda. Arduino è quindi una scheda di sviluppo che rende i microcontrollori facili da usare in moltissime applicazioni. Di solito, Arduino viene utilizzata in progetti in cui è necessario il controllo diretto di dispositivi come motori o sensori. Non disponendo di sistema operativo, Arduino deve essere collegata a un PC e programmata utilizzando il software dedicato chiamato Arduino IDE. Arduino ha infatti il suo IDE (ambiente di sviluppo integrato o Integrated Development Environment) ovvero la piattaforma di programmazione, che è molto semplice da usare ed è adatta anche ad un pubblico di principianti. Questo fa di Arduino una piattaforma perfetta per la costruzione di robot e progetti entry-level. Arduino è stata progettata da un'azienda italiana e la buona notizia è che tutti i design hardware di questo dispositivo sono disponibili come open source. Per programmare la scheda, basta aprire l'IDE sul PC e selezionare la scheda Arduino giusta dalla sezione delle schede disponibili. Sono disponibili inoltre diverse versioni di schede Arduino tra cui Arduino UNO (la versione più popolare di Arduino rappresentata in Figura 1), le serie della famiglia Pro, Arduino Mega, Arduino Nano, etc. Tutte queste varianti di Arduino differiscono in alcune specifiche tecniche e funzionalità.

Figura 1: La scheda di sviluppo Arduino UNO Rev3

Con le ultime versioni, però, la piattaforma Arduino è riuscita nel corso degli anni ad accaparrarsi anche una cospicua fetta del mercato industrial, rivolgendosi con gli ultimi modelli ad applicazioni di automazione avanzata e rilevamento intelligente (basti pensare alle schede Arduino Edge Control, Arduino Portenta, Arduino Nicla Sense ME, etc.). In generale, Arduino ha un design relativamente basico e, oltre ai componenti hardware, anche il lato software di Arduino è semplice da gestire, le strutture software sono abbastanza semplici e intuitive. Il software in questo dispositivo funziona per Windows, MAC e Linux, è sufficiente collegare la scheda al computer con un cavo USB e fare clic su un pulsante per caricare il codice nel sistema. Il linguaggio di programmazione si adatta perfettamente a tutte le sue versioni allo stesso modo, ed è uno dei linguaggi di programmazione più facili da imparare.

Figura 2: La scheda Arduino Edge Control ideale per progetti di automazione industriale

 

Figura 3: La scheda Arduino Portenta ideale per applicazioni industriali e AI

 

Figura 4: La scheda Arduino Nicla Sense ME con sensori integrati ideale per il rilevamento ambientale intelligente

Raspberry Pi: le potenzialità di un computer racchiuse in una scheda

Raspberry Pi è efficiente come un computer. Oltre ad essere un'unità di controllo, Raspberry Pi è noto come Single Board Computer (SBC), si chiama in questo modo perché si occupa di tutte le funzionalità di base per funzionare come un PC in miniatura. Comprende quindi un microprocessore piuttosto che un microcontrollore. Il Raspberry Pi, a differenza di Arduino, ha un proprio sistema operativo e può essere collegato a un monitor, una tastiera, un mouse o persino a Internet. Funziona su sistema operativo Linux, in particolare su "Raspbian" che è una versione di Linux. Tuttavia, con il rilascio dell'ultimo sistema operativo a 64 bit, è chiamato "Raspberry Pi OS" e non Raspbian. Con l'aiuto di una scheda RPi e del suo sistema operativo basato su Linux, si può costruire il proprio personal computer ed eseguire funzioni del computer come navigare in Internet, giocare, programmare, ecc. Rispetto ad Arduino, però, il Raspberry Pi ha meno varianti disponibili, l'ultima della quali è Raspberry Pi Pico, l'unica scheda a microcontrollore della famiglia Raspberry Pi (Figura 6).

Figura 5: L'SBC Raspberry Pi 4 Model B

 

Figura 6: Raspberry Pi Pico - La prima scheda a microcontrollore della Raspberry Pi Foundation

Quindi, quale scheda scegliere?

Raspberry Pi e Arduino sono schede sostanzialmente diverse. La funzionalità di base di Arduino è controllare i dispositivi utilizzando un microcontrollore. Questo è completamente diverso dal Raspberry Pi che è un mini computer che funziona su un potente microprocessore. Tuttavia, entrambe le schede possono essere utilizzate per semplici progetti di elettronica. Questa somiglianza è dovuta alla presenza di pin GPIO (General Purpose Input/Output) in Raspberry Pi; tali pin vengono utilizzati per controllare i componenti elettronici simili ad Arduino. A parte questa somiglianza, però, differiscono per numerose specifiche tecniche. È chiaro che Raspberry Pi è in testa in molte applicazioni che richiedono alta velocità di clock, memoria più grande e funzionalità aggiuntive. D'altra parte, Arduino è strutturalmente più semplice e facile da usare rispetto a Raspberry Pi. Quindi, possiamo dire che entrambi i dispositivi sono i migliori nel loro campo di azione. È l'applicazione l'elemento su cui concentrarsi al momento di selezionare la scheda giusta. Per il semplice calcolo, ad esempio, è opportuno scegliere Arduino. Per ottenere invece un'applicazione completa a livello di PC, occorre scegliere la Raspberry Pi. Per lavorare su progetti di robotica e sensori, la migliore scheda è senza dubbio Arduino, per aggiungere invece elementi come webcam o memoria USB ai progetti sensoriali, è preferibile Raspberry Pi. Se ad esempio vogliamo costruire un'auto giocattolo controllata tramite Bluetooth (smart car), la scheda Arduino UNO sarà sicuramente la scelta vincente. Per costruire invece un'auto giocattolo controllata tramite Bluetooth con una webcam, sceglieremo Raspberry Pi. Inoltre, se vogliamo costruire progetti semplici in cui il basso consumo energetico è fondamentale, dovremo orientarci sulle schede Arduino. In generale, se siamo al livello di principianti, scegliamo Arduino, in caso contrario, possiamo tranquillamente lavorare con la Raspberry Pi. A questo punto, è naturale chiedersi quale sia la piattaforma hardware più facile da utilizzare. Se siamo esperti di programmazione, Arduino e Raspberry Pi sono ugualmente facili da maneggiare. Ma, come ho scritto prima, Arduino è molto più facile da usare rispetto a Raspberry Pi. Questo è naturale, perché Arduino è solo un modulo controller mentre Raspberry Pi offre le funzionalità di un PC completo. In termini di interfaccia e codifica, la procedura completa può essere eseguita su Raspberry Pi poiché viene fornito con un sistema operativo, invece Arduino deve essere collegato a un PC che richiede l'installazione del software Arduino aggiuntivo e dei relativi driver. Una volta che il codice è stato caricato su Arduino, si ha bisogno solo di alimentazione esterna per funzionare, quindi nessun PC è necessario.

Un Raspberry Pi può fare tutto ciò che può fare una scheda a microcontrollore Arduino? La risposta è ovviamente si.

Questo perchè, mentre Arduino viene creato come piattaforma di interfaccia per il microcontrollore, ad esempio Arduino Integrated Development Environment (IDE), un Raspberry Pi può funzionare come un minuscolo computer - Single Board Computer (SBC). I pin GPIO su Raspberry Pi offrono tutte le funzionalità di un Arduino come SPI, I2C, UART, ecc. A livello di costi, infine, possiamo dire che il costo di Arduino e Raspberry Pi è relativamente lo stesso, il loro prezzo è strettamente correlato ai modelli scelti e alle specifiche tecniche del modello. Consideriamo che un progetto semplice richiede un modello base di scheda, ma all'aumentare del livello e della complessità del progetto, nonché dei requisiti, dovremmo optare per modelli di scheda più costosi magari equipaggiati anche con moduli sensore integrati. Alcuni progetti potrebbero anche richiedere più interfacce oltre alla scheda, il che aumenta il costo complessivo dei componenti del sistema.

 

Scarica subito una copia gratis

Scrivi un commento

Seguici anche sul tuo Social Network preferito!

Send this to a friend