introduzione alla scheda arduino/genuino - roma tor...

15
Introduzione alla scheda Arduino/Genuino Francesco Mar6nelli, Sergio Galeani e Daniele Carnevale Università di Roma "Tor Vergata" Dipar6mento di Ingegneria Civile e Ing. Informa6ca DICII 1

Upload: buitu

Post on 16-Feb-2019

222 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Introduzione alla scheda Arduino/Genuino - Roma Tor Vergatacontrol.disp.uniroma2.it/carnevale/.../Documenti/Introduzione.pdf · Introduzione alla scheda Arduino/Genuino Francesco

IntroduzioneallaschedaArduino/Genuino

FrancescoMar6nelli,SergioGaleanieDanieleCarnevaleUniversitàdiRoma"TorVergata"

Dipar6mentodiIngegneriaCivileeIng.Informa6caDICII

1

Page 2: Introduzione alla scheda Arduino/Genuino - Roma Tor Vergatacontrol.disp.uniroma2.it/carnevale/.../Documenti/Introduzione.pdf · Introduzione alla scheda Arduino/Genuino Francesco

USB

Ambientedisviluppodelcodice(IDE)

Comunicazioneseriale(USB,wireless)

SchedaArduino

FRAMEWORKGENERALE

Circuiteria(eleSro-meccanica)

2

Arduinoperme,ediges/re,a,raversoilcodice,segnaliele,riciiningressoeuscita.

Page 3: Introduzione alla scheda Arduino/Genuino - Roma Tor Vergatacontrol.disp.uniroma2.it/carnevale/.../Documenti/Introduzione.pdf · Introduzione alla scheda Arduino/Genuino Francesco

SCHEDAARDUINO:HARDWARE

Arduino2009

3Genuino2016

-ConneSoreUSB-ConneSoreUSB

-MicrocontrolloreATmega328p(16MHz)

-Ingressidigitali(0-5V)

-Ingressianalogici(0-5V)

-AlimentazioneI/O(7-12V,Jackepin)

-Conver6toreUSB-Seriale

-PulsantediReset

Page 4: Introduzione alla scheda Arduino/Genuino - Roma Tor Vergatacontrol.disp.uniroma2.it/carnevale/.../Documenti/Introduzione.pdf · Introduzione alla scheda Arduino/Genuino Francesco

SCHEDAARDUINO:SOFTWARE

IDE

4Serialmonitor

IntegratedDevelopmentEnvironment-  SintassisimilealcodiceC++-  Pre-compilazioneperverificadel

codice-  ToolperlascriSuradelcodicenel

microcontrollore-  Menùperselezionareil6podi

schedaelaportaUSB-  DuefunzioniprincipaliI.  setup():eseguitaunasolavolta

appenalaschedavieneaccesa.II.  loop():codiceeseguitociclicamente-  Finestrapervisualizzareida6seriali

scambia6traschedaePC

Page 5: Introduzione alla scheda Arduino/Genuino - Roma Tor Vergatacontrol.disp.uniroma2.it/carnevale/.../Documenti/Introduzione.pdf · Introduzione alla scheda Arduino/Genuino Francesco

SCHEDAARDUINO:PRECAUZIONIHARDWARE

5

-  IlfondodellaschedahadeipiedinicondufvicheNONdevonoentrareincontaSo(isolareilfondodellascheda)

-  NoneffeSuarecollegamen6aschedaalimentata-  Nonusarepuntemetallichesullaschedachepossano

cortocircuitarneicomponen6-  Nonsovralimentarenécreareconnessionicheassorbanopiù

di100mAdaognisingolopiedino

...amailuoghiasciufepuli6.

avrdude:stk500_recv()programmerisnotrespondingavrdude:stk500_recv()programmerisnotrespondingavrdude:stk500_recv()programmerisnotrespondingavrdude:stk500_recv()programmerisnotresponding

Page 6: Introduzione alla scheda Arduino/Genuino - Roma Tor Vergatacontrol.disp.uniroma2.it/carnevale/.../Documenti/Introduzione.pdf · Introduzione alla scheda Arduino/Genuino Francesco

SCHEDAARDUINO:TECNICALITIES...

6

•  AVR1-8bitRISC2technology,[email protected]•  32KBself-programmingFlashProgramMemory,2KB

SRAM,•  1KBEEPROM•  6Channel10-bitA/D-converter,14DigitalI/OPins(of•  which6providePWMoutput)•  debugWIREOn-chipDebugSystem•  Upto20MIPSthroughputat20MHz•  (onArduinoboard)1/16MHz=62.5nsperCPU(clock)

cycle•  Two8-bitTimer/CounterswithSeparatePrescalerand

CompareMode•  One16-bitTimer/CounterwithSeparatePrescaler,

CompareModeandCaptureMode•  RealTimeCounterwithSeparateOscillator

Page 7: Introduzione alla scheda Arduino/Genuino - Roma Tor Vergatacontrol.disp.uniroma2.it/carnevale/.../Documenti/Introduzione.pdf · Introduzione alla scheda Arduino/Genuino Francesco

SCHEDAARDUINO:SEGNALIDIINGRESSOUSCITA(1/3)

7

Segnalidigitalitra0Ve5Vdiingressoediuscita.

tempo

Codicebinario

Voltaggio(0-5V) SegnaleDigitale

Voltaggio(0-5V)SegnaleAnalogicoCampioniacquisi6

tempo

Segnalianalogicitra0Ve5Viningresso,sonocampiona6etrascrifincodicebinarioconunaprecisionedicirca1mV(5V/1024)avendoadisposizione8bit(AnalogtoDigitalConverterda8bit).

5V

Page 8: Introduzione alla scheda Arduino/Genuino - Roma Tor Vergatacontrol.disp.uniroma2.it/carnevale/.../Documenti/Introduzione.pdf · Introduzione alla scheda Arduino/Genuino Francesco

SCHEDAARDUINO:SEGNALIDIINGRESSOUSCITA(2/3)

8

PWM:PulseWidthModulatedsignalE'caraSerizzatodasegnaliadondaquadraicuifron6disalitadistanosempreTpwm,ovveroilperiododelPWM,mentrelapercentualedelperiodoincuiilsegnaleèalto(5V)èdeSodutycycle.Sull'ArduinoTpwmèperdefaultparia2ms,mentreèpossibileselezionare255diversilivellididutycycle(8bitDAC).

Tpwm

Page 9: Introduzione alla scheda Arduino/Genuino - Roma Tor Vergatacontrol.disp.uniroma2.it/carnevale/.../Documenti/Introduzione.pdf · Introduzione alla scheda Arduino/Genuino Francesco

SCHEDAARDUINO:SEGNALIDIINGRESSOUSCITA(3/3)

9

INPUT OUTPUT

14Digitali(tracui6PWMOUTPUT)

5Analogici6PWM

14Digitali(tracui6PWMOUTPUT)

Comepossonoessereu6lizza6:•  acquisiresegnalidigitalieanalogici•  produrresegnaliPWM•  comunicazioneseriale,I2C,SPI,USART•  abilitarefinoadueinterrupt

Page 10: Introduzione alla scheda Arduino/Genuino - Roma Tor Vergatacontrol.disp.uniroma2.it/carnevale/.../Documenti/Introduzione.pdf · Introduzione alla scheda Arduino/Genuino Francesco

IDE:STRUTTURASOFTWAREGENERALE

10

•  Compilazionesooware•  Esecuzionedelbootloaderchescrive

sullamemoriaflash(32KB)delmicrocontrolloreeventualenuovocodiceinarrivodallaseriale(PC)epredisponelevariabilinellanellaram(2KB)configurandoipindellascheda

•  Vieneeseguitaladunzionesetup()•  Ilmicrocontrolloreesegueciclicamente

lafunzioneloop()lacuiinterruzionepuòavvenireacausadegliinterrupt(funzionalitàspecificadialcunipin),cherichiamanol'esecuzionedelleInterruptServiceRou6ne,odelpulsantediReset.

Bootloader Power on

Initialization: pin settings,serial communication,interrupt service routine...

Setup()

Loop()

’Endless’ executed code...ISR

Interrupt

Reset

Flussodelleoperazioni

Page 11: Introduzione alla scheda Arduino/Genuino - Roma Tor Vergatacontrol.disp.uniroma2.it/carnevale/.../Documenti/Introduzione.pdf · Introduzione alla scheda Arduino/Genuino Francesco

PROGRAMMAZIONE:VARIABILI

11

ConstantsHIGH—LOW,INPUT—OUTPUT,true—false,integerandfloa6ngpointconstantsDatatypesvoid,boolean,char,unsignedchar,byte,int,word,long,double,array,string...Conversionchar(),byte(),int(),float()...Qualifiersvariablescope,sta6c,vola6le,const,unsignedU/li/essizeof(),PROGMEM

moreonexamples...

Page 12: Introduzione alla scheda Arduino/Genuino - Roma Tor Vergatacontrol.disp.uniroma2.it/carnevale/.../Documenti/Introduzione.pdf · Introduzione alla scheda Arduino/Genuino Francesco

PROGRAMMAZIONE:OPERATORIESTRUTTUREDICONTROLLO

12

Aritme/c:+,-,∗,/,%,=(assegnazione)Comparison:==,!=,<,<=,>=,>Boolean:&&,||,!Pointer:⋆,&Bitwise:~,&,|,^,<<,>>Compound:++,/=,&=,|=...

if...elseforswitchcasewhiledo...whilebreakcon/nuereturngoto

Operatori: StruSuredicontrollo:

moreonexamples...

Page 13: Introduzione alla scheda Arduino/Genuino - Roma Tor Vergatacontrol.disp.uniroma2.it/carnevale/.../Documenti/Introduzione.pdf · Introduzione alla scheda Arduino/Genuino Francesco

IDE:INTERFACCIAEFUNZIONALITA'(1/3)

13

Iconeefinestre:-  Compilazionedelcodice-  Compilazioneesalvataggiosullascheda-  Nuovofile-  Aprifile-  Salvafile-  Serialmonitor-  Finestraperl'edi6ngdelcodice-  Finestraperimessaggidellacompilazione

edelsalvataggiosullascheda-  Tipodischedaeportaserialeafve

Page 14: Introduzione alla scheda Arduino/Genuino - Roma Tor Vergatacontrol.disp.uniroma2.it/carnevale/.../Documenti/Introduzione.pdf · Introduzione alla scheda Arduino/Genuino Francesco

IDE:INTERFACCIAEFUNZIONALITA'(2/3)

14

Page 15: Introduzione alla scheda Arduino/Genuino - Roma Tor Vergatacontrol.disp.uniroma2.it/carnevale/.../Documenti/Introduzione.pdf · Introduzione alla scheda Arduino/Genuino Francesco

IDE:INTERFACCIAEFUNZIONALITA'(3/3)

15

Lafinestraperlacomunicazioneseriale(SerialMonitor):-  Numeroporta-  pulsanteperinviareunastringa-  finestraperscrivereida6da

inviareviaserialeallascheda-  da6lefdallascheda-  velocitàdellacomunicazione-  parametridicomunicazione