Author: Andrea Manni Copyright: GFDL Version: 1.0
Traccia degli argomenti del corso base su Arduino Make++ tenuto in Ottobre 2015 al Lunedi’ e Giovedi’ 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 2017-03-22 con: http://docutils.sourceforge.net/rst.html
Multitasking: utilizzare un RTOS col Framework Arduino su Cortex M4:
Altri link a progetti simili standard:
Link: https://learn.sparkfun.com/tutorials/serial-communication
Cenni a TTL ligic: valori standard per definire i voltaggi per 0 / 1: https://learn.sparkfun.com/tutorials/logic-levels
Esercizi:
Dalla IDE Arduino:
Info e guide:
Eercizi:
Terminato il corso ricordatevi di iscrivervi al Forum di discussione:
Con l’anno nuovo ci si potra’ organizzare per ritrovarsi nel laboratorio per esercitarsi e condividere progetti.
I programmi dei prossimi corsi saranno pubblicati su http://lab.piffa.net/
Tipi di dati (data types): byte - int - long , signed e unsigned. Link su: Introduction to types (part 1)
Eseguire diversi task contemporaneamente: problemi dell’uso della funzione delay(): sketch: sketchbook_andrea/multitasking/blink_0
Isolare il codice di ogni task in una funzione: sketchbook_andrea/multitasking/BlinkWithoutDelay_2_led/
Passare un argomento a una funzione: variabili locali e globali: sketchbook_andrea/multitasking/BlinkWithoutDelay_4_argomento/
Refactoring: passare dal codice http://lab.piffa.net/sketchbook_andrea/basic/blinks/blink_0/blink_0.ino alla versione rozza http://lab.piffa.net/sketchbook_andrea/programming/loops/loop_0_rider/loop_0_rider.ino alla versione con array e ciclo iterativo: http://lab.piffa.net/sketchbook_andrea/programming/loops/loop_1_array_loop/loop_1_array_loop.ino
Bottoni in pull-down, esercizio: http://lab.piffa.net/sketchbook_andrea/piezo/piezo_2_keyboard/
Stati di un bottone: creare un circuito in cui viene tracciato lo stato di un bottone (sensore ) e in base all’input dell’utente si modifica lo stato di un attuatore (output, un LED).
Circuiti analizzati: - http://lab.piffa.net/schemi/circuito_led_button_bb.png - http://lab.piffa.net/schemi/button_1_bb.png
Sketches: - http://lab.piffa.net/sketchbook_andrea/basic/buttons/button_state_3/ - http://lab.piffa.net/sketchbook_andrea/basic/buttons/button_state_4_state/ - http://lab.piffa.net/sketchbook_andrea/basic/buttons/button_state_4_state_and_condition/
Links: - https://www.arduino.cc/en/Tutorial/StateChangeDetection
Debounce: introduzione al problema generale, soluzione semplice tramite un delay. Non e’ stato ancora visto il debounce tramite la funzione millis().
Piezoelettricita’: concetti di base e funzionamento. Utilozzo di un piezo in output analogico (PWM) per seguire l’input analogico di una fotoresistenza.
Links: - http://lab.piffa.net/sketchbook_andrea/basic/analog_input/photo_7_tonePitchFollower/photo_7_tonePitchFollower.ino - http://www.dummies.com/how-to/content/how-to-make-an-instrument-with-the-arduino.html
input analogico e pwm: mappatura di un input analogico su un output analogico:
sketches:
Nota
se volete vedere i vari elenchi di materiali presi in considerazioni per i corsi avanzati potete consultare gli elenchi:
Operatori binari per operazioni e comparativi:
Cenni introduttivi.
Byte. 8 bit. Differenza con integer.
Analogico e digitale. Conversioni, bitrate, perdita di dati.
Potenziometri, trimmer, differenze. Resistenze in serie.
Uso dei pin input analogici con un potenziometro:
Simulazione di output analogici tramite PWM. Introduzione, diuty cycle, 8bit di profondita. Utilizzo del data type bit per pilotare un PWM.
Esercizi: - http://lab.piffa.net/sketchbook_andrea/basic/pwm/pwm_0_stati/ - http://lab.piffa.net/sketchbook_andrea/basic/pwm/pwm_1_while_byte/ - http://lab.piffa.net/sketchbook_andrea/basic/pwm/pwm_1_soluzione_doppio_while_byte/
Introduzione alla riga di comando: standard input,output, comandi di base (whoami, hostname, pwd, ls, cd). Utenti di sistema e superutente.
Guide:
Git: introduzione, clonare e aggiornare un archivio.
Cicli condizionali, esercizi:
Guide: http://www.maffucci.it/2012/04/10/appunti-di-programmazione-su-arduino-controllo-di-flusso/
Ripasso su legge di Ohm, potenza e consumo di un circuito e dei singoli componenti. Arduino: specifiche tecniche relative alla gestione energetica: http://playground.arduino.cc/Main/ArduinoPinCurrentLimitations .
Bottone momentaneo, DPST poli e throw, sensore libero come antenna, pull down.
Per gli interruttori e le resistenze in PULL DOWN / UP potete dare un’occhiata anche agli schemi sul tutorial all’URL:
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/basic/serial_debug/serial_hello_world/serial_hello_world.ino
Links:
Ciclo while, esercizio: http://lab.piffa.net/sketchbook_andrea/basic/blinks/blink_4_ciclo_while/
Cicli for e operatore ternario.
Esercizio: - http://lab.piffa.net/sketchbook_andrea/basic/blinks/blink_4_1_ciclo_for/
Legge di Ohm, calcolare resistenze per LED in un circuito.
Introduzione ai LED e alle resistenze.
Il primo esercizio base, Blink, e’ ampiamente trattato su una moltitudine di siti internet e manuali, vi lascio in proposito un paio di links:
Se volete rivedere i listati dello sketch Blink visti in aula:
Circuito elettrico: sempre tre elementi (fonte di energia, carico, circuito), elettroni e carica elettrica, carico, circuito aperto e chiuso, corto circuito.
Compilazione - sorgente (passaggi vari: precompilatore, linker) -> codice oggetto specifioc per CPU / Architettura. Upload (burn) codice su flash di arduino via USB. Poi USB come seriale (non possono lavorare assieme).
Primo approccio all’IDE Arduino.
Arduino IDE: sistema integrato. Utilizzare IDE.
Tools -> serial / board
Barra strumenti - Short cuts
Ctrl + R Verify
Ctrl + U Upload
Ctrl + Shift + M Serial Monitor
Menu Contestuale: cerca nella guida
Upload -> LED: rx tx power led
I testi consigliati per il corso li trovate su: http://lab.piffa.net/lezioni.html#bibliografia