Lezione
LEZIONE 1
- Intro: chi siamo, cosa facciamo, cosa vogliamo
- Il progetto di Andrea
- Perchè cominciare con Arduino
- Arduino: panoramica scheda.
- Tool di base: breadboard, Jumpers, resistenze (codice colore), LED.
- Arduino IDE (basato su Processing): Text + pulsanti + console. Pulsante serial monitor da tralasciare per ora. Sketch Sketchbook
- Linguaggio: linguaggio C. Reference locale e on line. Ogni nuovo progetto include due funzioni elencate di default nel teso SETUP e LOOP. SETUP: condizioni iniziali, di partenza; eseguito una sola volta. LOOP: contiene codice che viene eseguito ciclicamente.
- Funzione
delay
edelayMicroseconds
. - Cenno a Fritzing (per documentare e condividere, prendere spunto e risolvere problematiche, disegnare e schematizzare)(vedi Docs).
- Led onboard sul pin 13: metodi
pinMode
,digitalWrite
. Definizione di costanteconst
o direttiva#define
. - Led esterno, come scegliere la resistenza? –> LED (legge di kirkoff, forward voltage/current) e dati rilevanti sul datasheet
- Primi esperimenti con breadboard, circuito base: LED + resistore in serie.
- Code blocks, variabili e variable scope,
- Push button: esperimenti per accendere e spegnere un LED. Il
pinMode
dovrà essereINPUT
, il bottone invierà info sulla tensione cui si trova il punto di prelievo. - Funzione
pinMode( [...], INPUT)
,digitalRead
. - circuito con solo il pushbutton premuto –> lettura LOW
- PROBLEMA: se rilascio non leggo sempre HIGH, quello che mi aspetterei –> dovuto al cosidetto floating
- SOLUZIONE: utilizzare una configurazione circuitale di PULL UP oppure di PULL DOWN.
- Firmata: cos’è ?(link1, link2)
- Firmata: un protocollo di comunicazione tra microcontrollers e software client su computer/tablet/ecc… . I messaggi si basano sullo standard MIDI. Uso prevalente di sysex perchè non limitati in numero di bytes per il messaggio.
- Librerie Client per tanti software (ad es. per max, PD, Processing)
- Funzionamento di Firmata: loading della libreria su Arduino (caricamento dello sketch di esempio StandardFirmata) e connessione alla scheda tramite sketch client Processing.
- Sketch di esempio: Arduino2Processing, accendiamo un LED da Processing e leggiamo lo stato di un pushbutton su Processing.
Per approfondire:
- Debounce: come evitare false letture generate dal comportamento meccanico degli switch? Delay tra le letture …
Tra le altre cose…
… abbiamo anche parlato di:
- linuxday 2016: manifestazione italiana dedicata a Linux, al software libero, alla cultura aperta ed alla condivisione. Si terrà a Milano il 22 ottobre in via Comelico 39 (dip. Informatica dell’Università Statale). Noi e i nostri Arduini ci saremo!