Archivi categoria: arduino

Personalizzazione dell’IDE Arduino

Durante la scrittura dei miei appunti sull’uso di Arduino LilyPad, poiché ho scritto le lezioni on-line su due computer diversi, un desktop ed un portatile, mi sono accorto che non ho spiegato come ottimizzare l’uso dell’interfaccia utente, cosa che ho effettuato sul mio portatile variando la dimensione dei font della finestra di programmazione. Oltre al font potete effettuare molte altre modifiche, vediamo come fare.

La modifiche delle preferenze dell’IDE può essere effettuata in due modi:

  • direttamente dall’interfaccia utente
  • modificando il file di configurazione preferences.txt

Modifica dall’interfaccia utente

Agendo in questo modo potete modificare solamente una parte delle preferenze, ma comunque la finestra fa riferimento ad alcuni parametri che si trovano sempre nel file di configurazione dell’IDE: preferences.txt

In ambiente Mac andate in:

Arduino -> Preferences…

Si aprirà il pannello di configurazione:

Potete modificare ad esempio la dimensione del font, la posizione della cartella di default degli sketch ed altro.

Provate ad esempio a modificare la dimensione del font. Nella figura ho messo a confronto le dimensioni dei caratteri di uno stesso sketch:

Notate che nella versione 0021 per MacOS X l’interfaccia presenta un errore, viene indicato che per rendere effettiva la modifica bisogna riavviare l’IDE, ciò non risulta vero sotto MacOS X le modifiche sono immediate e non è necessario riavviare l’IDE.

Modifica dall’interfaccia agendo sul file: preferences.txt

Il file preferences.txt è un file di proprietà Java formato da coppie chiave/valore, la sua collocazione è differente in funzione del sistema operativo:

Windows XP
Documents and Settings -> [username] -> Application Data -> Processing -> preferences.txt

Windows Vista
Users -> [username] -> AppData -> Roaming -> Processing -> preferences.txt

Mac OS X
~/Library -> Processing -> preferences.txt

Linux
~/.processing -> preferences.txt

Ricordate che il carattere “~” indica la propria cartella “Home” quindi nel mio caso la cartella si trova nella mia Home directory come evidenziato nelle immagini in allegato (per semplicità di lettura ho suddiviso l’intera finestra in due parti)

Il file preferences.txt:

 
last.sketch5.location=321,361,778,665,469
last.sketch8.path=/Users/maffucci/Documents/Arduino/AccendiLed6/AccendiLed6.pde
export.application.fullscreen=false
preproc.imports.list=java.applet.*,java.awt.Dimension,java.awt.Frame,java.awt.event.MouseEvent,java.awt.event.KeyEvent,java.awt.event.FocusEvent,java.awt.Image,java.io.*,java.net.*,java.text.*,java.util.*,java.util.zip.*,java.util.regex.*
last.sketch7.location=40,245,629,603,460
editor.font.macosx=Monaco,plain,10
preproc.web_colors=true
last.sketch2.path=/Users/maffucci/_Applications/utility/Arduino.app/Contents/Resources/Java/examples/2.Digital/toneMelody/toneMelody.pde
export.application.platform=true
update.check=true
update.id=3675482826083210692
editor.indent=true
serial.stopbits=1
serial.databits=8
editor.font=Monaco,plain,10
editor.window.height.default=600
run.options.memory=false
editor.divider.size=0
editor.caret.blink=true
preproc.color_datatype=true
export.applet.separate_jar_files=false
last.sketch3.path=/Users/maffucci/_Applications/utility/Arduino.app/Contents/Resources/Java/examples/2.Digital/toneMelody/toneMelody.pde
preproc.output_parse_tree=false
run.window.bgcolor=#FFFFFF
console.lines=4
upload.using=bootloader
console.error.file=stderr.txt
run.options.memory.maximum=256
editor.tabs.expand=true
editor.window.height.min=450
editor.keys.home_and_end_travel_far=true
board=lilypad328
console=true
run.present.exclusive.macosx=true
last.sketch4.path=/Users/maffucci/_Applications/utility/Arduino.app/Contents/Resources/Java/libraries/LiquidCrystal/examples/Scroll/Scroll.pde
serial.parity=N
editor.tabs.size=2
console.length=500
last.sketch0.location=42,46,698,544,401
serial.port=/dev/tty.usbserial-A8004wec
last.sketch2.location=181,68,599,716,573
run.options=
console.auto_clear=true
update.last=1309266218530
last.sketch4.location=497,42,778,665,469
editor.window.width.min=400
run.present.exclusive=true
export.application.platform.linux=true
last.sketch6.location=918,284,778,665,469
last.sketch5.path=/Users/maffucci/Documents/Arduino/AccendiLed9/AccendiLed9.pde
editor.keys.home_and_end_travel_far.macosx=true
editor.window.height.min.windows=530
run.present.bgcolor=#666666
export.application.platform.windows=true
last.sketch8.location=291,30,670,668,525
target=arduino
run.options.memory.initial=64
editor.keys.alternative_cut_copy_paste=false
editor.window.width.default=500
console.output.file=stdout.txt
preproc.substitute_unicode=true
run.present.stop.color=#cccccc
editor.external=false
last.screen.height=768
last.sketch6.path=
editor.keys.shift_backspace_is_delete=true
editor.window.height.min.macosx=450
last.sketch.count=1
export.delete_target_folder=true
last.sketch0.path=/Users/maffucci/Documents/Arduino/LilyPad02/LilyPad02.pde
preproc.substitute_floats=true
editor.keys.alternative_cut_copy_paste.macosx=false
browser.linux=mozilla
editor.invalid=false
serial.debug_rate=9600
sketchbook.path=/Users/maffucci/Documents/Arduino
last.sketch7.path=/var/folders/9V/9VbLBBZuEBmK-V04gmH1Ik+++TI/-Tmp-/untitled2986358644260397561.tmp/sketch_mar18c/sketch_mar18c.pde
export.application.stop=true
editor.divider.size.windows=2
last.sketch1.path=/Users/maffucci/Documents/Arduino/LilyPad02/LilyPad02.pde
preproc.enhanced_casting=true
run.display=1
last.sketch1.location=75,54,698,544,401
platform.auto_file_type_associations=true
editor.antialias=false
last.sketch3.location=181,68,599,716,573
preproc.save_build_files=false
last.screen.width=1366
export.application.platform.macosx=true

Proviamo ad esempio ad attivare l’output dettagliato della compilazione ed il caricamento di uno sketch.

inserite la seguente coppia di chiave/valore:

build.verbose=true

provate a caricare ad esempio il programma “blink” e provate ad fare click sul bottone “Verify” o sul pulsante “Upload” otterrete una schermata simile a quella della figura che segue:

Diversamente da quella che si otterrebbe normalmente senza l’introduzione della chiave/valore: build.verbose=true

come in figura:

Nelle ultime versioni dell’IDE è possibile ottenere le stesse informazioni premendo il tasto Maiuscolo (shift) quando fate click su “Verify” o “Upload”.

Ricordate per rendere attive le modifiche dovete chiudere il file preferences.txt e riavviare l’IDE.
Tutte le modifiche preferences.txt devono essere fatte con l’IDE chiuso. Fate attenzione che se modificate il file preferences.txt con IDE aperto, tutte le modifiche che fate verranno sovrascritte con la precedente versione di preferences.txt e quindi al successivo avvio dell’IDE non vedrete le modifiche apportate.

Arduino LilyPad – lezione 02: facciamo lampeggiare un led

Installazione IDE Arduino

Per l’installazione dell’IDE prendete come sempre riferimento le guide sul sito Arduino oppure quelle che trovate su questo sito:

Installazione su Mac OS X
Installazione UBUNTU

Configurazione IDE

Di seguito trovate i passi per selezionare la porta seriale e la scheda dall’IDE Arduino per Mac OS X, per gli altri sistemi operativi il procedimento è analogo, seguite le istruzioni che trovate su questo sito facendo attenzione a selezionare la porta seriale e la scheda corretta.

Collegate il vostro LilyPad al computer ed avviate l’IDE Arduino.

Noterete, non appena collegate il cavo USB al computer i led TX e RX disposti sull’adattatore USB incominciano a lampeggiare, così come il led su LilyPad, dopo qualche secondo si spengono.

Selezionate la scheda: Tools -> Board -> LilyPad Arduino w/ ATmega328

Selezionate la porta seriale corretta: Tools -> Serial Port -> /dev/tty.usbserial-A8004wec

Esempio di programmazione: il nostro “amico” blink

La programmazione del dispositivo è identica a quella che potreste fare su qualsiasi altra scheda Arduino e quindi potete tranquillamente seguire il corso che trovate su questo sito facendo le dovute modifiche rispetto alla piedinatura.
Per questa breve introduzione userò il solito programma Blink.

Dagli esempi aprite lo sketch Blink:

File -> Example -> 1.Basic -> Blink

Lo sketch Blink:

Compilate il programma:

Se tutto va a buon fine al fondo della finestra apparirà il messaggio: “Done compiling”

Effettuate l’upload dello sketch sulla scheda, mentre viene effettuatta questa operazione lampeggiano i led RX e TX e dopo qualche istante lampeggerà il led sulla scheda:

Fate attenzione se vi compaiono messaggi di errore in fase di uloading è molto probabile che abbiate selezionato una porta seriale non corretta:

Se tutto a ha buon fine comparirà il messaggio “Done uploading”

Bene! Avete realizzato il vostro primo programma per LilyPad.

Arduino LilyPad – lezione 01: conoscere la scheda

Durante il prossimo anno scolastico continuerò il corso su Arduino e sperimenterò con i miei allievi anche l’uso di LilyPad, vorrei realizzare un progetto che sto portando avanti da qualche tempo che riguarda la realizzazione di un sistema indossabile per il rilevamento istantaneo di alcune grandezze fisiche che dovranno essere tradotte in tempo reale in grafici su computer e report su web.

Le lezioni su LilyPad che pubblicherò nei prossimi giorni su questo sito, saranno utilizzate durante il prossimo anno scolastico e potranno essere suscettibili di modifiche ed integrazioni. Tutte le lezioni su LilyPad, articoli e commenti importanti saranno accessibili direttamente dalla sezione: Impariamo ad usare Arduino dove trovate anche le lezioni che sto realizzando su Arduino UNO, dispense e link a risorse gratuite.

Queste lezioni prendono spunto dal tutorial che trovate al seguente link, a cui ho aggiunto esempi, filmati e dettagli tecnici.

I componenti utilizzati in questo tutorial sono stati acquistati sul sito SparkFun.

e per questo esempio ho utilizzato il kit: LilyPad Pro Kit in cui il microcontrollore sulla scheda LilyPad è l’ATmega328V.
La scheda LilyPad di questo kit corrisponde alla revision 4 (indicata sul sito arduino.cc come LilyPad Arduino 04)

Arduino LilyPad è una scheda studiata appositamente per applicazioni creative che possono essere indossate, infatti la scheda ha la possibilità di essere cucita su tessuti e i vari dispositivi possono essere interconnessi tra di loro mediante filo da sartoria conduttivo. Ha una forma circolare con diametro di 50 mm, spessore 0,8 mm.

LilyPad può essere programmato con il software Arduino dalla versione 10.0 o superiori.
La scheda può essere alimentata attraverso la presa USB del computer o mediante alimentazione esterna (mediante apposito adattatore). Può funzionare nel range di tensione che va da 2,7 a 5 V.
Rispetto alle altre schede Arduino, LilyPad risulta molto più fragile, inoltre fate attenzione a non superare la tensione di alimentazione di 5 V, rischiereste di romperla.
Maggiori informazioni sulle caratteristiche tecniche potete trovarle seguendo il link, se volete una prima guida seguite invece questo link, mentre per un tutorial andate qui.

Per quanto riguarda la piedinatura fate riferimento alle due immagini che vi allego:

fonte: westfw via Arduino forum

fonte: oreilly.com

Quindi l’elenco dei piedini è il seguente:

Piedino 1 – TX/D1
Piedini 2,3,4 – D2, D3, D4
Piedino 5 – GND o “-” (terra)
Piedino 6 – Vcc o “+” (alimentazione)
Piedino 7,8,9,10,11,12,13,14,15 – piedini digitali da D5 a D13
Pins 16,17,18,19,20,21 – piedini analogici da A0 a A5

Connettore superiore:

Piedino 1 – DTR
Piedino 2 – RX1
Piedino 3 – TX0
Piedino 4 – VCC
Piedino 5 – CTS (collegato a massa)
Piedino 6 – GND

Collegamento al computer

LilyPad può essere connessa al computer utilizzando i 6 pin che trovate sopra la scheda (nel mio caso):

Le modalità di collegamento sono 2:

FTDI Basic Breakout – 3.3V quella utilizzata da me.

USB FTDI TTL-232 cable – TTL-232R 3.3V

Se la vostra scheda è dotata di 4 connettori ed appartenente alla revision 2, allora per poterla collegare al computer dovete seguire il tutorial che trovate al seguente link.

Nella prossima lezione incominceremo a programmare!

Android e Arduino

Ho di recente ricevuto da un collega di Bolzano richieste di consigli su come impostare un corso su Arduino in un ITI, dalla quantità di schede agli shield aggiuntivi ai sensori e tra le varie consigli mi chiedeva se potesse essere un valore aggiunto sperimentare Amarino.
Senza alcun dubbio sì, anche se le competenze di base degli allievi, secondo me, dovrebbero essere superiori rispetto ad un corso di base in cui si insegna ad usare solamente Processing. In ogni caso se si desidera arricchire il percorso formativo degli allievi indirizzarsi verso Android per me è una buona scelta.
Oltre ad Amarino esistono altri ambienti di sviluppo, segni importanti del mercato ve ne sono, non ultimo la scelta di Google che durante l’evento Google I/O 2011 ha reso ufficiale il suo impegno nel realizzare un kit di sviluppo basato sul microcontrollore Mega2560 e lo shield: USB Host Shield 2.0 per Arduino
da utilizzare per interfacciare via USB i dispositivi Android con firmware 2.3.4 o 3.1, in attesa lo sviluppo per l’interfacciamento Bluetooth.
Quindi se intendete sviluppare apparati elettronici da collegare a smartphone basati su Android utilizzando il kit di sviluppo di Google, la parte hardware del kit sarà Arduino.

Arduino: alcune precisazioni sull’antirimbalzo

Se ricordate nella lezioni 3 su Arduino vi avevo parlato dell’antirimbalzo, una soluzione che ci consentiva di superare il problema meccanico di oscillazione dei pulsanti.
Nel sistemare gli appunti delle lezioni che ho realizzato a scuola e che proseguiranno il prossimo anno scolastico, ho trovato un grafico che meglio di ogni spiegazione teorica evidenzia il problema.
Come vi avevo detto il malfunzionamento dipende dal fatto che i pulsanti meccanici rimbalzano per alcuni millisecondi nel momento in cui sono premuti e rilasciati, questo è il grafico del segnale elettrico:

Come si evince dalla figura, appena il pulsante viene premuto o rilasciato si genera un segnale “sporco” e per risolvere il problema è necessario aggiungere la funzione “antirimbalzo