Differenze tra le versioni di "Introduzione a Arduino"

Da GolemWiki.
Jump to navigation Jump to search
(Pagina creata, ma mancano ancora alcune immagini)
 
m (Aggiunta pagina installazione IDE nel template guida)
 
(3 versioni intermedie di un altro utente non mostrate)
Riga 1: Riga 1:
 +
{{Guide
 +
|immagine=Pulsante-arduino.gif
 +
|guida=Arduino
 +
|precedente=Elettronica_Opensource
 +
|indice=Elettronica_Opensource
 +
|successiva=Installare_l'IDE_Arduino}}
 
[[File:Arduino-logo.gif | right | 100px]]
 
[[File:Arduino-logo.gif | right | 100px]]
 
Arduino è una scheda programmabile made in italy con '''microcontrollore''', un chip che racchiude al suo interno un computer vero e proprio '''con la propria RAM, il proprio processore...''', ma con funzione completamente diversa. Esso è fatto per eseguire ''applicazioni specifiche'' e prestabilite, ad esempio per un sistema di luci con crepuscolare o un robot. Il primo prototipo è stato realizzato ad Ivrea per gli studenti dell'Interaction Design Institute, il progetto però segue la filosofia '''open hardware''', ovvero è privo di copyright e chiunque può apportare modifiche; infatti gli schemi elettronici e i software di programmazione sono liberamente consultabili e scaricabili da Internet, e diverse aziende hanno prodotto una loro versione di questa scheda.
 
Arduino è una scheda programmabile made in italy con '''microcontrollore''', un chip che racchiude al suo interno un computer vero e proprio '''con la propria RAM, il proprio processore...''', ma con funzione completamente diversa. Esso è fatto per eseguire ''applicazioni specifiche'' e prestabilite, ad esempio per un sistema di luci con crepuscolare o un robot. Il primo prototipo è stato realizzato ad Ivrea per gli studenti dell'Interaction Design Institute, il progetto però segue la filosofia '''open hardware''', ovvero è privo di copyright e chiunque può apportare modifiche; infatti gli schemi elettronici e i software di programmazione sono liberamente consultabili e scaricabili da Internet, e diverse aziende hanno prodotto una loro versione di questa scheda.
 +
 
Si trovano in giro diversi modelli, adattati per ogni esigenza:  quelli standard sono ''[http://arduino.cc/en/Main/ArduinoBoardUno UNO]'' e ''[http://arduino.cc/en/Main/ArduinoBoardDuemilanove duemilanove]'', e oltre a questi modelli originali, ci sono un gran numero di ''cloni'', schede simili e compatibili alle originali ma con caratteristiche particolari, come [http://sanguino.cc/ sanguino], che ha a bordo un micro più grande e che è stato utilizzato per il progetto stampante 3D [http://reprap.org/wiki/RepRap reprap].
 
Si trovano in giro diversi modelli, adattati per ogni esigenza:  quelli standard sono ''[http://arduino.cc/en/Main/ArduinoBoardUno UNO]'' e ''[http://arduino.cc/en/Main/ArduinoBoardDuemilanove duemilanove]'', e oltre a questi modelli originali, ci sono un gran numero di ''cloni'', schede simili e compatibili alle originali ma con caratteristiche particolari, come [http://sanguino.cc/ sanguino], che ha a bordo un micro più grande e che è stato utilizzato per il progetto stampante 3D [http://reprap.org/wiki/RepRap reprap].
Cos'ha di particolare questa scheda? Rispetto ad altre schede è più versatile e facile da usare, e costa notevolmente meno; si programma via USB attraverso l'apposito IDE e può funzionare anche mentre è collegata al computer alimentata via USB. La versione base, "duemilanove" costa circa 25 euro ed è acquistabile da vari [http://arduino.cc/en/Main/Buy shop].
+
 
 +
Cos'ha di particolare questa scheda? Rispetto alle altre è più facile da usare, e costa notevolmente meno; si programma via USB attraverso l'apposito IDE e può funzionare anche mentre è collegata al computer alimentata via USB. La versione base, "duemilanove" costa circa 25 euro ed è acquistabile da vari [http://arduino.cc/en/Main/Buy shop].
  
 
== La scheda da vicino ==
 
== La scheda da vicino ==
[[File:Img-mancante.png | La scheda arduino duemilanove | right | thumb | 150px]]
+
[[File:Arduino-board.jpg | La scheda arduino duemilanove | left | thumb | 200px]]
 +
[[File: Breadboard.jpg | thumb | 150px | Una breadboard | right]]
 
Il microcontrollore di arduino è (di solito) un [http://www.atmel.com/Images/doc8161.pdf ATmega 328] a 28 ''piedini'' (o pin) che permettono lo scambio di informazioni con la scheda. Tuttavia solo 20 di essi possono essere utilizzati per interfacciarsi con sensori e altri componenti, poiché gli altri servono per l'alimentazione e altre funzioni. I collegamenti con i componenti elettronici possono essere fatti attraverso gli strip ed è consigliabile utilizzare una '''breadboard''' per i primi esperimenti, in quanto rende più agevole la realizzazione di circuiti senza dover saldare niente.
 
Il microcontrollore di arduino è (di solito) un [http://www.atmel.com/Images/doc8161.pdf ATmega 328] a 28 ''piedini'' (o pin) che permettono lo scambio di informazioni con la scheda. Tuttavia solo 20 di essi possono essere utilizzati per interfacciarsi con sensori e altri componenti, poiché gli altri servono per l'alimentazione e altre funzioni. I collegamenti con i componenti elettronici possono essere fatti attraverso gli strip ed è consigliabile utilizzare una '''breadboard''' per i primi esperimenti, in quanto rende più agevole la realizzazione di circuiti senza dover saldare niente.
 
La scheda lavora a 5 Volt e quando lavora autonomamente, senza il computer, ha bisogno di un trasformatore o una batteria, ad una tensione di almeno 7 Volt.
 
La scheda lavora a 5 Volt e quando lavora autonomamente, senza il computer, ha bisogno di un trasformatore o una batteria, ad una tensione di almeno 7 Volt.
[[File: Img-mancante.png | thumb | 100px | Una breadboard | left]]
+
 
 
Per programmare arduino hai bisogno dell'interfaccia grafica ('''IDE''') scaricabile dal [http://www.arduino.cc/en/Main/Software sito]; per alcune versioni ci sono versioni già pacchettizzate nei repository, ma devi comunque installare alcuni pacchetti per la programmazione, ovvero <code>openjdk-6-jre</code>, <code>avr-gcc</code>, <code>avr-gcc-c++</code>, <code>avr-libc</code>. Una volta lanciato, l'IDE dovrebbe apparire cosí:
 
Per programmare arduino hai bisogno dell'interfaccia grafica ('''IDE''') scaricabile dal [http://www.arduino.cc/en/Main/Software sito]; per alcune versioni ci sono versioni già pacchettizzate nei repository, ma devi comunque installare alcuni pacchetti per la programmazione, ovvero <code>openjdk-6-jre</code>, <code>avr-gcc</code>, <code>avr-gcc-c++</code>, <code>avr-libc</code>. Una volta lanciato, l'IDE dovrebbe apparire cosí:
[[File:Img-mancante | center | 150px]]
+
[[File:IDE-arduino.jpg | center | 300px]]
Nella barra degli strumenti in alto ci sono i comandi fondamentali: il pulsante [[File:Img-mancante | 20px]] per verificare il programma e [[File:Img-mancante | 20px]] per caricarlo sul chip. La prima cosa da fare è selezionare il proprio modello di scheda dal menù <code>Tools>Board</code> (ad es. ''arduino duemilanove'') e, dopo aver collegato arduino all'USB, selezionare la porta di comunicazione attraverso <code>Tools>Serial Port</code>, (ad es. <code>/dev/ttyUSB0</code>). Una volta scritto il programma è sufficiente premere il pulsante upload ed i led TX ed RX della scheda lampeggeranno per qualche secondo, per indicare che il trasferimento sta avvenendo.
+
Nella barra degli strumenti in alto ci sono i comandi fondamentali: il pulsante [[File:Arduino-verify.gif | 15px]] per verificare il programma e [[File:Arduino-upload.gif | 15px]] per caricarlo sul chip. La prima cosa da fare è selezionare il proprio modello di scheda dal menù <code>Tools>Board</code> (ad es. ''arduino duemilanove'') e, dopo aver collegato arduino all'USB, selezionare la porta di comunicazione attraverso <code>Tools>Serial Port</code>, (ad es. <code>/dev/ttyUSB0</code>). Una volta scritto il programma è sufficiente premere il pulsante upload ed i led TX ed RX della scheda lampeggeranno per qualche secondo, per indicare che il trasferimento sta avvenendo.
  
 
== Errori ==
 
== Errori ==
Qualcosa va sempre storto... gli errori appaiono di solito nel terminale nero in basso. Un probabile errore può essere nella sintassi del codice, ad esempio scrivere <code>pinmode</code> invece di <code>pinMode</code>: siccome il C è un linguaggio sensibile alla differenza maiuscole/minuscole, il precedente comando verrà contrassegnato come errore in fase di compilazione.
+
Qualcosa va sempre storto... gli errori appaiono di solito nel terminale nero in basso. Un probabile errore può essere nella sintassi del codice, ad esempio scrivere <code>pinmode</code> invece di <code>pinMode</code>: siccome il C è un linguaggio sensibile alla differenza maiuscole/minuscole, il precedente comando verrà contrassegnato come errore in fase di compilazione:
 
  'pinmode' was not declared in this scope
 
  'pinmode' was not declared in this scope
 
  Prova:2: error: ‘pinmode’ was not declared in this scope
 
  Prova:2: error: ‘pinmode’ was not declared in this scope
 
Il compilatore, in parole povere, avverte che non esiste niente con il nome di ''pinmode'', e indica che l'errore è stato commesso nella ''riga 2'' del file ''Prova''.
 
Il compilatore, in parole povere, avverte che non esiste niente con il nome di ''pinmode'', e indica che l'errore è stato commesso nella ''riga 2'' del file ''Prova''.
 +
 +
Qualcosa che succede spesso è dimenticarsi di configurare il tipo di chip quando si va a caricare; l'IDE imposta di default '''Arduino UNO''', ma se la scheda collegata è diversa, quando il computer avvia la comunicazione, non riceve risposta da Arduino, i led RX e TX ''lampeggiano'' in modo strano e l'IDE dà errore:
 +
avrdude: stk500_recv(): programmer is not responding
 +
 +
Altri errori comuni sono riassunti alla pagina [http://arduino.cc/en/Guide/Troubleshooting Troubleshooting] del sito ufficiale di Arduino.
 +
[[Category:Howto]]

Versione attuale delle 20:24, 1 giu 2018

Pulsante-arduino.gif Stai leggendo la guida "Arduino"


Arduino-logo.gif

Arduino è una scheda programmabile made in italy con microcontrollore, un chip che racchiude al suo interno un computer vero e proprio con la propria RAM, il proprio processore..., ma con funzione completamente diversa. Esso è fatto per eseguire applicazioni specifiche e prestabilite, ad esempio per un sistema di luci con crepuscolare o un robot. Il primo prototipo è stato realizzato ad Ivrea per gli studenti dell'Interaction Design Institute, il progetto però segue la filosofia open hardware, ovvero è privo di copyright e chiunque può apportare modifiche; infatti gli schemi elettronici e i software di programmazione sono liberamente consultabili e scaricabili da Internet, e diverse aziende hanno prodotto una loro versione di questa scheda.

Si trovano in giro diversi modelli, adattati per ogni esigenza: quelli standard sono UNO e duemilanove, e oltre a questi modelli originali, ci sono un gran numero di cloni, schede simili e compatibili alle originali ma con caratteristiche particolari, come sanguino, che ha a bordo un micro più grande e che è stato utilizzato per il progetto stampante 3D reprap.

Cos'ha di particolare questa scheda? Rispetto alle altre è più facile da usare, e costa notevolmente meno; si programma via USB attraverso l'apposito IDE e può funzionare anche mentre è collegata al computer alimentata via USB. La versione base, "duemilanove" costa circa 25 euro ed è acquistabile da vari shop.

La scheda da vicino

La scheda arduino duemilanove
Una breadboard

Il microcontrollore di arduino è (di solito) un ATmega 328 a 28 piedini (o pin) che permettono lo scambio di informazioni con la scheda. Tuttavia solo 20 di essi possono essere utilizzati per interfacciarsi con sensori e altri componenti, poiché gli altri servono per l'alimentazione e altre funzioni. I collegamenti con i componenti elettronici possono essere fatti attraverso gli strip ed è consigliabile utilizzare una breadboard per i primi esperimenti, in quanto rende più agevole la realizzazione di circuiti senza dover saldare niente. La scheda lavora a 5 Volt e quando lavora autonomamente, senza il computer, ha bisogno di un trasformatore o una batteria, ad una tensione di almeno 7 Volt.

Per programmare arduino hai bisogno dell'interfaccia grafica (IDE) scaricabile dal sito; per alcune versioni ci sono versioni già pacchettizzate nei repository, ma devi comunque installare alcuni pacchetti per la programmazione, ovvero openjdk-6-jre, avr-gcc, avr-gcc-c++, avr-libc. Una volta lanciato, l'IDE dovrebbe apparire cosí:

IDE-arduino.jpg

Nella barra degli strumenti in alto ci sono i comandi fondamentali: il pulsante Arduino-verify.gif per verificare il programma e Arduino-upload.gif per caricarlo sul chip. La prima cosa da fare è selezionare il proprio modello di scheda dal menù Tools>Board (ad es. arduino duemilanove) e, dopo aver collegato arduino all'USB, selezionare la porta di comunicazione attraverso Tools>Serial Port, (ad es. /dev/ttyUSB0). Una volta scritto il programma è sufficiente premere il pulsante upload ed i led TX ed RX della scheda lampeggeranno per qualche secondo, per indicare che il trasferimento sta avvenendo.

Errori

Qualcosa va sempre storto... gli errori appaiono di solito nel terminale nero in basso. Un probabile errore può essere nella sintassi del codice, ad esempio scrivere pinmode invece di pinMode: siccome il C è un linguaggio sensibile alla differenza maiuscole/minuscole, il precedente comando verrà contrassegnato come errore in fase di compilazione:

'pinmode' was not declared in this scope
Prova:2: error: ‘pinmode’ was not declared in this scope

Il compilatore, in parole povere, avverte che non esiste niente con il nome di pinmode, e indica che l'errore è stato commesso nella riga 2 del file Prova.

Qualcosa che succede spesso è dimenticarsi di configurare il tipo di chip quando si va a caricare; l'IDE imposta di default Arduino UNO, ma se la scheda collegata è diversa, quando il computer avvia la comunicazione, non riceve risposta da Arduino, i led RX e TX lampeggiano in modo strano e l'IDE dà errore:

avrdude: stk500_recv(): programmer is not responding

Altri errori comuni sono riassunti alla pagina Troubleshooting del sito ufficiale di Arduino.