Lezione
LEZIONE 2
- Arduino e il campionamento ADC @ 10bit (intervallo di campionamento e passo di quantizzazione)
- Partitore di tensione (potenziometro vs. fotoresistore)
- I pin analogici in Arduino identificati dalla macro A# (con # il numero del pin analogico 0-5)
- La funzione
delay
per lavorare con il convertitore A/D - Analisi del funzionamento di un nuovo componente (DHT11 sensore di umidità e di temperatura) a partire dal datasheet e da tutorial online
- Installazione di una libreria esterna. Esame dei files che la compongono
.h
,.cpp
ekeywords.txt
- Approfondimento della comunicazione seriale e lettura del dato proveniente da un sensore analogico (potenziometro / fotoresistore / accelerometro) su monitor seriale
- Funzioni
analogRead
emap
- Accenni comunicazione seriale con handshaking:
- Accenni al funzionamento di
analogWrite
per effettuare la scrittura analogica (scrittura di un segnale digitale modulato in larghezza di impulso, PWM). - Esperimenti con sensore di prossimità ad ultrasuoni (Devantech SRF04), uso delle funzioni
delayMicroseconds
epulseIn
per misurare la durata dell’impulso. - Accenni al sensore di prossimità ad infrarossi IR (SHARP) e linearizzazione dei dati
- Accenni alla comunicazione seriale avanzata: Arduino in comunicazione con altri programmi senza l’utilizzo del protocollo Firmata.
- softwareSerial (pagina della reference): simulazione software di un sistema di comunicazione seriale. Utile per applicazioni in cui siano necessarie più vie di comunicazione (per controllare più sensori o per controllare un sensore e inviare dati al computer nello stesso tempo).
- Accenni alla comunicazione I2C, protocollo di comunicazione tra microcontrollori su bus condiviso. Un esempio breakboard Adafruit che monta il chip MPR121 per sensing capacitivo.
Approfondimenti
- funzione
costrain
per impedire che variabili assumano valori al di fuori di un range impostato (spesso usata assieme alla funzionemap
) - Timing, funzioni
millis
emicros
da utilizzare per misurare intervalli di tempo - Scrittura analogica: modulare la luminosità di un LED con una modulazione PWM (0-100, 0-255)
- Esercizi con un potenziometro che regola la luminosità di un LED via PWM
- strutture condizionali (
if
,switch
) - loops (
do ... while
,while
,for
) - array
- funzioni definite dall’utente
- Autodesk circuits.io: piattaforma web per la simulazione di circuiti elettrici
Tra le altre cose…
… abbiamo anche parlato di:
- maxbotix: sito della casa produttrice dei sensori a ultrasuoni omonimi. L’azienda è specializzata nella produzione di questi sensori e ne cura ogni aspetto, dalla configurabilità alla loro applicabilità in installazioni di diverso tipo. Il sito è ricco di idee, spunti, esempi e guide per interfacciare i sensori con le varie schede/microcontroller. L’intero catalogo Maxbotix è disponibile sul sito del rivenditore robot italy (vedi Docs)
- bareconductive: azienda inglese che produce vernice conduttiva e scheda di prototipazione basata su Arduino (Leonardo), pensata per interazioni sonore e/o MIDI di tipo tattile (la scheda monta un MPR121). New entry: shield per raspberrypi con le stesse funzioni della scheda “arduinesca”.
- Jekyll: generatore di siti statici parecchio amico di github. E’ lo strumento che abbiamo usato per generare il sito su cui stai leggendo!