Arduino (hardware): differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
m tolta la sezione acquisti
utilizzo
Riga 1:
{{E|Dubbio di enciclopedicità su una piattaforma di cui nono sono indicate prestazioni, caratteristiche, ecc.|informatica|giugno 2009|[[Utente:Klaudio|Klaudio]]}}
 
'''Arduino''' è una piattaforma hardware per il [[physical computing]], creata in Italia, nel 2005, e basata su una semplicissima scheda di [[input/output|I/O]] e su un ambiente di sviluppo che usa una libreria [[Wiring project|Wiring]] pre semplificare la scrittura di programmi in [[C (linguaggio di programmazione)|C]] e [[C++]] da far girare sulla scheda.
 
Arduino può essere utilizzato per svilupparelo sviluppo di oggetti interattivi ''stand-alone'' oma può anche interagire, tramite collegamento, con un software residenteresidenti su un computer, come [[Adobe Flash]], [[Processing (linguaggio di programmazione)|Processing]], [[Max (software)|Max/MSP]], [[Pure Data]], [[SuperCollider]]).
 
La piattaforma hardware Arduino è distribuita agli hobbisti solo attraverso la rete [[internet]] e viene spedita ai richiedenti in versione pre-assemblata, ma le informazioni sul progetto hardware sono rese disponibili pera tutti, in modo che, chiunque volesselo desiderasse, può costruirsi un clone di Arduino con le proprie mani.
 
Il team di Arduino è composto da [[Massimo Banzi]], David Cuartielles, Tom Igoe, Gianluca Martino, e David Mellis.
 
Il progetto ha preso avvio in [[Italia]], nel 2005, con lo scopo di rendere disponibile agli appassionati diun [[roboticadevice]] [[faiper dail te]]controllo undi [[device]]progetti perinterattivi controllarerealizzati robotda auto-costruitistudenti, inche manierafosse più economicaeconomico rispetto ad altri sistemi di ''[[prototipazione]]'' disponibili all'epoca.
I progettisti riuscirono nell'intento di creare una piattaforma di semplice utilizzo e che, al contempo, permettesse un significativo taglio di costi rispetto a molti prodotti concorrenti.
 
I progettisti riuscirono nell'intento di creare una piattaforma di semplice utilizzo e che, al contempo, permettesse un significativo risparmio sui costi rispetto a molti prodotti disponibili sul mercato. A ottobre 2008, erano state venduti più di 50.000 esemplari di Arduino in tutto il mondo.
 
==Piattaforma==
===Hardware===
 
Una scheda Arduino consiste in di un [[microcontroller]] a 8-bit [[Atmel AVR|AVR]] prodotto dalla [[Atmel]], con deil'aggiunta di componenti complementari perche facilitarnene facilitino l'incorporazione in altri circuiti. Gli Arduino ufficiali hanno usato [[chip]] della serie [[megaAVR]], - nello specifico i modelli ATmega8, ATmega168, ATmega328, e ATmega1280. Ma- ma i suo cloni si sono servito di una mnaciatamanciata di altri processori. Molte schede includono un [[regolatore lineare di tensione]] a 5-volt e un a 16MHz [[oscillatore a cristallo]] a 16MHz (o un [[risonatore ceramico]] in alcune varianti), sebbene alcune implementazioni, come ad esempio ''LilyPad'', girino a 8Mhz e fannofacciano a meno dello stabilizzatore di voltaggio a causa delle specifiche restrizioni al [[fattore di forma]].
 
Inoltre, il [[controller (informatica)|controller]] Arduino è pre-programmato con un [[bootloader]] che semplifica il caricamento dei programmi nella [[memoria flash]] incorporata nel chip, rispetto ad altri [[device]] che richiedono, solitamente, un [[programmer]] esterno.
 
A livello concettuale , tutte le schede sono programmate attraverso un [[porta seriale]] [[RS-232]], ma il modo in cui questoquesta funzionalità è implementatoimplementata nell'[[hardware]] varia da versione a versione.
Le schede seriali Arduino contengono un semplice circuito [[inverter]] che permette la conversione tra il livello della RS-232 e il livello dei segnali [[Transistor-transistor logic|TTL]].
 
Le attuali schede Arduino sono programmate tramite [[USB]], grazie a un'implementazione che usa dei chip adattatori USB-seriale come gli FT232 della [[Future Technology Devices International|FTDI]]. Alcune varianti, come la Arduino Mini e la versione non ufficiale ''Boarduino'', usano una scheda o un cavo adattatore USB-to-serial staccabile.
 
La Arduino mostraesibisce molti dei connettori di Input/Output per microcontroller usati da altri circuiti. La ''Diecimila'', ad esempio, ora soppiantata dalla ''Duemilanove'', per esempio, offre 14 connettori per l'I/O digitale, 6 dei quali possono produrre segnali [[Pulse-width modulation|PWM]], ementre 6 sono dedicati a input di [[segnale analogico|segnali analogici]]. Questi pin sono disponibili sulla parte superiore della scheda, mediante connettori femmina di 0.1 pollici. Inoltre, sono disponibili commercialmente molte schede applicative [[plug-in]], note come "shields".
 
Le schede Barebones e Boarduino, due cloni compatibili con la Arduino, sono fornite di connettori maschio sul lato inferiore del circuito in modo da poter essere connessi a una [[breadboard]] senza necessità di effettuare saldature.
 
===Software===
 
Lo [[Integrated development environment|IDE]] di Arduino è una un'applicazione [[multipiattaforma]] scritta in [[Java (linguaggio)|Java]], ed è derivata dallo IDE creato per il [[linguaggio di programmazione]] [[Processing (linguaggio di programmazione)|Processing]] e per il progetto [[Wiring project|Wiring]]. È concepita per introdurre alla programmazione artisti e altri neofiti, privia digiuno di pratica nello sviluppo di software. IncludePer permettere la stesura del [[codice sorgente]]. la scheda include inoltre un [[editore di testo]] per il codice dotato di alcune particolarità, come il [[syntax highlighting]], il controllo delle parentesi, e l'[[indentazione]] automatica,. edL'editor è inoltre in grado di [[Compilatore|compilare]] e lanciare il programma eseguibile in una sola passata e con un singolo click. In genere non vi è bisogno di creare dei [[Makefile]] o far girare programmi dalla [[riga di comando]].
 
L'[[Integrated development environment|ambiente di sviluppo integrato]] di Arduino è fornito di una [[libreria software]] [[C (linguaggio di programmazione)|C]]/[[C++]] chiamata "Wiring" (dall'omonimo progetto [[Wiring project|Wiring]]), che rende molto più semplice implementare via software le comuni operazioni input/output. I programmi di Arduino sono scritti in C/C++, ma, per poter creare un file eseguibile, all'utilizzatore non è chiesto altro se non definire due [[Funzioni (informatica)|funzioni]]:
 
* setup() – una funzione invocata una sola volta all'inizio di un programma eche può essere utilizzata per i settaggi iniziali
* loop() – una funzione [[Loop (informatica)|chiamata ripetutamente]] fino a che la scheda non viene spenta.
 
Un tipico esempio di programma per iniziare la pratica con un microcontroller è quello che permette semplicementela disemplice faraccensione accendereripetuta ripetutamentedi un [[light-emitting diode|LED]]. Nell'ambiente di sviluppo di Arduino, l'utilizzatore potrebbe farlo con un programmino come il seguente:
 
<source lang="c">
Riga 55:
</source>
 
Il codice precedente, così come scritto, non sarebbeverrebbe vistoriconosciuto dal [[compilatore]] come un programma valido,; cosìper chequesto, quando l'utilizzatore clicca sul [[Command button|bottone di comando]] "Upload to I/O board" nellonell'[[Integrated development environment|IDE]], una copia del codice viene scritta in un file temporaneo con un extra [[Header file|include header]] all'inizio e una semplicissima funzione main() in basso:
 
<source lang="c">
Riga 85:
</source>
 
"WProgram.h" è lo [[header file]] principale per la [[libreria software|libreria]] Wiring, e la funzione main() effettua solo tre distinte chiamate: init(), definita nella stessa libreria, e le funzioni setup() e loop(), definite dall'utente., con quest'ultima che, come richiesto, è inserita automaticamente in un [[Loop (infirmatica)|loop]]
 
Lo IDE di Arduino usa la [[GNU toolchain]] e la [[AVR Libc]] per compilare i programmi, mentre usa [[avrdude]] per caricarli sulla scheda.
Riga 104:
#Arduino Duemilanove, facente uso del chip Atmega168 (o Atmega328 nelle versioni più recenti) ed alimentata in [[corrente continua]] tramite USB, con switching automatico
#Arduino Mega, che fa uso di un ATmega1280 a montaggio superficiale per I/O e memoria addizionale.
 
=== Open hardware e open source ===
{{vedi anche|hardware open source}}
Gli schemi hardware di Arduino sono distribuiti in modo da poter essere utilizzati nei termini legali di una licenza [[Creative Commons]] Attribution Share-Alike 2.5, e sono disponibile sul sito ufficiale Arduino. Per alcune versioni della scheda sono disponibili anche il [[layout]] e i file di produzione. Il codice sorgente per l'[[Integrated Development Environment|Ambiente di sviluppo integrato]] e la [[libreria software|libreria]] residente sono disponibili, e concesse in uso, secondo i termini legali contenuti nella licenza [[GPL|GPLv2]].
 
[[Categoria:Hobbistica]]