Il mio modello è un arduino UNO, in commercio da relativamente poco, e uso Debian Sid sull'eee-pc quale sto lavorando.
Cominciamo con il software:
"Linux doesn't have any drivers to install, assuming you're running a v2.6 kernel."
ok, ottimo! se non sapete che versione del kernel state usando (male) lo potete verificare con
luke@edi:~$ uname -a
Linux edi 2.6.32-5-686 #1 SMP Wed Feb 24 18:07:42 UTC 2010 i686 GNU/Linux
Collegato allora l'arduino via USB, noto che
luke@edi:~$ dmesg | tail
[25312.952753] usb 4-2: new full speed USB device using ehci_hcd and address 8[25313.046802] usb 4-2: New USB device found, idVendor=2341, idProduct=0001
[25313.046805] usb 4-2: New USB device strings: Mfr=1, Product=2, SerialNumber=220
[25313.046807] usb 4-2: Product: Arduino Uno
[25313.046808] usb 4-2: Manufacturer: Arduino (www.arduino.cc)
[25313.046809] usb 4-2: SerialNumber: 6493832333135131A221
[25313.046886] usb 3-1.1: configuration #1 chosen from 1 choice
[25313.103562] cdc_acm 4-2:1.0 ttyACM0: USB ACM device
Un veloce controllo
luke@edi:~$ ls -l /dev/ttyACM0
crw-rw---- 1 root dialout 166, 0 Nov 1 16:41 /dev/ttyACM0
mi suggerisce di aggiungermi al gruppo dialout se già non ci sono:
luke@edi:~$ id
uid=1000(luke) gid=1000(luke) groups=1000(luke),20(dialout),29(audio),40(src),44(video),1002(wireshark)
perfetto: la schedina funziona ed è riconosciuta dal sistema. E' tempo di presentare la scheda al pc e metterli in comunicazione, e di spiegare all'arduino cosa vogliamo che faccia.
A questa pagina è possibile trovare il software necessario. D'altra parte, leggo qui che esistono i pacchetti per Debian:
luke@edi:~$ aptitude show arduino
Package: arduino
New: yes
State: installed
Automatically installed: no
Version: 0018+dfsg-4
Priority: extra
Section: electronics
Maintainer: Scott Howard <showard314@gmail.com>
Uncompressed Size: 3,863k
Depends: default-jre | java6-runtime, libantlr-java, libecj-java, libjna-java, liboro-java, librxtx-java, openjdk-6-jdk | sun-java6-jdk, arduino-core (= 0018+dfsg-4)
Recommends: extra-xdg-menus
Description: AVR development board IDE and built-in libraries
Arduino is an open-source electronics prototyping platform based on flexible, easy-to-use hardware and software. It's intended for artists, designers, hobbyists, and
anyone interested in creating interactive objects or environments.
This package will install the integrated development environment that allows for program writing, code verfication, compiling, and uploading to the Arduino
development board. Libraries and example code will also be installed.
Homepage: http://www.arduino.cc
Fantastico, ma la versione disponibile in sid è la 0018, mentre i possessori di arduino UNO hanno bisogno della 0021 (come ci si accorge subito, cercando di configurare il programma, la scheda non appare tra quelle disponibili)!
Installata dunque la versione corretta e scelta dal menu la nostra scheda, dobbiamo solo provare a scrivere qualche programma! Nella documentazione e nel programma appena installato sono compresi molti esempi auto-esplicativi e commentati, da cui consiglio di partire.
Naturalmente e' disponibile qui una lista di librerie, esempi e tutto cio' che possiamo desiderare!
Come primo esempio, ho provato con questo Sketch:
/*
Blink
Turns on an LED on for one second, then off for one second, repeatedly.
This example code is in the public domain.
*/
void setup() {
// initialize the digital pin as an output.
// Pin 13 has an LED connected on most Arduino boards:
pinMode(13, OUTPUT);
}
void loop() {
digitalWrite(13, HIGH); // set the LED on
delay(1000); // wait for a second
digitalWrite(13, LOW); // set the LED off
delay(1000); // wait for a second
}
Blink
Turns on an LED on for one second, then off for one second, repeatedly.
This example code is in the public domain.
*/
void setup() {
// initialize the digital pin as an output.
// Pin 13 has an LED connected on most Arduino boards:
pinMode(13, OUTPUT);
}
void loop() {
digitalWrite(13, HIGH); // set the LED on
delay(1000); // wait for a second
digitalWrite(13, LOW); // set the LED off
delay(1000); // wait for a second
}
che naturalmente trovate tra gli esempi.
La mia scheda e' una di quelle con un led gia' connesso al pin 13, ma e' possibile aggiungerne uno per sentirci gia' un po' fighi (e per darci un sacco di spunti di conversazione al pub: ehi ho costruito il mio primo circuito della mia vita!) non resta che verificare la sintassi e uploadare il tutto sulla schedina.
ed ecco, signori e signore, il risultato del lavoro:
Nessun commento:
Posta un commento