Author: Andrea Manni Copyright: GFDL Version: 0.1
Traccia degli argomenti del corso base su Arduino Make++ tenuto al Giovedi’ (gli studenti del Lunedi’ guardino l’altro documento!) nel Laboratorio NetGarage in via Barchetta. Questo documento non costituisce un manuale per il corso ma solo una traccia degli argomenti trattati nelle varie giornate di lezione, i riferimenti per testi e risorse consigliati li trovate su: http://lab.piffa.net/testi.html
Indice degli argomenti
Generato il 2015-04-20 con: http://docutils.sourceforge.net/rst.html
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.
Sketches: basic/analog_input/photo_[3,4,5,6].
PWN con bytes per introdurre i cicli iterativi: loop(), while() e cicli for. Sketches utilizzati:
Approfondimenti su PWM:
Cicli for e operatore ternario, utilizzare un for loop per dichiarare i PIN:
Sketches utilizzati:
Primo approccio alle State Machine tramite la realizzazione di un circuito che rileva la pressione di un bottone momentaneo per modificare lo stato di un LED.
Sketch di esempio:
Gli schemi per la breadboard sono sostanzialmente simili a quelli di un bottone in pull down e un LED:
PWM, fatto con intervalli di un millisecondo, cenno a delayMicroseconds(), introdurre i PWM automatici: base con un byte per luminosita’: cicli iterativi. PWM gestito da Arduino con AnalogWrite(): http://arduino.cc/en/Tutorial/PWM Dimostrazione con analizzatore logico di un circuito con PWM
Anteprima dello sketch: http://lab.piffa.net/sketchbook_andrea/basic/pwm/pwm_1_while_byte/ da rivedere dopo aver fatto gli operatori ( http://lab.piffa.net/sketchbook_andrea/programming/operators/ ) e i tipi di dati (byte in particolare).
Per chi fosse curioso la dimostrazione fatta dalla mia postazione con l’analizzatore logico per “vedere” il PWM e’ basata su questo sketch: http://lab.piffa.net/sketchbook_andrea/advanced_projects/led_PWM_logical_analyzer_demo/
Gli sketch che abbiamo utilizzato sono:
Gli schemi per la breadboard:
Per gli interruttori e le resistenze in PULL DOWN / UP potete dare un’occhiata anche agli schemi sul tutorial all’URL: http://www.ladyada.net/learn/arduino/lesson5.html
Non abbiamo fatto le state machine, la prossima volta faremo input analogico e poi output analogico.
Circuito elettrico: sempre tre elementi (fonte di energia, carico, circuito), flusso di elettroni, carico, circuito aperto e chiuso, corto circuito.
Concetti generali di elettronica: http://ishtar.df.unibo.it/em/elet/cover.html
Legge di Ohm, calcolare resistenze per LED i un circuito.
Introduzione alle breadboard:
Esercizio con Arduino: collegare un secondo LED tramite breadboard:
Vi ricordo che se non avete a disposizione una scheda Arduino e i componenti elettronici necessari potete provare ad usare il simulatore on-line: viewtopic.php?f=3&t=7
Utilizzare la seriale per debug: funzioni print, println e flush . Bound Rate: BPS, velocita’ di trasferimento dati.
Sketch di esempio utilizzato: http://lab.piffa.net/sketchbook_andrea/ ... _world.ino
Ripasso (per chi vuole) su informatica di base e sistemi operativi:
Se volete rivedere i listati dello sketch Blink visti in aula:
Il primo esercizio base, Blink, e’ ampiamente trattato su una moltitudine di siti internet e manuali, vi lascio in proposito un paio di links:
Circuito elettrico: sempre tre elementi (fonte di energia, carico, circuito), flusso di elettroni, carico, circuito aperto e chiuso, corto circuito.
ATmega32 MCU, IC montato DIP / DLP (dual in line package) e non SMD (surface mounted), sostituibile. 20 / 22 pin utilizzabili: 14 digital in/outi (6PWM), 6 analog input, USB, 2 ICSP, reset button.
Power: via USB, via l’entrata regolata (7-12v) con protezione di reverse polarity, i connettori power Vin non sono protetti.
4 LED: power , RX, TX, LED (13 con resistenza).
Architettura PC: Multipourpose