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 e keywords.txt
  • Approfondimento della comunicazione seriale e lettura del dato proveniente da un sensore analogico (potenziometro / fotoresistore / accelerometro) su monitor seriale
  • Funzioni analogRead e map
  • 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 e pulseIn 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 funzione map)
  • Timing, funzioni millis e micros 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!