34
Progetti reali con ARDUINO Introduzione alla scheda Arduino (parte 1 ª) gennaio 2015 – Giorgio Carpignano I.I.S. PRIMO LEVI C.so Unione Sovietica 490 (TO) Materiale didattico: www.istitutoprimolevi.gov.it

Progetti reali con ARDUINO - robotica educativaProgetti reali con ARDUINO Introduzione alla scheda Arduino (parte 1ª) gennaio 2015 – Giorgio Carpignano I.I.S. PRIMO LEVI C.so Unione

  • Upload
    others

  • View
    19

  • Download
    2

Embed Size (px)

Citation preview

Page 1: Progetti reali con ARDUINO - robotica educativaProgetti reali con ARDUINO Introduzione alla scheda Arduino (parte 1ª) gennaio 2015 – Giorgio Carpignano I.I.S. PRIMO LEVI C.so Unione

Progetti realicon ARDUINO

Introduzione alla scheda Arduino (parte 1ª)

gennaio 2015 – Giorgio CarpignanoI.I.S. PRIMO LEVIC.so Unione Sovietica 490 (TO)

Materiale didattico:www.istitutoprimolevi.gov.it

Page 2: Progetti reali con ARDUINO - robotica educativaProgetti reali con ARDUINO Introduzione alla scheda Arduino (parte 1ª) gennaio 2015 – Giorgio Carpignano I.I.S. PRIMO LEVI C.so Unione

Una parola sulla sicurezza

I componenti elettronici sono tossici: alcunicontengono Piombo e altri metallialtamente inquinanti (non disperdere!)

Non trascinate i vostri piedi sulla moquette:alcuni componenti elettronici sono moltosensibili ai campi elettrostatici

Effettuare e/o modificare i collegamentisolo quando la scheda Arduino èscollegata dall’alimentazione

Page 3: Progetti reali con ARDUINO - robotica educativaProgetti reali con ARDUINO Introduzione alla scheda Arduino (parte 1ª) gennaio 2015 – Giorgio Carpignano I.I.S. PRIMO LEVI C.so Unione

Cos'è Arduino?È un progetto Open Source (sei libero di utilizzare

e modificare anche il software e le librerie)È una piccola scheda con un suo ambiente di

programmazione e una sua filosofia di sviluppoÈ possibile programmare con un piccolo computerÈ completamente “stand-alone” (funziona anche

in modo autonomo dopo la programmazione)Può comunicare con una moltitudine di altri

dispositivi sia di “input” che di “ouput”Può lavorare con una piccola batteria da 9VPuò parlare (comunicare!) con altri computer,

telefoni cellulari, ecc.

Page 4: Progetti reali con ARDUINO - robotica educativaProgetti reali con ARDUINO Introduzione alla scheda Arduino (parte 1ª) gennaio 2015 – Giorgio Carpignano I.I.S. PRIMO LEVI C.so Unione

Cos'è Arduino? Elaborazione (tutti i progetti sono open source) Economico, più veloce e aperto (software a costo zero) Utilizza l’ATmega328 come chip del microcontrollore

(altri micro: “PIC”, “8031”, etc.)

25€

49€

64€44€

Page 5: Progetti reali con ARDUINO - robotica educativaProgetti reali con ARDUINO Introduzione alla scheda Arduino (parte 1ª) gennaio 2015 – Giorgio Carpignano I.I.S. PRIMO LEVI C.so Unione

Cos'è Arduino?Perché non basta usare

solo l’integrato ATmega328?

Nel processore èmemorizzato un piccolo programma di boot che serve acaricare nella memoria flash del microcontrollore lo sketch(programma) creato con l'ambiente di sviluppo su Pc,successivamente il software appena caricato sulmicrocontrollore viene eseguito dopo i primi 5 secondi. Il processore è di tipo RISC e una istruzione macchina viene

eseguita mediamente in un solo ciclodi clock.

L'architettura è di tipo Harvard concanali di comunicazione dati eistruzioni separati.

Page 6: Progetti reali con ARDUINO - robotica educativaProgetti reali con ARDUINO Introduzione alla scheda Arduino (parte 1ª) gennaio 2015 – Giorgio Carpignano I.I.S. PRIMO LEVI C.so Unione

Caratteristiche di ArduinoARDUINO UNO:8-bit microcontroller

ATMEGA328PAlimentazione: 3,3V accetta

anche 5V32 Kbyte di FLASH2 Kbyte di RAM1 Kbyte di EEPROMFrequenza clock = 16 MHz 14 pin configurabili come

ingressi / uscite digitali(0V oppure 5V)

6 pin di ingressianalogici ADC (0V÷5V)Risoluzione: 10 bit (da 0a 1023 valori)

ARDUINO DUE:32-bit microcontroller

AT91SAM3X8EAlimentazione: 3,3V512 Kbyte di FLASH96 Kbyte di RAMFrequenza clock = 84 MHz 54 pin configurabili

come ingressi / uscitedigitali (0V oppure 3,3V)

12 pin di ingressianalogici ADC(0V÷3,3V) Risoluzione:12 bit (da 0 a 4095valori)

2 pin di usciteanalogiche DAC(0V÷3,3V) Risoluzione:12 bit

Page 7: Progetti reali con ARDUINO - robotica educativaProgetti reali con ARDUINO Introduzione alla scheda Arduino (parte 1ª) gennaio 2015 – Giorgio Carpignano I.I.S. PRIMO LEVI C.so Unione

ARDUINO UNO: 6 pin di uscite

analogiche simulatecon tecnica PWM (0÷5V)Risoluzione: 8 bit (da 0a 255 valori)

1 porta USB• source digital output:

3mA oppure 40mA (max.)• sink digital output: 6mA

oppure 40mA (max.)

Gli I/O (Input/Output) digitali sono in grado di controllare interruttori,pulsanti, led, motori e altro.Gli ingressi analogici sono in grado di leggere la posizione dimanopole o altri sensori diversi.Le uscite analogiche vengono “simulate” con la tecnica digitaledenominata Pulse With Modulation (PWM).

ARDUINO DUE:• 11 pin di uscite

analogiche simulatecon tecnica PWM(0÷3,3V) Risoluzione:

8/10/12 bit• 2 porte USB• source digital output:

3mA oppure 15mA (max.)• sink digital output: 6mA

oppure 9mA (max.)

Caratteristiche di Arduino

Page 8: Progetti reali con ARDUINO - robotica educativaProgetti reali con ARDUINO Introduzione alla scheda Arduino (parte 1ª) gennaio 2015 – Giorgio Carpignano I.I.S. PRIMO LEVI C.so Unione

La neonata scheda «Arduino Yún»Arduino YUN si distingue dagli altri modelli perché puòcomunicare con la distribuzione Linux basata su OpenWRTchiamata «Linino», in grado di assicurare tempi di startup rapidi,installata sul processore dell'Atheros AR9331.Offre così un potente computer connesso con il microcontrolloreArduino in grado di fornire:Collegamento ad una rete wireless e rete Lan ethernetCreare un web serverCreare un data loggerGestione dispositivi USB

Page 9: Progetti reali con ARDUINO - robotica educativaProgetti reali con ARDUINO Introduzione alla scheda Arduino (parte 1ª) gennaio 2015 – Giorgio Carpignano I.I.S. PRIMO LEVI C.so Unione

Caratteristiche della scheda «Arduino Yún»AVR Arduino microcontroller Linux microprocessor

Microcontroller ATmega32u4 Processor Atheros AR9331Operating Voltage 5V Architecture MIPS @400MHzInput Voltage 5V Operating Voltage 3.3VDigital I/O Pins 20 Ethernet IEEE 802.3

10/100Mbit/sPWM Channels 7 WiFi IEEE 802.11b/g/nDC Analog InputChannels

12 USB Type-A 2.0 Host/Device

Current per I/OPin

40 mA Card Reader Micro-SD only

DC Current for3.3V Pin

50 mA RAM 64 MB DDR2

Flash Memory 32 KB Flash Memory 16 MBSRAM 2.5 KB PoE compatible 802.3af card

supportEEPROM 1 KBClock Speed 16 MHz

Page 10: Progetti reali con ARDUINO - robotica educativaProgetti reali con ARDUINO Introduzione alla scheda Arduino (parte 1ª) gennaio 2015 – Giorgio Carpignano I.I.S. PRIMO LEVI C.so Unione

Come funziona Arduino?Ma come si programma la scheda?

È senza tastiera, mouse e schermo

Occorre scrivere e compilare il programmasul PC con un apposito software IDE(Integrated Development Environment)

Scaricarlo sulla memoria flash dellascheda Arduino e eseguirlo

La scheda Arduino può essere usatasenza il PC.

Page 11: Progetti reali con ARDUINO - robotica educativaProgetti reali con ARDUINO Introduzione alla scheda Arduino (parte 1ª) gennaio 2015 – Giorgio Carpignano I.I.S. PRIMO LEVI C.so Unione

Le schede Arduino e le USBHardware Arduino

Page 12: Progetti reali con ARDUINO - robotica educativaProgetti reali con ARDUINO Introduzione alla scheda Arduino (parte 1ª) gennaio 2015 – Giorgio Carpignano I.I.S. PRIMO LEVI C.so Unione

Softw

are

Ard

uino

Page 13: Progetti reali con ARDUINO - robotica educativaProgetti reali con ARDUINO Introduzione alla scheda Arduino (parte 1ª) gennaio 2015 – Giorgio Carpignano I.I.S. PRIMO LEVI C.so Unione

Digitale o Analogico? Digitale possiede solo due valori: 0 e 1 (Basso o Alto) Analogico - ha molti (infiniti) valori

I computer in realtà non lavorano con tensioni analogiche.Nella conversione da analogico a digitale (ADC) si perdono

delle informazioni.Più elevato è il numero dei bit utilizzato nella conversione

minore sarà l’errore commesso.

Page 14: Progetti reali con ARDUINO - robotica educativaProgetti reali con ARDUINO Introduzione alla scheda Arduino (parte 1ª) gennaio 2015 – Giorgio Carpignano I.I.S. PRIMO LEVI C.so Unione

Arduino Uno SoftwareQuesto è il

codicecompletoper unLEDlampeg-giante.

Arduinodefiniscele variefunzioniutili comedigitalWrite() edelay().Se neriparla piùavanti.

Blink.ino

Page 15: Progetti reali con ARDUINO - robotica educativaProgetti reali con ARDUINO Introduzione alla scheda Arduino (parte 1ª) gennaio 2015 – Giorgio Carpignano I.I.S. PRIMO LEVI C.so Unione

Arduino & Processing Visita il sito di riferimento:

http://processing.org/ Permette di costruire un

applet che gira sulPersonal Computer quindinon serve per la schedaArduino

Processing possiede lastessa interfaccia graficadi elaborazione di Arduinoma utilizza un set diistruzioni differenti daquelle necessarie per lascheda Arduino

Permette di controllarecon il mouse e/o latastiera uno o piùdispositivi di input/outputpresenti sulla schedaArduino e viceversa.

Page 16: Progetti reali con ARDUINO - robotica educativaProgetti reali con ARDUINO Introduzione alla scheda Arduino (parte 1ª) gennaio 2015 – Giorgio Carpignano I.I.S. PRIMO LEVI C.so Unione

Cos’è «Fritzing»? Fritzing può essere

definito come unprogetto o iniziativa"open source" ingrado di supportare iprogettisti hardware,artisti, ricercatori ehobbysti a realizzaredisegni elettronicicreativi e di facileutilizzo.

(http://fritzing.org)

Page 17: Progetti reali con ARDUINO - robotica educativaProgetti reali con ARDUINO Introduzione alla scheda Arduino (parte 1ª) gennaio 2015 – Giorgio Carpignano I.I.S. PRIMO LEVI C.so Unione

Installa il software per Arduino UnoEffettua il download del software da:

www.istitutoprimolevi.gov.it “Studenti”“Progetti e Lavori” oppure da www.arduino.cc/

È disponibile per:Windows XP / Vista / Windows 7 e 8Mac OS X PPCCome installare i driver Nella cartella "drivers", scegliere quella

appropriataWindows: decomprimere il driver, collegare la

scheda e selezionare la cartella del driver.

Page 18: Progetti reali con ARDUINO - robotica educativaProgetti reali con ARDUINO Introduzione alla scheda Arduino (parte 1ª) gennaio 2015 – Giorgio Carpignano I.I.S. PRIMO LEVI C.so Unione

Utilizzo di esempi “on line” con Arduino Uno

I programmi sono chiamati “sketch” (schizzo)Come visualizzare uno sketch di esempio denominato

“Blink"

Page 19: Progetti reali con ARDUINO - robotica educativaProgetti reali con ARDUINO Introduzione alla scheda Arduino (parte 1ª) gennaio 2015 – Giorgio Carpignano I.I.S. PRIMO LEVI C.so Unione

Errori

È necessarioselezionare laporta seriale eil tipo dischedautilizzata se laschedaArduino “nonrisponde"

Page 20: Progetti reali con ARDUINO - robotica educativaProgetti reali con ARDUINO Introduzione alla scheda Arduino (parte 1ª) gennaio 2015 – Giorgio Carpignano I.I.S. PRIMO LEVI C.so Unione

Qual è la mia porta seriale?

Da«Pannello di Controllo» «Sistema» Utilizzare «Gestionedispositivi»per conoscere la porta COMutilizzata dalla schedaArduino (nella figura vieneutilizzata la porta COM4)

Page 21: Progetti reali con ARDUINO - robotica educativaProgetti reali con ARDUINO Introduzione alla scheda Arduino (parte 1ª) gennaio 2015 – Giorgio Carpignano I.I.S. PRIMO LEVI C.so Unione

Utilizzare la scheda Arduino UnoScrivere il programma utilizzando“Blocco Note” oppure lDE di Arduino

(l'ambiente di sviluppo integrato IDE di Arduino èun'applicazione multipiattaforma scritta in Java)

Salvarlo con estensione “.INO” (nella vecchiaversione si chiamava “.PDE”)

Compilarlo ovvero verificare la presenza dierrori in modo da poterlo eseguire con unlinguaggio macchina specifico delmicrocontrollore utilizzato (ATmega328)

Scaricare sulla scheda Arduino il softwarecompilato.

Durante il caricamento, i led denominati TX / RXlampeggiano per indicare che i dati sonotrasferiti

Infine, il programma verrà eseguito (dopo circa5 sec.)

Page 22: Progetti reali con ARDUINO - robotica educativaProgetti reali con ARDUINO Introduzione alla scheda Arduino (parte 1ª) gennaio 2015 – Giorgio Carpignano I.I.S. PRIMO LEVI C.so Unione

Scheda Arduino ciclo di funzionamento

Page 23: Progetti reali con ARDUINO - robotica educativaProgetti reali con ARDUINO Introduzione alla scheda Arduino (parte 1ª) gennaio 2015 – Giorgio Carpignano I.I.S. PRIMO LEVI C.so Unione

LED = Light-Emitting DiodeLa corrente può scorrere solo in un

verso nel diodo led (la tensionepresente quando è illuminato è dicirca 1,8V tra Anodo e il Catodo diun led colore rosso)

Occorre un resistore per limitare lacorrente (valore max = 20 mA) dacollegare in serie

Alcuni LED proiettano laloro luce con un fasciomolto ristretto (15°),altri proiettano con unfascio molto ampio(>60°)

Page 24: Progetti reali con ARDUINO - robotica educativaProgetti reali con ARDUINO Introduzione alla scheda Arduino (parte 1ª) gennaio 2015 – Giorgio Carpignano I.I.S. PRIMO LEVI C.so Unione

La parte piatta del LED (catodo) va collegata alpolo negativo della batteria

Maggiore è la resistenza (R1 = 1KΩ = 1000 Ω =marrone, nero, rosso, oro) minore sarà lacorrente e la luminosità del LED

La particolarità del LED è quella di non possederenessuna temporizzazione (Ton = led acceso eToff = led spento), in pratica rimane acceso finoa quando non si interrompe il collegamento allabatteria da 9V

LED test

Page 25: Progetti reali con ARDUINO - robotica educativaProgetti reali con ARDUINO Introduzione alla scheda Arduino (parte 1ª) gennaio 2015 – Giorgio Carpignano I.I.S. PRIMO LEVI C.so Unione

Montaggio e cablaggiodel circuito precedentesulla breadboard senzasaldature

LED test

Codice coloreper le

resistenze

Page 26: Progetti reali con ARDUINO - robotica educativaProgetti reali con ARDUINO Introduzione alla scheda Arduino (parte 1ª) gennaio 2015 – Giorgio Carpignano I.I.S. PRIMO LEVI C.so Unione

La Breadbordsenza saldatura

I gruppi di 5contatti sonocollegati tra loronel senso verticale.Inserire il cavoprecedentementespelato (max 1 cm)nei fori pereffettuare unaconnessione.È molto facile erisulta più veloce diuna saldatura.Purtroppo, lebreadboard siusurano e sonocostose (>10€).

Page 27: Progetti reali con ARDUINO - robotica educativaProgetti reali con ARDUINO Introduzione alla scheda Arduino (parte 1ª) gennaio 2015 – Giorgio Carpignano I.I.S. PRIMO LEVI C.so Unione

Collegamenti senza saldatura sulla breadboard

Utilizzando pinze con becco sottile a punta ci sipuò aiutare nell’inserimento del contato.

Inserito il filo, spingere il terminale verso il fondodel contatto interno.

Page 28: Progetti reali con ARDUINO - robotica educativaProgetti reali con ARDUINO Introduzione alla scheda Arduino (parte 1ª) gennaio 2015 – Giorgio Carpignano I.I.S. PRIMO LEVI C.so Unione

Consigli per uncorretto utilizzo dellascheda ArduinoPreparare una base diplastica, legno ometallo (se in metalloricoprire con un fogliodi plastica adesiva nonconduttrice. Ledimensioni variano aseconda dellabreadboard) Montare e fissare la

scheda Arduino Montare e fissare la

basetta breadboard

Page 29: Progetti reali con ARDUINO - robotica educativaProgetti reali con ARDUINO Introduzione alla scheda Arduino (parte 1ª) gennaio 2015 – Giorgio Carpignano I.I.S. PRIMO LEVI C.so Unione

Circuito con LED lampeggiante

Negli schemi elettrici le tensioni più elevate (ad esempio: Vcc =5V) vengono disegnate nella parte superiore dello schema.

I nodi comuni, come “GND” (Ground) sono collegati tutti allostesso potenziale.

Utilizza il pin digitale 13 per collegare il led e la resistenza da220 ohm (rosso-rosso-marrone-oro) in serie.

Page 30: Progetti reali con ARDUINO - robotica educativaProgetti reali con ARDUINO Introduzione alla scheda Arduino (parte 1ª) gennaio 2015 – Giorgio Carpignano I.I.S. PRIMO LEVI C.so Unione

Software LED lampeggianteSoftware per effettuare l’accensione ad

intermittenza di un diodo LEDDenominazione del file «Blink_1.ino»

da scaricare dal sito:www.istitutoprimolevi.gov.it/node/324

Page 31: Progetti reali con ARDUINO - robotica educativaProgetti reali con ARDUINO Introduzione alla scheda Arduino (parte 1ª) gennaio 2015 – Giorgio Carpignano I.I.S. PRIMO LEVI C.so Unione

Arduino Sketch

Nel linguaggio C occorre:

Dichiarare le variabili da utilizzare

Inizializzare la scheda definendo gli input(ingressi) digitali / analogici e gli output (uscite).

Funzione: setup() – viene eseguito una solavolta all'inizio per inizializzare le periferiche.

Funzione: loop() – vengono eseguiteripetutamente tutte le istruzioni comprese tra leparentesi graffe.

Page 32: Progetti reali con ARDUINO - robotica educativaProgetti reali con ARDUINO Introduzione alla scheda Arduino (parte 1ª) gennaio 2015 – Giorgio Carpignano I.I.S. PRIMO LEVI C.so Unione

“Linguaggio C” per Arduino UnoIl linguaggio è “C standard” (più facile rispetto al C++)possiede moltissime funzioni utili già implementate:

pinMode() - impostare un pin come ingresso o uscitadigitalWrite() - impostare un pin output digitale a livello alto /

bassodigitalRead() - leggi lo stato di un pin definito come input digitaleanalogRead() - legge e converte la tensione di un pin analogico

in un valore numerico (10-bit)analogWrite() - scrive un valore "analogico" con PWM (8-bit)delay() - aspetta un periodo di tempo (espresso in millisecondi)millis() – si ottiene il tempo da quando la scheda è stata accesa.

E molte altre funzioni, comprese le “librerie” (raccolta di funzioninecessarie per colloquiare con i dispositivi di input / output).

Ad esempio: libreria per i display LCD, servo, trasmissione /ricezione di dati seriali, ecc.

Page 33: Progetti reali con ARDUINO - robotica educativaProgetti reali con ARDUINO Introduzione alla scheda Arduino (parte 1ª) gennaio 2015 – Giorgio Carpignano I.I.S. PRIMO LEVI C.so Unione

Ciclo di sviluppo del software Effettuare i cambiamenti che si desidera (edit) In seguito si effettua la compilazione del

software (compile) Dopo si provvede a caricare sulla memoria flash

della scheda Arduino (upload) Con un ritardo di 5 secondi circa il software

viene messo in esecuzione sul microcontrolloreATmega328 (run)

EDIT

UPLOAD

COMPILE RUN

Page 34: Progetti reali con ARDUINO - robotica educativaProgetti reali con ARDUINO Introduzione alla scheda Arduino (parte 1ª) gennaio 2015 – Giorgio Carpignano I.I.S. PRIMO LEVI C.so Unione

Aggiungihardware esoftwarepercontrollare2 LED

R1

220D1

LED1

12

D2

LED2

12

R2

220

SCHEDA ARDUINO

PIN7

PIN6

GND

GND

Blink_2.inoda scaricare dal sito:

www.istitutoprimolevi.gov.it/node/324