Introduzione a Arduino



Documenti analoghi
Arduino: Programmazione

ARDUINO. Ing. Francesco Giurlanda

Corso Base Arduino ed Elettronica

11^ parte : Come gestire i servomotori con Arduino. Author: Ing. Sebastiano Giannitto (ITIS M.BARTOLO PACHINO)

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

NTC E MISURA DELLA TEMPERATURA CON ARDUINO

Arduino UNO. Single board microcontroller

Progetto Esami Di Stato Anno 2014/2015

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

Corso di programmazione Arduino DI MALVEZZI DAVIDE

12 - timer da cucina display a 4 cifre

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

8^ parte : Pilotare Motori passo-passo bipolari usando l integrato L298N. Author: Ing. Sebastiano Giannitto (ITIS M.

Progetti reali con ARDUINO

9^ parte : Come pilotare motori dc utilizzando il motor shield. Author: Ing. Sebastiano Giannitto (ITIS M.BARTOLO PACHINO)

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

Semplice progetto con Arduino simpatico G-meter col quale misurare e registrare le accelerazioni del proprio veicolo

Caratteristiche HW. Clock Speed 16 MHz

FONDAMENTI DI ARDUINO

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

Motori Motore passo-passo Stadio di potenza PWM Sincrono Stadio di potenza del motore passopasso. Blocchi funzionali. Set point e generatore PWM

CONTASECONDI CON DISPLAY A 7 SEGMENTI ARDUINO LIKE

QUADRO DI CONTROLLO AMBIENTALE

CORSO ARDUINO. Giulio Fieramosca Stefano Panichi. Corsi GOLEM 2014

Arduino L'elettronica Open Source!

IIS ENZO FERRARI SUSA Anno scolastico: 2013/2014. Tonco Daniel. Classe V EA - Periti in Elettronica e Telecomunicazioni

PROGETTAZIONE DI UN CONTROLLO ON-OFF CON CRITERI E METODOLOGIA

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

TECNOLOGIA DELLE RESISTENZE

Rossetto Flavio a.s. 2011/2012 classe 5E 2

Progetto di Domotica

Finalità delle misure

Codifica: dal diagramma a blocchi al linguaggio C++

introduzione I MICROCONTROLLORI

Corso di Elettronica Digitale. Display decoder a 7 segmenti con le mappe di Karnaugh

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

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

La corrente elettrica La resistenza elettrica La seconda legge di Ohm Resistività e temperatura L effetto termico della corrente

Telecontrollo escavatore LEGO con board Arduino

Introduzione...xiii Istruzioni per l uso...xiii File di supporto al libro... xiv

Gli attuatori. Breve rassegna di alcuni modelli o dispositivi di attuatori nel processo di controllo

8^ parte : Pilotare Motori passo-passo bipolari usando l integrato L298N. Author: Ing. Sebastiano Giannitto (ITIS M.

Componenti elettronici. Condensatori

DOCUMENTAZIONE J-BO. Progetto FabSchool ITE GINO ZAPPA CLASSE 4D

Progetti reali con ARDUINO

8^ parte : Motor shield FE e motore passo-passo bipolare. Author: Ing. Sebastiano Giannitto (ITIS M.BARTOLO PACHINO)

Che cos è la barriera luminosa?

Corso di DISPOSITIVI E SISTEMI PER LE COMUNICAZIONI IN FIBRA OTTICA

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

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

minipic programmer / debugger per microcontrollori PIC Marco Calegari

Laboratorio di Fisica VI

Far lampeggiare un led o forse un semaforo?

COM ID. Comunicatore telefonico Contact-ID. Manuale installazione ed uso. versione 1.0

Comprendere il funzionamento dei convertitori V/f Saper effettuare misure di collaudo

Laboratorio microcontrollori e open source Prima parte

Università degli studi di Roma LA SAPIENZA

D sistema d allarme con sensori magnetici

MST_K12_INV. Regolatore di velocita per motori in CC con comando esterno della inversione della rotazione. Manuale d uso e d installazione

Caratteristiche ATMEGA328

INTERFACCIA PER PC MEDIANTE PORTA SERIALE

ESERCITAZIONI PRATICHE: Ø Creazione di un decoder BCD/DEC con porte logiche. Ø Esercitazione con decoder 4511 e display 7 segmenti.

IL CONTROLLO AUTOMATICO: TRASDUTTORI, ATTUATORI CONTROLLO DIGITALE, ON-OFF, DI POTENZA

Progetto e realizzazione di un sistema che rileva la temperatura a distanza

RICHIAMI DI MISURE ELETTRICHE

Descrizione del Test Range della Società SAMA

Corso di Elettronica PROGETTAZONE E REALIZZAZIONE DI CIRCUITI ELETTRICI ED ELETTORONICI

Automobile Bluetooth

D.A.M. Bros Robotics -

Capitolo. Interfacciamento di periferiche I/O con il PC. 1.1 Il BUS di espansione del PC

Esercitazione Controllo di un motore DC mediante Arduino YUN

Prot. n. 2882/C27 Gazzaniga, 28/04/2012. Gara nazionale di elettronica Prova scritta

RELAZIONE CANESTRO BASKET

Circuiti amplificatori

IMP2200/ ITP2200 INVERTER MONOFASE E TRIFASE DA 2200W

SISTEMA SEQUENZIALE FASATO SEQUENTIAL FUEL SYSTEM

Progetti reali con ARDUINO

Controllare un nastro trasportatore fischertechnik con Arduino

LA STAZIONE DI TERRA DEL DIMOSTRATORE TECNOLOGICO SATELLITARE

MODIFICA TRUE BYPASS DUNLOP CRY BABY GCB-95 ATTENZIONE

Indruduzione... 1 Il modulo Bluetooth HC Il firmware... 3 Collegamento della scheda... 4 Software PC e l applicazione Android...

Author: Ing. Sebastiano Giannitto (ITIS M.BARTOLO PACHINO)

V= R*I. LEGGE DI OHM Dopo aver illustrato le principali grandezze elettriche è necessario analizzare i legami che vi sono tra di loro.

Risorse. Appendice B. In questo capitolo. Sketch di Arduino del Capitolo 6. Lista della spesa Siti utili

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

Arduino. SITO DI RIFERIMENTO:

Sezione di PWM e Generatore di D/A Converter.

UNIVERSITÀ DEGLI STUDI DI PARMA

ELECTRONICS LAB [WITH ARDUINO]

CONTROLLO IN TENSIONE DI LED

Logica binaria. Porte logiche.

ITC FOSSATI- DA PASSANO. Progetto sonar. A cura di: Bamonte Davide Bertagna Davide Canaccini Alessandro Celi Andrea Conti Thomas Filattiera Lorenzo

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

ENCODER. Fig. 1. attivi C B A. APPUNTI DI ELETTRONICA ENCODER DECODER rel. 01/06 Prof. Domenico Di Stefano pag. 19

SENSORI OTTICI - FOTORESISTENZE

MODELLIZZAZIONE, CONTROLLO E MISURA DI UN MOTORE A CORRENTE CONTINUA

Progetto di Eccellenza - OMAROBOT -

Descrizione dell'obiettivo dello sketch per Arduino ed eventualmente differenze rispetto ai precedenti.

Autoware Ladder Tool (per Arduino ) Basic Tutorial

Transcript:

Introduzione a Arduino Gianpaolo Gonnelli gianpaolo.gonnelli@gmail.com Arduino 1

Contenu7 l Cosa è? l Da cosa è composto? l Alcuni componen7 u7li l Programmare Arduino l Esperimen7 l Comunicare col PC l Schede ARM Arduino 2

Cosa è? Arduino è una scheda elebronica che ci permebe di programmare in maniera semplice un microcontrollore ProgeBo Italiano: Massimo Banzi ex- docente all Interac7on Design Ins7tute di Ivrea Arduino è il nome di un pub Arduino 3

Applicazioni Arduino 4

Modelli di Arduino Arduino 5

Arduino Shields Arduino 6

A cosa serve Arduino può essere visto come una centralina di controllo U7lizzato per la creazione di sistemi embedded (una volta caricato il codice, occorre solo l alimentazione) Arduino 7

Da cosa è composto Il cuore di Arduino: il Microcontrollore Il risuonatore ceramico La porta seriale e l alimentazione Componen7 elebronici Arduino 8

Microcontrollore Atmel Atmega328 Computer on chip Programmazione a basso livello Bootloader Arduino 9

Porte e alimentazione l Seriale USB per la programmazione e l'alimentazione 5v l Ingresso alimentatore Arduino 10

Caratteristiche di Arduino Microcontroller ATmega328 Opera7ng Voltage 5V Input Voltage (recommended) 7-12V Input Voltage (limits) 6-20V Digital I/O Pins 14 (of which 6 provide PWM output) Analog Input Pins 6 DC Current per I/O Pin 40 ma DC Current for 3.3V PinFlash 50 ma Memory 32 KB (ATmega328) of which 0.5 KB bootloader SRAM 2 KB (ATmega328) EEPROM 1 KB (ATmega328) Clock Speed 16 MHz Arduino 11

Digital vs Analog vs Digital PWM Digital Due livelli 0-1 (basso alto) Analog Misura la tensione Digital PWM Simula l analogica Arduino 12

PWM di Arduino Pulse Width Modulation ed è una tecnica per simulare la variazione di tensione Tensione a step discreti tra 0 e i 5V Il rapporto fra i livelli viene variato all interno del singolo ciclo(duty cicle) per simulare una variazione di tensione Per inviare un segnale pwm, analogwrite invia la il rapporto tra basso e alto rimappato su valori interi da 0 a 255. La funzione writemicroseconds per specificare per quanto tempo il segnale rimarrà alto Arduino 13

l Breadboard l Resistenze l Led Alcuni Componen7 u7li l Potenziometri l Fotoresistenze l Servo motori l Panoramica sensori l (I soli7: condensatori, diodi, transistor etc..) Arduino 14

La breadboard: proto7pazione circui7 Standard Schema di collegamenti Arduino 15

Resistenze: come leggerle Normalmente le resistenze sono caratterizzate da 4 strisce colorate: per conoscere l ordinamento delle strisce si guarda dove si trova quella che dista di più dalle altre (che nell ordinamento sarà l ultima) Significato dato dall ordine: 1a e 2a: valore numerico 3a: moltiplicatore (normalmente in ohm) 4a: tolleranza (percentuale) NOTA: Esistono anche resistenze a 6 strisce dette di precisione il loro significato è lo stesso di quelle presentate solo che anche la 3 è un valore numerico la 4 il moltiplicatore la 5 la tolleranza e la 6 la variazione di tolleranza a seconda della temperatura Arduino 16

Resistenze: come leggerle Significato del colore Prima e seconda striscia Terza striscia Quarta striscia Valore = <rosso><nero>*<rosso>=20*100=2 Kohm Tolleranza = <oro>= 5% Arduino 17

Light Emiing Diode: LED Sfruttano la proprietà di alcuni semiconduttori di emettere fotoni (solitamente giunzioni p/n) grazie all effetto noto come emissione spontanea I più comuni hanno due terminali: anodo e catodo. Solitamente l anodo è più lungo del catodo oppure il catodo presenta una piegatura Per il collegamento: Anodo al polo positivo Catodo al polo negativo Resistenza in serie all alimentazione(limita la corrente in ingresso al led) Calcolo della resistenza: R = (V-Vled)/I Vled è la caduta di tensione nel led stesso che è proporzionale alla frequenza emessa Arduino 18

Light Emiing Diode: LED Valori nominali LED rossi = 1,6 V LED giallo = 2,2V LED verde = 2,4 V LED bianco = 3,0 V ( warm o sunny ) LED bianco ( cold ) o blu = 3,5 V Calcolo della resistenza: R = (V-Vled)/I Valori standard I valori di corrente sono intorno ai 10/15mA Esempio (LED rosso) R=(V- Vled)/I=(5-1,6)/0,016=218.77 ohm 220ohm (standard) Arduino 19

Potenziometri Il potenziometro è equivalente ad un partitore di tensione variable Il potenziometro è un dispositivo con un contatto strisciante sulla reistenza interna Permette la variazione della tensione letta in uscita (attuato manualmente) Applicazioni: Joystick, robot, interruttori etc.. E caratterizzato da tre terminali ed una manopola, i terminali più esterni vanno connessi all alimentazione (+ e - intercambili) mentre da quello centrale è possibile leggere la tensione che varia ruotando la manopola. Arduino 20

Fotoresistenze Componente elettronico la cui resistenza è inversamente proporzionale alla quantità di luce lo colpisce un potenziometro attuato con la luce Applicazione principale: Interruttore crepuscolare Arduino 21

Servo comandi Attuatori con controllo di posizione integrato Da cosa sono composti Motore DC Potenziometro Riduttore di giri Elettronica di controllo Come funzionano Comandati in tensione (ingresso segnale analogico o PWM) a seconda del valore in ingresso si posizionano ad un angolo preciso angolo. L elettronica interna è necessaria per fermare il motore quando ha raggiunto l angolo (controllo lineare) E presente una mappatura tra valori di tensione ed angoli che dipende dalle specifiche del servocomando Arduino 22

Panoramica sensori Cosa misurare Posizione angolare Accelerazione Forza e pressione Luce Temperatura Distanza Localizzazzione Tipo sensore Potenziometro, encoder.. Accelerometro,giroscopio.. Estensimetri, estensimetri a fibra oica fotoresistenze, diodi.. Termoresistenze.. Laser, ultrasuoni.. GPS.. Arduino 23

Arduino Solware l Ambiente di sviluppo l Funzioni principali l Librerie u7li Arduino 24

Ambiente di sviluppo Sviluppato in java Codice c-like Validazione del codice Compilazione Upload su scheda Monitor Seriale Guida installazione: - http://arduino.cc/en/guide/homepage Arduino 25

Funzioni principali La funzione setup() Chiamata all inizio del nostro programma (sketch), serve per inizializzare le variabili, i vari pin e per iniziare ad usare le librerie. Questa funzione viene eseguita solo una volta. La funzione loop() Chiamata subito dopo la setup questa funzione, cicla costantemente eseguendo ad ogni ciclo le istruzioni presenti nel suo blocco. int buttonpin = 3; void setup() { Serial.begin(9600); pinmode(buttonpin, INPUT); } void loop() { //... } void loop() { if (digitalread(buttonpin) == HIGH) Serial.write('H'); else Serial.write('L'); delay(1000); } Arduino 26

Alcune funzioni e librerie utili Librerie Serial Usata per la comunicazione seriale di arduino mette a disposizione delle funzioni molto utili come: read(),write(),available() etc.. Servo Usata per la gestione di servo comandi. Funzioni pinmode(<numero pin>,<modo>) permetta la configurazione dei pin tra input e output DigitalWrite(<alto o basso>) permette di settare il pin tra HIGH e LOW (0V 5V) DigitalRead() legge il valore del pin (HIGH o LOW) AnalogRead() legge il valore di tensione in ingresso su di un pin analogico. AnalogWrite() scrive il valore di tensione desiderato su un pin pwm. Map() mappa un range numerico su un altro. Poi esempio pratico Arduino 27 Riferimenti: http://arduino.cc/en/reference/homepage

Con le mani in pasta l Esperimento1 l Esperimento2 l Esperimento3 Arduino 28

Esperimento 1 Accendiamo un LED Codice: Collegamenti int ledpin = 10; void setup() { pinmode(ledpin, OUTPUT); } void loop() { } digitalwrite(ledpin, HIGH); delay(1000); digitalwrite(ledpin, LOW); delay(1000); Arduino 29

Esperimento2 Utilizziamo un sensore Come collegare la fotoresistenza. Partitore di tensione. Tensione nominale fotoresistenza 10kOhm V out = (R2*I)/(R2+R1) Arduino 30

Lo schema di colllegamento Arduino 31

Codice int fotorvalue = 0; int fotorpin = 0; int ledpin = 10; void setup(){ pinmode(ledpin, OUTPUT); Serial.begin(9600); Serial.println("Setted up"); } void loop(){ fotorvalue=analogread(fotorpin); } if(fotorvalue >600){ int val = map(fotorvalue,600,1023,0,255); Serial.println(val); analogwrite(10,val); }else{ analogwrite(10,0); } Arduino 32

Esperimento 3 Robot Planare 2R (più o meno) Schema di collegamento Arduino 33

Codice Esperimento 3 Robot Planare 2R (più o meno) #include <Servo.h> char buffer[10]; int stat = 1300; int count=0; int pot1=0; int pot2=1; Servo servo2; Servo servo; void setup() { servo.attach(3); servo2.attach(5); Serial.begin(9600); Serial.flush(); servo.writemicroseconds(50); servo2.writemicroseconds(50); } void loop() { int angle1 = analogread(pot1); int angle2 = analogread(pot2); angle1=map(angle1, 0, 1023, 1000, 2500); angle2=map(angle2, 0, 1023, 1000, 2500); Serial.print(angle1); Serial.print(" - "); Serial.print(angle2); Serial.println(); servo.writemicroseconds(angle1); servo2.writemicroseconds(angle2); } Viene utilizzata la libreria Servo ed il suo metodo writemicroseconds Arduino 34

Trasmissione PC - Arduino Arduino 35

Esperimento 4 La testa robo7ca l Face tracking Arduino 36

Schede con microprocessore (ARM) Raspberry pi Arduino 37

Altre Schede ACME systems Aria Fox Arduino 38

Altre schede Nvidia Arduino 39