ELECTRONICS LAB [WITH ARDUINO]



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

FONDAMENTI DI ARDUINO

Corso di programmazione Arduino DI MALVEZZI DAVIDE

Cos'è Arduino? rilasciata con licenza di tipo open source.

ELECTRONICS LAB [WITH ARDUINO]

Accordi di 3 note / Accordi Maggiori Triade Maggiore. Settima Maggiore Si ottiene con la triade minore sul terzo grado: C maj7 = Mi m / Do

Workshop Teachers For Teachers settembre 2013

Far lampeggiare un led o forse un semaforo?

RELAZIONE CANESTRO BASKET

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

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

SCHEDA SPERIMENTALE ARDUINO UNO

CORSO ARDUINO. Jacopo Beli Giulio Fieramosca Luca Mati GOLEM Jacopo Belli Giulio Fieramosca Luca Mattii 1

ARDUINO Workshop intensivo di Arduino NABA

Introduzione all'uso di Arduino lezione 1

Internetworking V a nno

Titolare del corso Prof. Andrea Cusano. Assistenti: Ing. Giuseppe Quero Ing. Antonio Iele Ing. Marco Leone Ing. Benito Carotenuto

Relazione Tecnica Sensore di Temperatura con interfacciamento microcontroller Arduino 1.3

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

D.A.M. Bros Robotics -

Facciamo lampeggiare un led

ACCENDERE E SPEGNERE UN DIODO LED

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

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

Arduino - Tutorial #2 - Iniziamo a programmare

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

Corso Arduino Maggio Riccardo Binetti Lezione 2 - Il calore dell analogico

Andrea Di Dato. e fu così che i maker misero le ali

Nuovi strumenti per il coding App Inventor e Scratch for Arduino

La piattaforma hardware e software Arduino Corso completo di autoapprendimento Aggiornato a Arduino Yun

Arduino in connessione Bluetooth

Arduino L'elettronica Open Source!

I SENSORI DI PROSSIMITA

CORSO ARDUINO. Giulio Fieramosca Stefano Panichi. Corsi GOLEM 2014

ELETTRONICA CON ARDUINO

ROBOTICA Syllabus Versione 1.0

Corso Base Arduino ed Elettronica

Università degli Studi di Cagliari

Introduzione ad Arduino Giuseppe Augiero

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

Relazione progetto Arduino

Interaction Design? Parole chiavi!!! Arduino?

Prof. Capuzzimati Mario - ITIS Magistri Cumacini - Como MICROCONTROLLORE

Corso Professionale di Arduino Avanzato

Introduzione a Arduino

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

PRIMI PASSI CON ARDUINO

Laboratorio di Elettronica. Arduino Lezione 1 Descrizione della board e installazione

ARDUINO UNO. Raccolta esercitazioni guidate 1 Led & Pulsati. IIS Aldini Valeriani Sirani - ROBOTS project Scheda 1 # 1 Materiale didattico

Questo sistema si è poi diffuso in tutto il mondo, soprattutto in ambito didattico e hobbistico. Arduino mette a disposizione:

Quaderni di Elettronica corso per creativi ed inventori

ARDUINO. Ing. Francesco Giurlanda

Week Programmer v2.1 Week Programmer Rev2.1

SENSORI OTTICI - FOTORESISTENZE

CTU Presenta. Contest Automation con Arduino. IK0XBX - Francesco

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

INTERAZIONE ELETTRONICA

Progetti reali con ARDUINO

Corso Base Arduino ed Elettronica

MOTORE PASSO-PASSO CON VELOCITÀ REGOLABILE

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

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

ARDUINO. Colleghiamolo al PC/MAC - FUNZIONA?

COME UTILIZZARE IL SENSORE DI TEMPERATURA TMP36

Arduino: Programmazione

Per vedere tutti i tutorial:

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

1) Si descriva brevemente il processo di conversione analogico-digitale di un segnale.

LE ALTRE BOARD ARDUINO

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

Macchina con Arduino Uno comandata tramite dispositivo Android e sensore ultrasuoni per fermarsi istantaneamente di fronte ad un ostacolo

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

LINK PER SCARICARE IL PROGRAMMA

Tesina di Maturità. Gianfriddo Giuseppe Classe: 5^B I.T.I.S Indirizzo: Elettronica ed elettrotecnica Anno: 2014/15. Autore: Gianfriddo Giuseppe

Lezione 9: Come associare un modulo RTC ad Arduino

Lezione 6 su Arduino: I sensori di presenza PIR

Транскрипт:

ELECTRONICS LAB [WITH ARDUINO] 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

Filosofia del corso MAKE! MAKE! MAKE! 3

Il programma di oggi Mattina Presentazione del corso Microcontrollori e introduzione ad Arduino Elementi di programmazione Pomeriggio Cenni di elettronica Primi passi con Arduino 4

5 Di cosa parleremo? In questo corso impareremo a costruire semplici oggetti elettronici in grado di interagire con gli esseri umani usando sensori e attuatori controllati da dispositivi elettronici.

Cos'è Arduino? Il mondo Arduino, fondamentalmente, si compone di 3 componenti essenziali 6

Cos'è Arduino? 1. Una scheda elettronica 7

Cos'è Arduino? 1. Una scheda elettronica 2. Un ambiente di sviluppo semplificato 8

Cos'è Arduino? 1. Una scheda elettronica 2. Un ambiente di sviluppo semplificato 3. Una filosofia e una comunità enorme 9

10 A cosa serve? Con Arduino è possibile creare circuiti per molte applicazioni nel campo della robotica, dell'automazione, e nella realizzazione di effetti luminosi e sonori E' inoltre un prodotto ideale per la protipazione rapida e per l'apprendimento delle basi dell'elettronica e della programmazione

Perché Arduino? Artisti e designer Progettisti elettronici Open source hardware Open Source Physical Computing Platform Open source Aperto a modifiche, schemi sempre disponibili Community Wiki, forum, tutorial 11

12 Physical Computing?! Physical Computing is about prototyping with electronics, turning sensors, actuators and microcontrollers into materials for designers and artists. It involves the design of interactive objects that can communicate with humans using sensors and actuators controlled by a behaviour implemented as software running inside a microcontroller. Massimo Banzi, Arduino Co-Founder

CENNI DI ELETTRONICA

Segnali analogici e digitali 14

Corrente, tensione e resistenza Parleremo di tensione per indicare la differenza tra il potenziale elettrico di due punti dello spazio. Una semplice analogia: Acqua Carica Pressione Tensione Flusso Corrente 15

Corrente, tensione e resistenza Possiamo pensare all ammontare di acqua che fluisce attraverso la condotta come la corrente che scorre in cavo elettrico Il nostro modello: Acqua Carica [Coulomb] Pressione Tensione [Volt] Flusso Corrente [Ampere] Ampiezza tubo Resistenza [Ohm] 16

Corrente, tensione e resistenza La resistenza elettrica è una grandezza fisica che misura la tendenza di un corpo ad opporsi al passaggio di una corrente elettrica, quando sottoposto a una tensione elettrica. Il nostro modello: Acqua Carica [Coulomb] Pressione Tensione [Volt] Flusso Corrente [Ampere] Ampiezza tubo Resistenza [Ohm] 17

Riconoscere i componenti Resistori 18

Cenni di elettronica Resistori: codice colori 19

Cenni di elettronica Condensatori 20

Cenni di elettronica Diodi 21

Cenni di elettronica LED (Light Emitting Diode) 22

Cenni di elettronica Switch 23

Cenni di elettronica Uso della breadboard?!? 24

Cenni di elettronica Uso della breadboard Una breadboard (o anche detta basetta sperimentale) è uno strumento utilizzato per creare prototipi di circuiti elettrici. Non richiede saldature ed è completamente riusabile (è perciò utilizzata soprattutto per circuiti temporanei). 25

26 Cenni di elettronica Uso della breadboard: struttura Tutte le breadboard hanno, generalmente, una struttura simile composta da linee di trasmissione (strips) che consistono in collegamenti elettrici tra i fori. Come in figura, si possono notare le linee di alimentazione, poste generalmente ai lati e collegate lungo tutto l asse, e le linee dedicate ai componenti, collegate in posizione perpendicolare alle linee di alimentazione.

Cenni di elettronica Uso della breadboard!!! 27

28 Arduino: Studiamo l'hardware LED Test (pin 13) Pulsante di reset Pin di in/out digitali Power LED USB LED RX/TX ATmega328 Alimentazione esterna Alimentazioni e massa Input analogici

Giffoni HackLAB 2013 Caratteristiche tecniche Parametro Valore Microcontrollore ATmega328 Tensione operativa 5V Tensione di ingresso (raccomandata) 7-12 V Tensione di ingresso (Limiti) 6-20 V Pin di I/O digitali 14 (di cui 6 PWM) Pin di ingresso analogici 6 Corrente DC per i pin di I/O 40 ma Corrente DC per i pin a 3.3V 50 ma Memoria Flash 32 kb (ATmega328) di cui 0.5 usata per il bootloader SRAM 2 kb (ATmega 328) EEPROM 1 kb (ATmega328) Velocità del Clock 16 MHz 29

Giffoni HackLAB 2013 Qualche termine strano sketch Il programma che scrivete e fate girare sulla scheda Arduino pin I connettori di input e output digital Vuol dire che può assumere solo due valori: ALTO o BASSO, ON o OFF oppure 0 o 1 analog Quando i valori utili che rappresentano i segnali sono continui (infiniti) 30

Hardware Arduino Arduino Leonardo 31

Hardware Arduino Arduino Due 32

Hardware Arduino Arduino YUN 33

Hardware Arduino Arduino Robot 34

Hardware Arduino Arduino Esplora 35

Hardware Arduino Arduino ADK 36

Hardware Arduino Arduino Ethernet 37

Hardware Arduino Arduino Mega 2560 38

Hardware Arduino Arduino Micro 39

Hardware Arduino LillyPad Arduino USB LillyPad Arduino Simple 40

Hardware Arduino LillyPad Arduino SimpleSnap LillyPad Arduino 41

Hardware Arduino Arduino Pro Arduino Fio 42

Arduino: gli Shield 43

Shield Arduino GSM Shield 44

Shield Arduino Ethernet Shield 45

Shield Arduino WiFi Shield 46

Shield Arduino SD Shield 47

Shield Arduino Motor Shield 48

PRIMI PASSI CON ARDUINO

Primi passi con Arduino Installazione dell ambiente di sviluppo 1. 2. 3. 4. Scaricare l IDE di Arduino dal sito web del progetto: Collegare la board Arduino tramite il cavo USB Installare i driver necessari Riavviare il computer 5. Avviare il software di Arduino arduino.cc 50

Primi passi con Arduino Installazione dell ambiente di sviluppo Collegarsi al sito web del progetto: arduino.cc Nella sezione Getting Started scegliere il sistema operativo in uso: Windows, Mac OS X, Linux Scaricare il software di Arduino 51

Primi passi con Arduino Installazione driver chip FTDI Collegarsi al sito web del progetto: www.ftdichip.com Download dei driver adatti alla propria piattaforma Installare i driver Riavviare il sistema 52

Primi passi con Arduino Collegare la board Collega Arduino al computer con un cavo USB Un LED di colore verde (PWR) si accede quando la scheda è alimentata correttamente 53

Primi passi con Arduino Avvio dell'ambiente di sviluppo 54

Primi passi con Arduino Impostazione dell ambiente di lavoro: Tools > Board 55

Primi passi con Arduino Impostazione dell ambiente di lavoro: Tools > Serial Port 56

57 Primi passi con Arduino La semplice interfaccia Verifica Carica Nuovo Apri Salva Monitor Seriale

Primi passi con Arduino Il ciclo di sviluppo 58

59 Elementi di programmazione Esaminiamo, innanzitutto, un po di sintassi utile: Simbolo Spiegazione // Commento su una riga Es. // questo è un commento /* Inizio di un commento su più righe */ Chiusura di un commento su più righe void Dichiarazione di una funzione senza nessun valore di ritorno: la funzione esegue tutte le istruzioni senza restituire alcun valore. setup() E la funzione (obbligatoria in Arduino) dedicata alle impostazioni iniziali

60 Elementi di programmazione Esaminiamo, innanzitutto, un po di sintassi utile: Simbolo Spiegazione loop() Funzione obbligatoria in Arduino: costituisce il loop principale del programma int Usato per dichiarare una variabile di tipo integer (intero) pinmode(pin, mode) Configurazione dei pin di Arduino (INPUT o OUTPUT) digitalwrite(pin, level) Comando di scrittura su un pin digitale delay(seconds) Funzione che introduce un attesa (espresso in millesimi di secondo)

Elementi di programmazione Un listato di esempio: /* FLUSSI 2013 day 1 Esempio: lampeggio di un LED collegato al pin 13 */ int ledpin = 13; void setup() { pinmode(ledpin, OUTPUT); } void loop() { digitalwrite(ledpin, HIGH); delay(1000); digitalwrite(ledpin, LOW); delay(1000); } // LED connesso al pin 13 // configura il pin come output // // // // accende il LED attende un secondo (ossia 1000 millisecondi) spegne il LED attende un secondo prima di ripartire 61

Primi passi con Arduino Input / Output di segnali digitali: LED blinking 62

Primi passi con Arduino Input / Output di segnali digitali: lettura di un pulsante 63

64 Elementi di programmazione Il costrutto if e if/else Simbolo if (condizione) { // esegue questo codice // se la condizione è vera } if (condizione) { // esegue questo codice // se la condizione è vera } else { // esegue questo codice // se la condizione è falsa } Spiegazione Esecuzione condizionata: esegue un blocco di codice se e solo se la condizione espressa è verificata Se la condizione è vera esegue un blocco di codice; se la condizione non è vera viene eseguito il codice del blocco else

Primi passi con Arduino Input / Output di segnali digitali Il costrutto if /* FLUSSI 2013 day 1: Accendiamo il LED con un pulsante */ int led_pin = 13; int button_pin = 8; int state = 0; int value = 0; void setup() { pinmode(led_pin, OUTPUT); pinmode(button_pin, INPUT); } [ Continua ] 65

Primi passi con Arduino Input / Output di segnali digitali void loop() { value = digitalread(button_pin); if (value == HIGH) { state = 1; } else { state = 0; } if (state == 1) { digitalwrite(led_pin, HIGH); } else { digitalwrite(led_pin, LOW); } } 66

Primi passi con Arduino Lettura di segnali analogici Il componente LDR (Light Dependent Resistor) 67

Elementi di programmazione La funzione analogread Simbolo int analogread(pin) val = analogread(0) Spiegazione Legge la tensione applicata al pin di input analogico e restituisce un numero compreso tra 0 e 1023 che rappresenta una tensione tra 0 e 5V Esempio: legge l'analog input 0 e memorizza il risultato nella variabile val 68

Primi passi con Arduino Lettura di segnali analogici Il componente LDR (Light Dependent Resistor) 69

Primi passi con Arduino Lettura di segnali analogici Il componente LDR /* FLUSSI 2013 day 1: Lettura di un segnale analogico: LDR */ const int SENSOR = 0; int val = 0; void setup() { Serial.begin(9600); } void loop() { val = analogread(sensor); Serial.println(val); delay(100); } 70

Primi passi con Arduino Lettura di segnali analogici Il componente LDR /* FLUSSI 2013 day 1: Lettura di un segnale analogico: LDR */ const int SENSOR = 0; int val = 0; void setup() { Serial.begin(9600); } void loop() { val = analogread(sensor); Serial.println(val); delay(100); } 71

Primi passi con Arduino Lettura di segnali analogici: aggiungiamo un LED 72

Primi passi con Arduino Lettura di segnali analogici Il componente LDR /* FLUSSI 2013 day 1: Regoliamo il lampeggio in base al valore analogico letto */ # define LED 13 // pin usato per il LED int val = 0; // variabile usata per il // valore letto dall'ldr void setup() { pinmode(led, OUTPUT); } void loop() { val = analogread(0); digitalwrite(13, HIGH); // accendi il LED delay(val); // attendi digitalwrite(13, LOW); // spegni il LED delay(val); // attendi } 73

FINE... PER OGGI