+Elettronica: resistivity p (Greek: rho) Resistenza * (Area / lunghezza) - Conductivity sigma 1/p : serve per fare una resisteza da ~5k con due da 10 in parallelo.
+
+Fare pitch follower con calibrature.
+Input analogico: sensore di luminosita'. Lettura valori, calibrazione manuale, calibrazione automatica, map(), constrain(), smoothing. Sketch basic/analog_input[3,4,5,6]. trasformazione input -> output analogico di un piezo: poibilita' di percepire soglie e range non percepibili con i sensi umani. Smothing (semplificato), claibrazione automatica.
+
+- Introdurre gli operatori comparativi (>,<,=!) e booleani (&&, ||, !):
+Stato di un bottone: esercizi vari e operatori AND.
+
+- Array: knight rider - cicli loop
+
+- Piezo e bottoni in pull-up per keyboard
+Descrizione del funzionamento, melodie di esempio (mario tunes!).
+Arduino dev: utilizzare sketch su piu' tabs (include): percorsi <> ""
+
+Tipi di dati: bit e int e long, signed and unsigned, long
+- http://www.ladyada.net/learn/arduino/lesson4.html
+Input analogico per impostare il PWM.
+
+Debouncing con millis: grafico http://www.ladyada.net/learn/arduino/lesson5.html
+
+Eventuale: fare il circuito Knight rider con 6 led per pratica con for loop, magai con un solo resistor. http://arduino.cc/en/Tutorial/ForLoop
+
+State machine
+==============
+
+Pensarlo per accendere due led con millis )multitasking)
+- https://learn.adafruit.com/downloads/pdf/multi-tasking-the-arduino-part-1.pdf
+e per i bottoni.
+
+Ratio
+=====
+Visti input e output analogici: ora alternare la presentazione di un sesore (input) e un attuatore.
+
+Input analogico: sensore di luminosita'. Lettura valori, calibrazione manuale, calibrazione automatica, map(), constrain(), smoothing. Sketch basic/analog_input[3,4,5,6]. trasformazione input -> output analogico di un piezo: poibilita' di percepire soglie e range non percepibili con i sensi umani. Smothing (semplificato), claibrazione automatica.
+
+Piezo: meldie varie, sirene. Pitch follower, melodia con 3 tasti in pullup, melodia pre impostata con include di libreria.
+
+LED RGB: ciclo per ogni colore, impostazione via seriale.
+PWM con LED RGB.
+
+Programmazione: vedere come stiamo con operatori e data types.
+Direttive per preprocesor: # define - # if defined - per DEBUG
+Usare seriale per aritmetica.
+
+
+
+Seriali: scrivere e debugging. Interpretae input / caratteri da seriale per accendere un LED.
+
+Motore a spazzole, transistor e diodo.
+- Accendere e spegnere un motore,
+- usare un ciclo FOR per PWM,
+- potenziometro per variare PWM (con debuggin seriale)
+- impostare valore minimo per motore (da usare con analoglWrite)
+
+
+Servo: descrizione / caratteristiche base (vedi guida)
+Fare i due sketch di esempio: ciclio FOR e Knob.
+- C: caricare librerie
+
+
+Piezo
+Descrizione del funzionamento, melodie di esempio (mario tunes!).
+Arduino dev: utilizzare sketch su piu' tabs (include): percorsi <> ""
+Programmazione: array, strutture dati.
+Pitch follower - sensore luminose connesso a piezo. Ricordarsi di calibrare il sensore con map().
+Usare un piezo come input - knock (descrivere come le dimensioni influenzano la sensibilita', esistono piezo costruiti espressamente per input - flex). Occhio alla sensibilita'.
+
+
+
+
+Ottimizzazione: multitasking con millis() al posto di delay(),
+Debouncing, gestione stato di un bottone, arrotondamento su media della lettura di un sensore, calibrazione di sensori. Calibrazione automatica in un range di tempo durante il setup().
+
+
+INPUT_PULLUP: bottone senza resistenza come input.
+
+--- Shift register: binario - decimale -esadecimale. Circuiti semi-permaneti su mini breadboard, piu' listati per stesso circuito.
+
+Avanzati
+===========
+
+Interrupts: http://gammon.com.au/interrupts
+Usati per l'input dell'utente, servono per intercettare eventi e non per fare cambiamenti. Uso di ``volatile`` per le variabili con IRS. Usare un timer per interrupts.
+
+Timers: possono essere usati per PWM con periodo diverso da 500hz, possono avere una risoluzione di 1024.
+
+Powermanagement: ridurre i consumi abbassando la frequenza operativa, spegnere parti della MCU (poco utile: 1.4ma di risparmio con tutto spento), mettere tutto in sleep mode: narcoleptic, delay() che manda in sleep in MCU.
+Usare un digitalWrite() per fornire 5v a un sensore (es fotocellula) solo quando andiamo a fare una lettura con alanogRead(), poi tornare a spegnerlo.
+
+Memoria: controllare l'utilizzo della memoria con la libreria MemoryFree.
+Usare constanti e bytes, rimuovere chiamate a Serial.println() (500bytes) con #IF DEBUG . Programmare arduino senza il bootloader salva un paio di KB.
+
+Arduino in potenza, slides: http://www.maffucci.it/2015/04/14/on-line-le-slide-alfabeto-di-arduino-lezione-5/