Abbiamo deciso di provare. Finalmente, risolti dubbi e titubanze, abbiamo stabilito di voler entrare nel mondo del prototyping iniziando ad utilizzare quegli infernali apparecchietti (Raspberry PI vs Arduino) in grado di reagire agli stimoli esterni e di trasformarne gli impulsi in informazioni. Magari rispolverando la nostra vechia passione per l’elettronica o la programmazione.
Ma quali sono i parametri di scelta da tener presente per poter scegliere correttamente l’una o l’altra piattaforma?
Un po’ di teoria
Le schede Arduino sono a prima vista abbastanza simili alle schede Raspberry PI: piccole e programmabili. Tuttavia la filosofia di Arduino appare decisamente differente rispetto a quella del Raspberry PI. Vediamone assieme le differenze.
- Nessuno dei due viene venduto provvisto di tastiera, mouse o schermo
- Arduino dispone di 2KB di memoria RAM e 32KB di memoria flash per i programmi. Il Raspberry PI viene venduto con tagli da 256MB a 4 GB di RAM e sino a 64 GB di flash.
- Il “processore” di Arduino funziona con un clock a 16MHz, mentre il Raspberry PI viaggia tra 700MHz e 1.5GHz.
Perché dunque utilizzare un prodotto tanto meno potente in apparenza rispetto al Raspberry PI?
In realtà, le schede Arduino, a partide da Arduino Uno, sono decisamente superiori nella gestione di interfacce verso componenti elettronici esterni.
Come al solito, vediamo alcuni esempi:
- Arduino dispone di 14 pin GPIO per l’input/output digitale, come il Raspberry PI, ma ciascun pin permette di erogare 40mA di corrente, contro i 3mA del Raspberry PI. Ciò consente di alimentare un maggior numero di componenti (sensori, attuatori) senza la necessità di schede elettronche esterne.
- Arduino dispone anche di 6 input analogici, che permettono di collegare sensori in modo più intuitivo e funzionale.
- Arduino offre 6 output PWM (pulse width modulation). Si tratta di output gestiti da un timer hardware, che producono un segnale PWM decisamente più accurato, garantendo ad esempio un controllo più approfondito sui servomotori.
- Arduino offre una estesissima varietà di schede plug-in (shields) in grado di gestire e pilotare di tutto, dai display ai motori, dai LED ai sensori.
Di contro, Arduino è un microcontroller con una gestione ottimizzata di input/output, mentre il Raspberry PI è un vero computer in miniatura, con processore multicore ARM, memoria RAM e periferiche I/O come i computer classici.
Quale scegliere?
Dipende dal tipo di progetto che desideriamo portare a termine. Il PI consente di gestire un array di sensori differenti (notoriamente parchi nei consumi elettrici) per fornire, ad esempio un sistema di controllo ambientale per una casa o un giardino, mentre per gestire i servomotori di un robot (o delle tapparelle relative alle finestre di casa) è decisamente più valido Arduino.
Sino a qualche tempo fa chi desiderasse gestire lo storico dei propri dati attraveso un sito web utilizzava il Raspberry PI, magari collegato in WiFi con Internet. Oggi abbiamo shields per Arduino in grado di gestire senza problemi la connessione in rete (fissa o WiFi) e persino schede con microprocessore e sistema operativo proprietario ridotto ai minimi termini per la gestione di server o piccoli NAS.
Persino i costi di acquisto sono paragonabili.
Arduino può essere programmato attraverso un IDE proprietario in un linguaggio simil-C, o tramite Python (e opportuno shield), mentre il Raspberry PI è più indicato per chi già conosce le caratteristiche del sistema operativo Linux ed è quindi in grado di sfruttarne i trucchi per gestire le periferiche di I/O.
E per chi è totalmente digiuno di sistemi operativi e programmazione, è disponibile Scratch, un sistema di programmazione grafica particolarmente semplice e intuitivo, sia per Arduino che per Raspberry PI.
Senza dimenticare che è comunque possibile utilizzare assieme Raspberry Pi e Arduino per gestire l’interfaccia a basso livello attraverso le caratteristiche di entrambe le schede. Ne abbiamo iniziato a parlare nell’articolo “Installiamo l’IDE di Arduino sul Raspberry PI“, e pubblicheremo altri articoli relativi all’utilizzo congiunto delle due tipologie di prodotto.
E per quest’articolo è tutto. Continuate a seguirci per avere maggiori informazioni su Raspberry PI vs Arduino, e scriveteci se desiderate vedere componenti specifici particolari in prova.
Link utili: