Partire dalla funzione digitalWrite, modificare i tempi e ripetere: sequenze di istruzioni.
Variabili: impostare i tempi con una variabile.
Fare una funzione per rapido - lento, guardare loop() e setup()
+impostare una nuova funzione per tempi e led: argomenti.
Setup() symbolic constant /usr/share/arduino/hardware/arduino/cores/arduino/Arduino.h
Mettere funzioni in un file separato, senza estensione.
Informatica: automatismi per operazioni ripetitive.
Introdurre un ciclo while() con un iteratore, ragionare sulla gestione dell'iteratore, scope, introdurre ciclo for (esercizio blinks/blink_4)
+Descrivere variabili e costanti, l'operatore const.
Introdurre un LED e un resistore: circuiti elettrici, introduzione.
Breadboard, jumpers, colore per cavi.
+Legge di Ohm, datasheet per LED.
-impostare una nuova funzione per tempi e led: argomenti.
-...diventa ripetitivo: serve qualcosa per cambiare il flusso di esecuzione: cicli condizionali (e poi iterativi).
+...diventa ripetitivo: serve qualcosa per cambiare il flusso di esecuzione: cicli condizionali.
Input base per accendere un LED (senza bottone, col jumper), input libero: se non e' collegato a +5 o a ground e' come una antenna.
- Sketch seriale hello world
Seriali: funzioni base: instanziare con Serial.Begin(), print - println e flush() del buffer.
Usare un bottone e una resistenza: pull up e pull down, ciclo IF, invertire il circuito del bottone: confronto con cambio software per introdurre elettronica digitale.
+Differenza tra while e for: bottone con ciclo while.
Approfondimento: leggere le resistenze e i LED.
State machine
==============
-Oensarlo per accendere due led con millis )multitasking)
+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.
=====
Visti input e output analogici: ora alternare la presentazione di un sesore (input) e un attuatore.
-Piezo: meldie varie, sirene.
+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.
-Input analogico: sensore di luminosita'. Lettura valori, calibrazione manuale, 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.