Introduzione ad Arduino

Arduino, Arduino IDE, Arduino bootloader
Christian Bianciotto - 2020-12-23

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.

Arduino Uno r3

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

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.

Arduino Bootloader

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.

Arduino Shields

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.

Arduino Community

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.

Starter Kit

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.

Schede Standard

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.

Schede Avanzate

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).

Schede Compatibili o Fatte in Casa

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.