lunedì 1 novembre 2010

Hello World!

Ho deciso di seguire questo tutorial, decisamente ottimo per chi, come me, si avvicina per la prima volta al mondo dell'elettronica e ha la manualità di un grapolita (non prendetevela, ma se vi siete estinti, un motivo ci sarà).


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
}

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