ELECTRONICS LAB [WITH ARDUINO]

Похожие документы
ELECTRONICS LAB [WITH ARDUINO]

ELECTRONICS LAB [WITH ARDUINO]

ACCENDERE E SPEGNERE UN DIODO LED

I SENSORI DI PROSSIMITA

In questo tutorial decodificheremo i segnali provenienti da un telecomando qualsiasi e utilizzeremo gli stessi segnali per comandare Arduino a

Arduino: Programmazione

Corso di programmazione Arduino DI MALVEZZI DAVIDE

Per vedere tutti i tutorial:

FC-51: IR Infrared Obstacle Detection Sensor Module 2-30cm

CORSO ARDUINO. Corso ASEV Giulio Fieramosca Stefano Panichi. Stefano Panichi e Giulio Fieramosca

SENSORI OTTICI - FOTORESISTENZE

CTU Presenta. Contest Automation con Arduino. IK0XBX - Francesco

CORSO ARDUINO. Jacopo Belli Giulio Fieramosca Luca Mattii GOLEM Jacopo Belli Giulio Fieramosca Luca Mattii

Per scrivere una procedura che non deve restituire nessun valore e deve solo contenere le informazioni per le modalità delle porte e controlli

Costruzione degli inbook: 3 diverse strategie. a cura di Antonio Bianchi

CORSO ARDUINO. Giulio Fieramosca Stefano Panichi. Corsi GOLEM 2014

Per controllare un motore DC (funzionante in corrente continua) con Arduino, devi utilizzare il circuito integrato Ponte H (nel mio caso un L293NE

PRIMI PASSI CON ARDUINO

14^ parte : Sensore a ultrasuoni HC SR04 e Arduino. Author: Ing. Sebastiano Giannitto (ITIS M.BARTOLO PACHINO)

Esercitazione Monitoraggio temperatura via WEB mediante Arduino YUN

FONDAMENTI DI ARDUINO

The Best Practices Book Version: 2.5

Tipologie dei dati nell SDK di Arduino come in un vero LP ad alto livello :

Caratterizzazione morfometrica del bacino idrografico in GRASS GIS

IZ1MHN e IW1ALX. Prima di iniziare. Domande sulla lezione scorsa? Come è andato il compito a casa?

CONTASECONDI CON DISPLAY A 7 SEGMENTI ARDUINO LIKE

Ho messo la domotica a casa mia. My Home. Lorenzo Pini

SISTEMI INFORMATICI/WEBGIS PER LA GESTIONE DI DATI AMBIENTALI E TERRITORIALI Povo, Steno Fontanari

TERMOMETRO LCD BASATO SUL TRASDUTTORE DI TEMPERATURA ANALOGICO LM 35

6^ parte : Acquisizione della temperatura con LM35. Author: Ing. Sebastiano Giannitto (ITIS M.BARTOLO PACHINO)

Introduzione alla Robo0ca

LEGO Mindstorms e Arduino nella scuola secondaria di secondo grado: alcune esperienze didattiche. Pietro Bonora Liceo Scientifico A.B.

Automobile Bluetooth

D sistema d allarme con sensori magnetici

Programmazione di Base Variabili Array Funzioni Strutture di controllo. Author: Ing. Sebastiano Giannitto (ITIS M.BARTOLO PACHINO)

Corso Arduino Maggio Riccardo Binetti Lezione 1 - Blinking LEDs with style

ARDUINO. Misurare e controllare. Riccardo Barberi. Dip. di Fisica Univ. Della Calabria Rende (CS), Italy

Display numerico con i LED

Arduino. Analog Read Serial

Installazione e configurazione dell'ide. IZ1MHN e IW1ALX. L IDE Introduzione alla programmazione su Arduino Le librerie

// Controllo remoto 05/05/2012 // poichè sono ancora ai primi passi ho usato // a larghe mani idee e listati di altri. Ringrazio tutti loro.

Corso Base Arduino ed Elettronica

CORSO ARDUINO. Corso ASEV Giulio Fieramosca Stefano Panichi. Lezione 3 PWM e motori. Stefano Panichi e Giulio Fieramosca

ARDUINO. Colleghiamolo al PC/MAC - FUNZIONA?

void setup() // funzione di configurazione dei Input/Output { pinmode(pin, OUTPUT); // setta il 'pin' come uscita (output) } 1

HP LED Driver Shield. EtherMania di Signorini Marco Via Cadore MALNATE (VA) P.I REA VA

byte Fase1 = 5; byte Fase2 = 6; byte Fase3 = 7; byte Fase4 = 8; int Ritardo = 15 ; puntatore! // sono equivalenti le sintassi:

Relazione attività di laboratorio - Arduino

5^ parte : Controllare un LED RGB con 3 potenziometri. Author: Ing. Sebastiano Giannitto (ITIS M.BARTOLO PACHINO)

Arduino Tutorial #7 - Nunchuk materiale utilizzato Arduino, cavi elettrici, breadboard, nunchuk, 3 led.

DOMOTICA. Developed by SANTAMARIA PASQUALE VITIELLO FABIO

dal laboratorio libri in presenza alla collaborazione online

6 - Blocchi e cicli. Programmazione e analisi di dati Modulo A: Programmazione in Java. Paolo Milazzo

Arduino MaxMSP Tutorial #3 - Arduino MaxMSP Play Sound Materiale utilizzato Arduino Uno, sensore (uno qualsiasi)

Corso Base Arduino ed Elettronica

Progetti reali con ARDUINO

Arduino& Potenziometro

12 - timer da cucina display a 4 cifre

7^ parte : Acquisizione della temperatura con LM35 e visualizzazione su display LCD. Author: Ing. Sebastiano Giannitto (ITIS M.

Relazione finale del progetto Arduino - NIMT

sulla PROGRAMMAZIONE del MICROCONTROLLORE

DOMOTICA. Developed by SANTAMARIA PASQUALE VITIELLO FABIO

IZ1MHN e IW1ALX. Agenda. Introduzione ad Arduino Arduino l hardware Arduino il software Alcune idee realizzabili con Arduino E se facessimo un corso?

ARDUINO Workshop intensivo di Arduino NABA

QUADRO DI CONTROLLO AMBIENTALE

INSEGUITORE SOLARE CON ARDUINO. Dispositivo che insegue il movimento solare realizzato con: 1. Arduino 2. 2 foto resistenze 3.

Telecontrollo escavatore LEGO con board Arduino

Introduzione a Arduino

ARDUINO. Ing. Francesco Giurlanda

Indice. Introduzione 15. L hardware 24. Il software 43. Introduzione al linguaggio di Arduino 60. Basi del linguaggio di Arduino 65

AUTOMAZIONE CANCELLO SCORREVOLE A MICROCONTROLLORE con ARDUINO

Vogliamo far lampeggiare i led collegati come in figura ai bit della porta D del PIC 18F8722 presente sulla demo board in dotazione al laboratorio.

Arduino - Tutorial #2 - Iniziamo a programmare

Programma di Robotica[LEGO EV3]

Arduino. Laboratorio Arduino Base. HackLab Terni. Laboratorio aperto a tutti di elettronica, scienza e arte. hacklabterni.

La piattaforma hardware e software Arduino: parte I. Corso di autoapprendimento

Controllare un nastro trasportatore fischertechnik con Arduino

Termometro digitale. Ivancich Stefano

Progetto Esami Di Stato Anno 2014/2015

Metronomo. Realizzato da Andrea Corda

Esercitazione 4. Comandi iterativi for, while, do-while

Ho aggiornato la domotica di casa mia. My Home. Lorenzo Pini

Internetworking V a nno

Piattaforma Arduino/microcontrollori Atmel. Ing. Cozzolino Francesco.

Programmazione in Python. Moreno Marzolla

Arduino: manuale di programmazione wiring

TUTORIAL: COME USARE UN LM35 PER MISURARE UNA TEMPERATURA SU TUTTA LA SCALA CENTIGRADA

Esercitazione Controllo di un motore DC mediante Arduino YUN

Università degli studi di Roma LA SAPIENZA

Prof. Capuzzimati Mario - ITIS Magistri Cumacini - Como MICROCONTROLLORE

Classe 5I2 AS. 2013/14 Niccolò Bulla Giorgia Novelli

Introduzione all'uso di Arduino lezione 1

Транскрипт:

ELECTRONICS LAB [WITH ARDUINO] >>> DAY #3 Daniele Costarella Salvatore Carotenuto Teatro Carlo Gesualdo / Casina Del Principe Avellino

Rights to copy Attribution ShareAlike 3.0 Unported You are free: to Share - to copy, distribute and transmit the work to Remix to adapt the work Under the following conditions: Attribution You must attribute the work in the manner specified by the authors. Share Alike If you alter, transform, or build upon this work, you may distribute the resulting work only under the same or similar license to this one. Your fair use and other rights are in no way affected by the above. To view a copy of this license, visit http://creativecommons.org/licenses/by-sa/3.0/. 2

Il programma di oggi ambient and human interaction: sensori di luminosità; sensori di temperatura; sensori di prossimità; comunicazione seriale; audio input; la libreria Cap-Sense per il touch detection; effetti di luce in base a stimoli esterni: VU meters; realtime sound generation; 3

4 Sensori di luminosità / colore Programmable Color Light-to-Frequency Converter Module http://www.elecfreaks.com/store/programmable-color-lighttofrequency-converter-module-p-258.html?zenid=3ceplft7hf1shglnamuta9cp02

Sensori di temperatura MCP9700 http://www.microchip.com/wwwproducts/devices.aspx?ddocname=en022289 5

Sensori di prossimità / distanza Distance Sensing With Ultrasonic Sensor and Arduino http://www.tautvidas.com/blog/2012/08/distance-sensing-with-ultrasonic-sensor-and-arduino/ 6

7 Elementi di programmazione Il ciclo while e do/while Simbolo while (condizione) // < codice da ripetere > // do // < codice da ripetere > // while (condizione) Spiegazione Esegue un blocco di codice fin tanto che la condizione test è vera. Esegue un blocco di codice fin tanto che la condizione test è vera, con la differenza, però, che il ciclo viene eseguito almeno una volta. La condizione, infatti, viene testata a fine ciclo.

8 Comunicazione seriale: pilotiamo un LED a comando //Flussi 2013 DAY 3: Comunicazione seriale int LED = 12; // stringa per contenere il comando ricevuto String command = ""; void setup() pinmode(led, OUTPUT); Serial.begin(9600); void loop() command = ""; // azzera la stringa // finchè ci sono caratteri disponibili... while(serial.available()) char c = Serial.read(); // legge un carattere... command.concat(c); //...e lo concatena alla stringa delay(10); // attende 10 msec // controlla se sono stati letti dei caratteri if(command!= "") parsecommand(); // interpreta il comando ricevuto [ Continua ]

9 Comunicazione seriale: pilotiamo un LED a comando // in questa funzione interpretiamo il comando ricevuto void parsecommand() if( command == "ON" ) // se abbiamo ricevuto "ON"... digitalwrite(led, HIGH); Serial.println("LED ON!"); else if( command == "OFF" ) // se abbiamo ricevuto "OFF"... digitalwrite(led, LOW); Serial.println("LED OFF!"); else // se siamo qui, significa che il comando // non è tra quelli ammessi Serial.println("Uh?!?");

10 Audio input: mettiamo le orecchie al nostro Arduino Semplice preamplificatore con Amplificatore Operazionale LM358 (o equivalenti)

Audio input: mettiamo le orecchie al nostro Arduino 11

12 Audio input: mettiamo le orecchie al nostro Arduino. Ecco il codice: /* FLUSSI 2013 Arduino CLAP Sensor Questo sketch permette di accendere un LED quando viene rilevato un suono di una certa intensità, come un battito di mani */ // LED collegato al pin 12 int LED = 12; void setup() pinmode(led, OUTPUT); // avvia il collegamento seriale Serial.begin(9600); [ Continua ]

13 Audio input: mettiamo le orecchie al nostro Arduino. Ecco il codice: void loop() // leggiamo l'output del sensore collegato sul pin A0 int sensorvalue = analogread(a0); Serial.println(sensorValue); // controlliamo se il livello del suono rilevato // supera una certa soglia. // Nota: questa soglia va calibrata in base al // livello del segnale in uscita dal preamplificatore, // e all'intensità del rumore che vogliamo rilevare if (sensorvalue > 580) // accendiamo il LED per 500 msec digitalwrite(led, HIGH); delay(500); else digitalwrite(led, LOW); delay(50);

Elementi di programmazione Arduino: le librerie?!?!?? 14

Elementi di programmazione Arduino: le librerie Una libreria, in Informatica, è un insieme di funzioni o strutture dati predisposte per essere collegate a un programma software attraverso opportuno collegamento. Il termine libreria nasce da un'errata traduzione dell'inglese library (letteralmente, biblioteca), ma ormai è così diffuso nel vocabolario dei professionisti da essere accettato quale esatta traduzione. Anche l'ide di Arduino supporta l'uso delle librerie. Grazie ad esse, possiamo estendere rapidamente le funzionalità del nostro software utilizzando, appunto, le funzioni presenti nelle librerie, scritte da altre persone della community di Arduino. Allo stesso modo, possiamo creare delle nostre librerie e metterle a disposizione di tutta la community. 15

Elementi di programmazione Arduino: le librerie Sulla sezione playground del sito ufficiale Arduino possiamo trovare tutte le librerie per gli usi più disparati http://playground.arduino.cc//main/librarylist 16

17 La libreria CapSense Un corpo umano che si avvicina al sensore capacitivo introduce una variazione di capacità nel circuito. Il microcontrollore è in grado di misurare tale variazione, ed è quindi possibile un'interazione.

La libreria CapSense: installazione Come per le altre librerie per Arduino, l'installazione di CapSense consiste semplicemente nello scaricare da internet un archivio compresso e decomprimerlo nella directory libraries presente nella directory di default degli sketches. Per conoscere il path di questa directory, basta selezionare File Preferences nell'ide di Arduino 18

La libreria CapSense: montiamo il circuito... 19

20...e scriviamo il codice #include <CapacitiveSensor.h> //CapSense Library Demo Sketch // LED sul pin 13 #define LED 13 // resistore da 1 megaohm tra i pin 4 e 2 // nota: aumentando il valore del resistore, è // possibile aumentare la distanza di rilevamento // pin 2: sensor pin CapacitiveSensor cs_4_2 = CapacitiveSensor(4,2); void setup() // imposta il pin del LED come uscita digitale pinmode(led, OUTPUT); // // disattiva l'autocalibrazione sul canale 1 cs_4_2.set_cs_autocal_millis(0xffffffff); // // inizializza la comunicazione seriale Serial.begin(9600); [Continua...]

21...e scriviamo il codice void loop() long start = millis(); long total = cs_4_2.capacitivesensor(30); // check on performance in milliseconds????? Serial.print(millis() - start); // stampa il valore del sensore sulla porta seriale Serial.print(total); Serial.print("\t"); // accende o spegne il LED in base al valore rilevato digitalwrite(led, (total >????)? HIGH : LOW); // ritardo necessario per la porta seriale delay(10);

Effetti di luce in base a stimoli esterni: costruiamo un semplice VU-Meter 22

23 Effetti di luce in base a stimoli esterni: costruiamo un semplice VU-Meter //Flussi 2013 DAY 3: il VU-Meter #define INPUT_PIN 0 #define NUMERO_LED 0 // audio input pin // numero led sul circuito #define INPUT_MAX 1024 // massimo valore ammesso in input // soglia per singolo LED #define STEP_LED INPUT_MAX / NUMERO_LED // definiamo i pin utilizzati per i LED int led[] = 2, 3, 4, 5, 6, 7, 8, 9 ; int inputlevel = 0; // livello del segnale in ingresso int i; // variabile usata per i cicli void setup() // definiamo tutti i pin dei LED come output for (i = 0; i < NUMERO_LED; i++) pinmode(led[i], OUTPUT);

24 Effetti di luce in base a stimoli esterni: costruiamo un semplice VU-Meter void loop() // legge il livello dell'input inputlevel = analogread(input_pin); // accende o spegne i LED a seconda del livello letto for (i = 0; i < NUMERO_LED; i++) if(inputlevel > (STEP_LED * i)) digitalwrite(led[i], HIGH); else digitalwrite(led[i], LOW);

Realtime sound generation La libreria MOZZI http://sensorium.github.io/mozzi/ 25

FINE... HAPPY HACKING!