Arduino è un progetto che racchiude svariate scheda open-source per la prototipazione che sono basate su microcontrollori Atmel AVR a 8 bit.
La più conosciuta ed iconica è la scheda Arduino Uno che è composta da un microcontrollore ATmega328P rimovibile in package DIP.
Il progetto Arduino nasce ad Ivrea (Italia) nel 2005, la grande diffusione di queste schede è dovuta all'estrema semplicità che le caratterizza e che permette di creare i propri progetti in pochi passi; questa semplicità è data dal bootloader, dall'IDE e dalle caratteristiche della scheda, come l'interfaccia USB, i regolatori di tensione da 3.3V e 5.0V, gli header di espansione e il jack di alimentazione.
Arduino IDE è l'integrated development environment ufficiale di Arduino, ovvero il software integrato per lo sviluppo. Sebbene non sia indispensabile per interfacciarsi con la scheda, semplifica molto l'esperienza con Arduino grazie a un'interfaccia semplice ed intuitiva che integra tutte le componenti necessarie.
Il bootloader è il vero cuore di Arduino, grazie al quale gli utenti possono caricare i loro programmi sulla memoria dell'AVR semplicemente collegandosi alla porta USB posizionata sulle schede Arduino.
Essendo il bootloader un programma preinstallato nella memoria del microcontrollore, occupa spazio; per questo Arduino permette, usando un ISP programmer esterno, di caricare in memoria programmi utilizzando l'intero spazio disponibile; con la stessa tecnica e anche possibile caricare il bootloader su un AVR dal quale era stato cancellato.
Sullo store ufficiale e su vari portali, oltre alle schede Arduino sono presenti molti shield, ovvero moduli di espansione che permettono di aggiungere nuove funzionalità tramite gli appositi header.
L'enorme community che si è creata attorno al progetto Arduino è l'elemento che completa l'ecosistema.
Sul forum Arduino, e non solo, è possibile trovare l'aiuto degli utenti e molti progetti, da quelli più semplici per imparare l'elettronica a quelli più elaborati di domotica, robotica e automazione.
Per fare i primi esperimenti con Arduino spesso è necessario reperire alcuni elementi aggiuntivi, come: LED, resistenze, condensatori, potenziometri, motori e servomotori. Reperire tutti questi componenti può essere complicato, per questo sullo store Arduino, e su altri store, sono disponibili diversi kit che contengono tutto il necessario per sperimentarsi fin da subito a realizare piccoli circuiti.
Ci sono svariate versioni di Arduino a seconda del progetto e dello scopo per cui le si vuole utilizzare:
Scheda | Microcontrollore | Porta | Velocità clock | Digital input/output | Voltaggio | Altro |
---|---|---|---|---|---|---|
Arduino Uno | ATmega328P | USB Type-B | 16 MHz | 14 | 5.0V | UART, ISP, SPI, I2C |
Arduino Leonardo | ATmega32U4 | Micro USB | 16 MHz | 20 | 5.0V | UART, ISP, SPI, I2C |
Arduino Mega 2560 | ATmega2560 | USB Type-B | 16 MHz | 54 | 5.0V | 4 UART, ISP, SPI, I2C |
Arduino Nano Every | ATMega4809 | Micro USB | 20MHz | 14 | 5.0V | UART, SPI, I2C |
Arduino Micro | ATmega32U4 | Micro USB | 16 MHz | 20 | 5.0V | UART, ISP, SPI, I2C |
Arduino Uno è la scheda ideale per iniziare, ha un costo contenuto ed è possibile sostituire il microcontrollore in caso di problemi.
Arduino Mega 2560 è l'ideale per progetti che necessitano di molti input/output.
Arduino Nano Every e Arduino Micro permettono di realizzare progetti compatti grazie alle loro dimensioni ridotte.
Oltre a quelle standard negli anni sono nate svariate board che aggiungono altre funzionalità (WiFi, Bluetooth, ecc), aumentano le prestazioni o permettono di sperimentare con nuove piattaforme.
Qui sotto ne elencherò alcune:
Scheda | Microcontrollore | Porta | Velocità clock | Digital input/output | Voltaggio | Altro |
---|---|---|---|---|---|---|
Arduino UNO WiFi | ATmega4809 | USB Type-B | 16 MHz | 14 | 5.0V | UART, SPI, I2C, WiFi, BLE, IMU |
Arduino Due | Atmel SAM3X8E ARM Cortex-M3 | Micro USB | 84 MHz | 54 | 3.3V | 4 UART, SPI, I2C, USB OTG, 2 TWI, JTAG |
Arduino Nano 33 BLE | nRF52840 ARM Cortex-M4 | Micro USB | 64MHz | 14 | 3.3V | UART, SPI, I2C, BLE, IMU |
Arduino Nano 33 IoT | SAMD21 ARM Cortex-M0 | Micro USB | 48MHz | 14 | 3.3V | UART, SPI, I2C, WiFi, BLE, IMU |
Arduino Zero | SAMD21 ARM Cortex-M0 | Micro USB | 48 MHz | 20 | 3.3V | 2 UART, SPI, I2C, EDBG |
Arduino Yún | ATmega32U4 / Atheros AR9331 | Micro USB | 16MHz / 400 MHz | 20 | 5.0V / 3.3V | UART, ISP, SPI, I2C / Linux, Ethernet, Micro-SD, USB 2.0 host |
Infine, la serie di schede Arduino MKR rispondono ad ulteriori esigenze specifiche (FPGA, Narrowband, LoRa, GSM, Sigfox, ecc).
Essendo Arduino un progetto open-source, esistono diverse schede clone o varianti delle originali a prezzi estremamente competitivi.
La scheda Acelex Uno r3 vi permette di iniziare a sviluppare con Arduino spendendo meno di 3€; a differenza di Arduino Uno r3, utilizza una porta micro USB e un più economico chip CH340G come interfaccia USB to serial.
Esistono varianti di Arduino Nano basate su CH340G e ATmega328P che sono reperibili a poco più di 1.5€.
Una delle varianti più famose è la scheda Node MCU che è basata sul modulo WiFi e BLE ESP8266.
Se sei interessato ad Arduino probabilmente ti piace sperimentare e costruire; realizzare una versione personalizzata di Arduino non è difficile, vedremo più avanti quali sono le componenti dell'originale e come realizzarne una partendo da una MCU.