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 e delayMicroseconds.
  • 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 costante const 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à essere INPUT, 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!