Capitolo 1 : Arduino
Arduino (/??r'dwi?no?/) è un'azienda di hardware e software open source, un progetto e una comunità di utenti che sviluppa microcontrollori a scheda singola e kit di microcontrollori per la creazione di dispositivi digitali.
Concede in licenza i suoi prodotti hardware secondo i termini CC BY-SA, Sebbene il software sia concesso in licenza ai sensi della GNU Lesser General Public License (LGPL) o della GNU General Public License (GPL), non è consentito ridistribuirlo (GPL), nella progettazione delle schede Arduino vengono utilizzati più microprocessori e controller. Le schede sono dotate di pin di ingresso/uscita (I/O) digitali e analogici che possono interagire con varie schede di espansione ("shield") o breadboard ("per la prototipazione") e altri circuiti. Le schede sono dotate di interfacce di comunicazione seriale, tra cui USB su alcuni modelli, che vengono utilizzate anche per il caricamento dei programmi. I microcontrollori possono essere programmati in C e C++ (Embedded C) utilizzando un'API standard nota anche come linguaggio di programmazione Arduino, che è stato influenzato dal linguaggio di programmazione Processing e utilizzato con una versione modificata dell'ambiente di sviluppo integrato (IDE) Processing. Oltre alle toolchain di compilazione convenzionali, il progetto Arduino offre un ambiente di programmazione integrato (IDE) basato su Go e uno strumento a riga di comando.
Il progetto Arduino è nato nel 2005 come strumento per gli studenti dell'Interaction Design Institute di Ivrea, in Italia, con l'intenzione di fornire un metodo semplice e a basso costo per dilettanti ed esperti per progettare dispositivi che interagiscono con l'ambiente circostante utilizzando sensori e attuatori. Semplici robot, termostati e rilevatori di movimento sono esempi comuni di tali gadget progettati per gli appassionati principianti.
L'origine del nome Arduino è un'osteria di Ivrea, in Italia, dove si riunivano i fondatori del progetto. Il bar prese il nome dal re d'Italia dal 1002 al 1014 e margravio della Marca di Ivrea, Arduino di Ivrea.
Il progetto Arduino è stato avviato a Ivrea, in Italia, presso l'Interaction Design Institute Ivrea (IDII). Nel 2005, Massimo Banzi, insieme ai compagni di studio IDII David Mellis e David Cuartielles, ha ampliato il cablaggio aggiungendo il supporto per il meno costoso microcontrollore ATmega8. Arduino è stato il nuovo progetto biforcato da Wiring.
I cinque co-fondatori del progetto Arduino hanno fondato Arduino LLC all'inizio del 2008, Entro il 2017, Arduino AG possedeva numerosi marchi per Arduino. Nel luglio del 2017, Massimo Banzi, David Cuartielles, David Mellis e Tom Igoe hanno creato BCMI, che ha acquistato Arduino AG e tutti i marchi Arduino. Fabio Violante è il nuovo CEO di Arduino AG, succedendo a Federico Musto, che non fa più parte dell'azienda.
Arduino ha annunciato la sua alleanza con ARM Holdings nell'ottobre 2017. (ARM). "ARM ha riconosciuto la libertà come un valore fondamentale di Arduino... senza alcun vincolo con l'architettura ARM", si legge nell'annuncio. Arduino prevede di continuare a collaborare con tutti i fornitori di tecnologia e i framework architetturali. Sotto la guida di Violante, l'azienda iniziò ad espandersi e a rilasciare nuovi design. Il marchio Genuino è stato abbandonato e tutta la merce è stata rinominata con il nome Arduino.
Arduino ha introdotto il suo nuovo strumento a riga di comando open source (arduino-cli) nell'agosto 2018, che può essere utilizzato in sostituzione dell'IDE per programmare schede da una shell.
L'hardware Arduino è open-source. I progetti di riferimento hardware sono disponibili sul sito Web di Arduino con una licenza Creative Commons Attribution Share-Alike 2.5. Ci sono anche file di layout e produzione per varie versioni dell'hardware.
Sebbene i progetti hardware e software siano pubblicamente disponibili con licenze copyleft, i creatori hanno richiesto che il nome Arduino sia riservato al prodotto originale e non utilizzato per opere derivate senza il loro consenso. Il documento politico ufficiale sull'uso del nome Arduino evidenzia la volontà del progetto di incorporare il lavoro di terze parti nel prodotto ufficiale.
A causa dei limiti del fattore di forma, la maggior parte delle schede Arduino è costituita da un microcontrollore AVR Atmel a 8 bit (ATmega8, funziona a 8 MHz e non dispone di un regolatore di tensione integrato).
I microcontrollori Arduino includono un boot loader che semplifica il caricamento dei programmi sulla memoria flash on-chip. Il bootloader Optiboot è l'impostazione predefinita per Arduino Uno. Le schede sono programmate utilizzando un collegamento seriale a un altro computer. Alcune schede seriali Arduino includono un circuito traslatore di livello per convertire tra i livelli logici RS-232 e i segnali di livello seriale TTL. Le attuali schede Arduino sono programmate tramite USB utilizzando chip adattatori da USB a seriale come l'FTDI FT232. Alcune schede, comprese le schede Uno di ultima generazione, sostituiscono il chip FTDI con un chip AVR separato che contiene un firmware da USB a seriale programmabile tramite il proprio header ICSP. Altri modelli, come l'Arduino Mini e il Boarduino non autorizzato, utilizzano una scheda o un cavo convertitore da USB a seriale staccabile, Bluetooth o altre tecniche di comunicazione. Quando si utilizzano strumenti di microcontrollore convenzionali rispetto all'IDE di Arduino, viene utilizzata la normale programmazione in-system (ISP) AVR.
La scheda Arduino rende disponibile per l'utilizzo da parte di altri circuiti la maggior parte dei pin I/O del microcontrollore. La parte inferiore delle schede Diecimila può essere dotata di pin di intestazione maschio compatibili con breadboard senza saldatura.
Esistono numerose schede compatibili con Arduino e derivate da Arduino. Alcuni sono funzionalmente equivalenti ad Arduino e sono intercambiabili. Per facilitare la creazione di buggy e piccoli robot, diverse persone aumentano il fondamentale Arduino aggiungendo driver di uscita, in genere per l'uso nell'istruzione a livello scolastico. Altri sono elettricamente equivalenti, ma i loro fattori di forma variano, a volte mantenendo la compatibilità con lo scudo e a volte no. Alcune varianti utilizzano processori incompatibili di diversi tipi.
L'hardware originale di Arduino è stato prodotto dall'azienda italiana Smart Projects. Ci sono state 17 versioni disponibili in commercio dell'hardware Arduino.
Il protocollo RS232 di Arduino (pin maschio)
Arduino Diecimila
La scheda Arduino Duemilanove (rev 2009b)
Arduino Uno R2
3.0 Arduino Uno SMD
Arduino Leonardo
Arduino mini Estratto il 29/10/2020 dall'Internet Archive (AtMega 32U4)
Microchip Arduino (AtMega32U4)
Arduino Elite (senza USB)
Arduino Mega
Microcontrollore Arduino Nano (ingombro DIP-30)
Arduino LilyPad 00 (revisione 2007) (senza USB)
Arduino Robot
Arduino Esplora
La scheda Arduino Ethernet (AVR + W5100).
Arduino Yún(AVR + AR9331)
A Arduino (core ARM Cortex-M3)
Arduino e le schede compatibili con Arduino utilizzano shield, che sono schede di espansione di circuiti stampati che si collegano alle intestazioni dei pin di Arduino.
Alcuni shield includono intestazioni di impilamento che consentono di impilare numerosi shield su una scheda Arduino. Qui, due motor shield V2 di Adafruit sono impilati con uno shield di prototipazione.
Schermatura breakout con terminale a vite in una configurazione ad ala, che consente il collegamento di fili a estremità nuda alla scheda senza la necessità di pin specifici.
Adafruit Datalogging Shield è dotato di una porta per scheda Secure Digital (SD) e di un chip RTC (Real-Time Clock), oltre a spazio per l'aggiunta di componenti e moduli personalizzati.
Collegamenti a vite per il Motor Shield Adafruit. Questo scudo è stato ufficialmente ritirato, tuttavia potrebbe essere ancora disponibile tramite metodi non ufficiali.
Il motor shield V2 di Adafruit utilizza I2C, richiedendo un numero molto inferiore di porte I/O digitali rispetto al collegamento fisico di ciascun motore.
Uno shield host USB che consente a una scheda Arduino di interfacciarsi con un dispositivo USB come una tastiera o un mouse.
Con i compilatori che generano codice macchina binario per il processore di destinazione, un programma per l'hardware Arduino può essere scritto in qualsiasi linguaggio di programmazione. AVR Studio (precedente) e Atmel Studio sono gli ambienti di sviluppo di Atmel per i microcontrollori AVR a 8 bit e ARM Cortex-M a 32 bit (più recenti).
L'ambiente di sviluppo integrato (IDE) per Arduino è un'applicazione multipiattaforma basata su Java (per Microsoft Windows, macOS e Linux). Si è evoluto dall'ambiente di sviluppo integrato per i linguaggi Processing e Wiring. Include un editor di codice con funzionalità come il copia e incolla del testo, la ricerca e la sostituzione del testo, il rientro automatico, la corrispondenza delle parentesi graffe e l'evidenziazione della sintassi, oltre a semplici procedure con un clic per la compilazione e il caricamento di programmi su una scheda Arduino. Inoltre, include un'area messaggi, un terminale di testo, una barra degli strumenti con pulsanti per le funzioni tipiche e una struttura di menu per l'esecuzione delle operazioni. Il codice sorgente dell'IDE è concesso in licenza ai sensi della versione 2 della GNU General Public License.
L'ambiente di sviluppo integrato (IDE) di Arduino supporta i linguaggi di programmazione C e C++ utilizzando regole specializzate per la strutturazione del codice. L'ambiente di sviluppo integrato (IDE) di Arduino include...