From 8d346c83f0e21f3bc7a813d607bd49fafbcf63bc Mon Sep 17 00:00:00 2001 From: Andrea Manni Date: Thu, 17 Mar 2016 17:54:17 +0100 Subject: [PATCH] analog --- lezioni/lezioni | 38 +++++++++++++++++++++++++++----------- 1 file changed, 27 insertions(+), 11 deletions(-) diff --git a/lezioni/lezioni b/lezioni/lezioni index f10f5f2..fc6d501 100644 --- a/lezioni/lezioni +++ b/lezioni/lezioni @@ -32,7 +32,7 @@ Legge di Ohm, datasheet per LED. ...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. + 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. http://lab.piffa.net/schemi/led_condizionale.png - Sketch seriale hello world - fare il circuito con un bottone momentaneo button_1 - sketch con debug seriale button_2_serial @@ -42,19 +42,38 @@ Seriali: funzioni base: instanziare con Serial.Begin(), print - println e flush( 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. -- Fare almeno un blocco degli operatori: operazioni e comparativi. +Finito fondamenti di programmazione -Input analogico: usare un potenziometro, resistivita' proporzionale alla lunghezza, potenziometro per varaire pausa dello sketch blink: a intervalli bassi tende al PWM. Cenni ai trimmer. +Analogico +------------- + + +Status: ci stiamo preparando all'uso dei potenziometri per input anaogici - output analogici. Serve sapere un po' di bit/byte per BYTE / INT e ragionare sulle resistenze (conduttivita') per capire come funziona un potenziometro. -- Informatica: sistema binario: 10bit di risoluzione -Fare un esercizio blink con pot che modifica pausa: spiegare uso di magic numbers. +- Operatori binari basi -- http://arduino.cc/en/Tutorial/SecretsOfArduinoPWM -PWM, fatto con intervalli di un millisecondo, cenno a delayMicroseconds(), introdurre i PWM automatici: base con un byte per luminosita': cicli iterativi. Partire da while, variabile contatore e iteratore, e poi fori ternario. +Tipi di dati: bit e int e long, signed and unsigned, long +- http://www.ladyada.net/learn/arduino/lesson4.html +- Informatica: sistema binario: 8 / 10bit di risoluzione +- Byte e INT e LONG +Approfondimento: leggere le resistenze. 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. +Input analogico: usare un potenziometro, resistivita' proporzionale alla lunghezza, potenziometro per varaire pausa dello sketch blink: a intervalli bassi tende al PWM. Cenni ai trimmer. +- basic/analog_input/analogInput_1/ -> precede l'introduzione del PWM con intervalli brevi +esercizio blink con pot che modifica pausa: spiegare uso di magic numbers. +- http://lab.piffa.net/sketchbook_andrea/basic/analog_input/analogInput_2_serial/ + +PWM: Traduzione tra potenziometro e PWM: /basic/pwm/pwm_4_analog_input/ +PWM: stati. Fare esempi con oscilloscopio / Logic Analizer. + - /basic/pwm/pwm_0_stati/ + https://www.arduino.cc/en/Tutorial/PWM +PWM: tutti gli esercizi con cicli while for per aumentare luminosita': + - basic/pwm/pwm_1_while_byte/ + - http://lab.piffa.net/sketchbook_andrea/basic/pwm/pwm_2_for_loop/pwm_2_for_loop.ino + - pwm/pwm_3_fade_reverser/ richiede operatore OR || + 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. @@ -67,9 +86,6 @@ Stato di un bottone: esercizi vari e operatori AND. 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 -- 2.39.2