+ All Categories
Home > Documents > 1.SoC: Arduino (System on a Chip) - profs.info.uaic.rovcosmin/pagini/resurse_arduino/Cursuri... ·...

1.SoC: Arduino (System on a Chip) - profs.info.uaic.rovcosmin/pagini/resurse_arduino/Cursuri... ·...

Date post: 13-Dec-2018
Category:
Upload: lamnguyet
View: 234 times
Download: 0 times
Share this document with a friend
58
1.SoC: Arduino (System on a Chip) Facultatea de Informatică – Univ. “Al. I. CuzaIaşi
Transcript
Page 1: 1.SoC: Arduino (System on a Chip) - profs.info.uaic.rovcosmin/pagini/resurse_arduino/Cursuri... · Arduino UNO - Safety În cazul în care calculatorul nu “va vede” Arduino-ul,

1.SoC: Arduino

(System on a Chip)

Facultatea de Informatică – Univ. “Al. I. Cuza” Iaşi

Page 2: 1.SoC: Arduino (System on a Chip) - profs.info.uaic.rovcosmin/pagini/resurse_arduino/Cursuri... · Arduino UNO - Safety În cazul în care calculatorul nu “va vede” Arduino-ul,

SoC

Este un sistem complet (de obicei un calculator) construit

într-un singur procesor: toate componentele sistemului

(CPU, RAM, porturi I/O etc.).

De ex: procesoarele telefoanelor (ARM).

Consumă puţin curent pentru a funcţiona.

Cosmin Vârlan – Facultatea de Informatică 2016

Apple A5 SoC

Page 3: 1.SoC: Arduino (System on a Chip) - profs.info.uaic.rovcosmin/pagini/resurse_arduino/Cursuri... · Arduino UNO - Safety În cazul în care calculatorul nu “va vede” Arduino-ul,

SoC – ce conţin

• Microcontroller / microprocesor / digital signal

processor (DSP) sau mai multe (MPSoC)

• Blocuri de memorie: ROM, RAM, EEPROM, Flash

• Metode de măsurare a timpului (de ex. oscilatoare)

• Periferice: ceasuri reale (ora corectă), ceasuri ce

menţin timpul de la pornire, power-on-reset

(sesizeaza curentul şi duc sistemul într-o anumită

stare), watch dog timeout (pt erori).

Cosmin Vârlan – Facultatea de Informatică 2016

AMD Am286ZX/LX,

SoC based on80286https://en.wikipedia.org/wiki/System_on_a_chip

Page 4: 1.SoC: Arduino (System on a Chip) - profs.info.uaic.rovcosmin/pagini/resurse_arduino/Cursuri... · Arduino UNO - Safety În cazul în care calculatorul nu “va vede” Arduino-ul,

SoC – ce conţin

• Interfeţe externe: USB, FireWire, Ethernet, USART

(Universal Synchronous/Asynchronous

Receiver/Transmitter – portul serial cel vechi),

SPI (Serial Peripheral Interface)

• Interfeţe ADC / DAC (analog – digital converter şi

invers)

• Circuite pentru managementul tensiunii.

Cosmin Vârlan – Facultatea de Informatică 2016

Page 5: 1.SoC: Arduino (System on a Chip) - profs.info.uaic.rovcosmin/pagini/resurse_arduino/Cursuri... · Arduino UNO - Safety În cazul în care calculatorul nu “va vede” Arduino-ul,

Cosmin Vârlan – Facultatea de Informatică 2016

https://en.wikipedia.org/wiki/System_on_a_chip

Page 6: 1.SoC: Arduino (System on a Chip) - profs.info.uaic.rovcosmin/pagini/resurse_arduino/Cursuri... · Arduino UNO - Safety În cazul în care calculatorul nu “va vede” Arduino-ul,

Cosmin Vârlan – Facultatea de Informatică 2016

"ARMSoCBlockDiagram" by en:User:Cburnett - Own work in

Inkscape based on en:Image:ARMSoCBlockDiagram.gif.

Licensed under CC BY-SA 3.0 via Commons -

https://commons.wikimedia.org/wiki/File:ARMSoCBlockDiagra

m.svg#/media/File:ARMSoCBlockDiagram.svg

JTAG = Joint Test Action Group

Realizează verificarea automată a

CHIPului.

La PCuri: Power On Self Testhttps://en.wikipedia.org/wiki/JTAG

Page 7: 1.SoC: Arduino (System on a Chip) - profs.info.uaic.rovcosmin/pagini/resurse_arduino/Cursuri... · Arduino UNO - Safety În cazul în care calculatorul nu “va vede” Arduino-ul,

Cosmin Vârlan – Facultatea de Informatică 2016

"ARMSoCBlockDiagram" by en:User:Cburnett - Own work in

Inkscape based on en:Image:ARMSoCBlockDiagram.gif.

Licensed under CC BY-SA 3.0 via Commons -

https://commons.wikimedia.org/wiki/File:ARMSoCBlockDiagra

m.svg#/media/File:ARMSoCBlockDiagram.svg

Procesorul de tip ARMRISC = Reduced Instruction Set Computing

CISC = Complex Instruction Set Computing

RISC – au low consumption la energie in comparatie cu

CISC care consuma destul de mult. Scopul însă este diferit

şi e ok. Multe companii (precum INTEL) au adus CISC-ul la

nivele de consum foarte mici: Advanced RISC Machine

Citiţi mai multe (dacă vreţi) la:

https://scottiestech.info/2011/11/24/what-is-an-arm-

processor-and-whats-the-big-deal/

Page 8: 1.SoC: Arduino (System on a Chip) - profs.info.uaic.rovcosmin/pagini/resurse_arduino/Cursuri... · Arduino UNO - Safety În cazul în care calculatorul nu “va vede” Arduino-ul,

Cosmin Vârlan – Facultatea de Informatică 2016

"ARMSoCBlockDiagram" by en:User:Cburnett - Own work in

Inkscape based on en:Image:ARMSoCBlockDiagram.gif.

Licensed under CC BY-SA 3.0 via Commons -

https://commons.wikimedia.org/wiki/File:ARMSoCBlockDiagra

m.svg#/media/File:ARMSoCBlockDiagram.svg

Regulator de tensiune – reduce

+/- pentru ca procesorul să

primească o tensiune constantă.

Page 9: 1.SoC: Arduino (System on a Chip) - profs.info.uaic.rovcosmin/pagini/resurse_arduino/Cursuri... · Arduino UNO - Safety În cazul în care calculatorul nu “va vede” Arduino-ul,

Cosmin Vârlan – Facultatea de Informatică 2016

"ARMSoCBlockDiagram" by en:User:Cburnett - Own work in

Inkscape based on en:Image:ARMSoCBlockDiagram.gif.

Licensed under CC BY-SA 3.0 via Commons -

https://commons.wikimedia.org/wiki/File:ARMSoCBlockDiagra

m.svg#/media/File:ARMSoCBlockDiagram.svg

ASB = Advanced System Bus

AHB = Advanced High-

performance Bus

APB = Advanced Peripheral Bus

Diverse tipuri de memorie. (EBI=

External Bus Interface, utilizat

pentru a conecta stickuri de ex.)

Page 10: 1.SoC: Arduino (System on a Chip) - profs.info.uaic.rovcosmin/pagini/resurse_arduino/Cursuri... · Arduino UNO - Safety În cazul în care calculatorul nu “va vede” Arduino-ul,

Cosmin Vârlan – Facultatea de Informatică 2016

Periferal Input / Output

Page 11: 1.SoC: Arduino (System on a Chip) - profs.info.uaic.rovcosmin/pagini/resurse_arduino/Cursuri... · Arduino UNO - Safety În cazul în care calculatorul nu “va vede” Arduino-ul,

Cosmin Vârlan – Facultatea de Informatică 2016

Application Specific Logic –

ajută la particularizarea

dispozitivului pentru ce are

nevoie să facă cel mai des. De

exemplu un Router ar dori să

poată afla rapid adresle IP a

pachetelor…

Page 12: 1.SoC: Arduino (System on a Chip) - profs.info.uaic.rovcosmin/pagini/resurse_arduino/Cursuri... · Arduino UNO - Safety În cazul în care calculatorul nu “va vede” Arduino-ul,

Cosmin Vârlan – Facultatea de Informatică 2016

Diverse module:

-Medium Access Control (Eth)

-Universal Synchronous /

Asynchronous Receiver /

Transmitter

-Serial Peripheral Interface

- 2 Wire interface

-Analog to Digital Converters

Etc.

Page 13: 1.SoC: Arduino (System on a Chip) - profs.info.uaic.rovcosmin/pagini/resurse_arduino/Cursuri... · Arduino UNO - Safety În cazul în care calculatorul nu “va vede” Arduino-ul,

Cosmin Vârlan – Facultatea de Informatică 2016

Controlere pentru tensiune,

oscilatoare, phase-locked loop

(diferenţa între oscilator şi un

clock extern),

controller pentru reset, brownout

(cadere intentionala sau

neintentionala a tensiunii), power

on reset,

Sistem de intreruperi, watchdog

timer, ceas de timp real

Page 14: 1.SoC: Arduino (System on a Chip) - profs.info.uaic.rovcosmin/pagini/resurse_arduino/Cursuri... · Arduino UNO - Safety În cazul în care calculatorul nu “va vede” Arduino-ul,

Software

Elementele hardware descrise trebuie controlate prin

intermediul software. De exemplu, trebuie implementate

standarde cum ar fi cel al comunicării prin USB.

Toate procesoarele trebuie verificate (acţiune ce costă

aprox 70% din designul chipului)

Deseori se folosesc FPGA (Field-programmable gate array)

– Ex: HoMade – FPGA care creeaza core-uri la runtime,

alocând sau dealocând resurse hardware în funcţie de

necesităţi.

Cosmin Vârlan – Facultatea de Informatică 2016

Page 15: 1.SoC: Arduino (System on a Chip) - profs.info.uaic.rovcosmin/pagini/resurse_arduino/Cursuri... · Arduino UNO - Safety În cazul în care calculatorul nu “va vede” Arduino-ul,

SoC

Avantajele utilizării SoC: consum mic de

energie, costuri de producţie mici, fiabilitate

crescută comparativ cu chipurile pe care le

înlocuiesc [partea cu costurile este discutabilă]

Unde le găsiţi: Telefoane, Televizoare inteligente,

Raspberry Pi, Arduino, Ceasuri Inteligente,

Routere (unele), Chrome Cast (sau asemenea),

Apple TV (A5), etc.

Cosmin Vârlan – Facultatea de Informatică 2016

Page 16: 1.SoC: Arduino (System on a Chip) - profs.info.uaic.rovcosmin/pagini/resurse_arduino/Cursuri... · Arduino UNO - Safety În cazul în care calculatorul nu “va vede” Arduino-ul,

ATmega 168/328

Cosmin Vârlan – Facultatea de Informatică 2016

Page 17: 1.SoC: Arduino (System on a Chip) - profs.info.uaic.rovcosmin/pagini/resurse_arduino/Cursuri... · Arduino UNO - Safety În cazul în care calculatorul nu “va vede” Arduino-ul,

AVR

Cosmin Vârlan – Facultatea de Informatică 2016

XTAL = crystal = osciloscilator

ADC = Analog / Digital conv.

AREF = analog reference (cât

este voltajul de intrare pe pinii

analogici (default 5V)

http://tronixstuff.com/2013/12/12/

arduino-tutorials-chapter-22-aref-pin/

AVCC = pinul cu care se alimen-

tează din exterior convertorul

Analog / Digital [uneori

convertorul analog/digital

consumă mai mult curent şi

trebuie alimentat separat]

Page 18: 1.SoC: Arduino (System on a Chip) - profs.info.uaic.rovcosmin/pagini/resurse_arduino/Cursuri... · Arduino UNO - Safety În cazul în care calculatorul nu “va vede” Arduino-ul,

Microcontroller – Atmega328p

Cosmin Vârlan – Facultatea de Informatică 2016

Microcontroller ATmega328

Operating Voltage 5V

Input Voltage (recommended) 7-12V

Input Voltage (limits) 6-20V

Digital I/O Pins14 (of which 6 provide PWM

output)

Analog Input Pins 6

DC Current per I/O Pin 40 mA

DC Current for 3.3V Pin 50 mA

Flash Memory32 KB (ATmega328) of which

0.5 KB used by bootloader

SRAM 2 KB (ATmega328)

EEPROM 1 KB (ATmega328)

Clock Speed 16 MHz (max 20Mhz)

CPU 8-bit AVR

Comparaţie între diverse

tipuri de procesoare

ATMEL:

https://www.arduino.cc/en

/Products/Compare

Page 19: 1.SoC: Arduino (System on a Chip) - profs.info.uaic.rovcosmin/pagini/resurse_arduino/Cursuri... · Arduino UNO - Safety În cazul în care calculatorul nu “va vede” Arduino-ul,

Arduino UNO

Cosmin Vârlan – Facultatea de Informatică 2016

Informaţii (complete?) despre Arduino UNO: https://www.arduino.cc/en/Main/ArduinoBoardUno

Page 20: 1.SoC: Arduino (System on a Chip) - profs.info.uaic.rovcosmin/pagini/resurse_arduino/Cursuri... · Arduino UNO - Safety În cazul în care calculatorul nu “va vede” Arduino-ul,

Arduino UNO

Numele “UNO” (unu în italiană) este dat acestei plăci

pentru a celebra prima versiune a IDE-ului Arduino (care

până de curând (2015) a fost doar în “Beta”.

Cosmin Vârlan – Facultatea de Informatică 2016

Page 21: 1.SoC: Arduino (System on a Chip) - profs.info.uaic.rovcosmin/pagini/resurse_arduino/Cursuri... · Arduino UNO - Safety În cazul în care calculatorul nu “va vede” Arduino-ul,

Arduino UNO

La fel ca versiunile anterioare, Arduino UNO este “Open Hardware”, specificaţiileacestuia putând fi utilizate de oricine pentru a-şi creapropriul Arduino, îmbunătăţisau adapta la propriile nevoi.

Specificaţiile Arduino Uno le găsiţi la: https://www.arduino.cc/en/Main/ArduinoBoardUno

Cosmin Vârlan – Facultatea de Informatică 2016

Page 22: 1.SoC: Arduino (System on a Chip) - profs.info.uaic.rovcosmin/pagini/resurse_arduino/Cursuri... · Arduino UNO - Safety În cazul în care calculatorul nu “va vede” Arduino-ul,

Arduino UNO

Programarea lui

Arduino UNO se

face (standard)

prin intermediul

softului pus la

dispoziţie pe situl

www.arduino.cc

Cosmin Vârlan – Facultatea de Informatică 2016

Page 23: 1.SoC: Arduino (System on a Chip) - profs.info.uaic.rovcosmin/pagini/resurse_arduino/Cursuri... · Arduino UNO - Safety În cazul în care calculatorul nu “va vede” Arduino-ul,

Arduino UNO Asta nu înseamnă că nu se poate şi altfel:

Pluginul Arduino pentru Eclipse poate fi descărcat de la: http://eclipse.baeyens.it/

Informaţii despre instalare: http://forum.arduino.cc/index.php?topic=79595.0

Altele: WinAVR, Atmel Studio

Cosmin Vârlan – Facultatea de Informatică 2016

Page 24: 1.SoC: Arduino (System on a Chip) - profs.info.uaic.rovcosmin/pagini/resurse_arduino/Cursuri... · Arduino UNO - Safety În cazul în care calculatorul nu “va vede” Arduino-ul,

Arduino UNO

De-a lungul timpului, au fost utilizate diverse tipuri de

programatoare.

Cele mai populare (şi care sunt recunoscute de către

Windows fără a necesita drivere suplimentare) sunt

programatoarele FTDI (asemanatoare cu cele de pe

Arduino UNO: ATMEGA8U2 – programator ISP).

Versiunile chinezeşti ale Arduino nano au inlocuit FTDI-ul

(care era mai scump) cu programatorul CH340G.

Găsiţi driverele pentru acesta la: http://profs.info.uaic.ro/~vcosmin/files.php?dir=pagini/resurse_arduino

Interesant de vazut şi: https://www.youtube.com/watch?v=Vawhrr4COjI

Cosmin Vârlan – Facultatea de Informatică 2016

Page 25: 1.SoC: Arduino (System on a Chip) - profs.info.uaic.rovcosmin/pagini/resurse_arduino/Cursuri... · Arduino UNO - Safety În cazul în care calculatorul nu “va vede” Arduino-ul,

Arduino UNO

Odată instalat (dacă a fost nevoie), ARDUINO-ul va fi

vizibil în device manager ca fiind conectat la un anumit

port X (COM X).

Cosmin Vârlan – Facultatea de Informatică 2016

Page 26: 1.SoC: Arduino (System on a Chip) - profs.info.uaic.rovcosmin/pagini/resurse_arduino/Cursuri... · Arduino UNO - Safety În cazul în care calculatorul nu “va vede” Arduino-ul,

Arduino UNO

IDE-ul probabil a detectat şi el portul şi tipul Arduinoului

conectat (Arduino / Genuino UNO). În caz contrar, setaţi

aceste informaţii în meniul Tools->Board şi Tools->Port.

De asemenea aceste meniuri sunt utile când aveţi mai

multe echipamente Arduino conectate simultan (şi vreţi să

programaţi unul dintre ele).

Programatorul ce trebuie selectat pentru UNO este

AVRISP mkII.

Cosmin Vârlan – Facultatea de Informatică 2016

Page 27: 1.SoC: Arduino (System on a Chip) - profs.info.uaic.rovcosmin/pagini/resurse_arduino/Cursuri... · Arduino UNO - Safety În cazul în care calculatorul nu “va vede” Arduino-ul,

Arduino UNO

Cosmin Vârlan – Facultatea de Informatică 2016

Page 28: 1.SoC: Arduino (System on a Chip) - profs.info.uaic.rovcosmin/pagini/resurse_arduino/Cursuri... · Arduino UNO - Safety În cazul în care calculatorul nu “va vede” Arduino-ul,

Arduino UNO - bootloader

Integratul ATMEL 328P, creierul lui Arduino UNO, are deja

instalat, în memoria Flash (0.5KB din 32KB), un soft

denumit bootloader. Acesta are rolul de a permite

programarea Arduino-ului utilizând doar un cablu USB.

Acest program se încarca la bootarea Arduino-ului.

La încărcarea unui program prin USB bootloaderul nu se

va şterge.

Cosmin Vârlan – Facultatea de Informatică 2016

Page 29: 1.SoC: Arduino (System on a Chip) - profs.info.uaic.rovcosmin/pagini/resurse_arduino/Cursuri... · Arduino UNO - Safety În cazul în care calculatorul nu “va vede” Arduino-ul,

Arduino UNO - bootloader

Dacă se doreşte eliminiarea bootloaderului (pentru a

câştiga cei 0.5KB din memoria Flash), Arduino poate fi

programat direct prin tehnologia ICSP (denumit şi ISP) –

portul SPI.

Pentru detalii, accesaţi:

https://www.arduino.cc/en/Hacking/Programmer

A NU SE UTILIZA / TESTA LA FACULTATE !

Cosmin Vârlan – Facultatea de Informatică 2016

Page 30: 1.SoC: Arduino (System on a Chip) - profs.info.uaic.rovcosmin/pagini/resurse_arduino/Cursuri... · Arduino UNO - Safety În cazul în care calculatorul nu “va vede” Arduino-ul,

Arduino UNO - bootloader

Pentru rescrierea bootloaderului, se va folosi tot ICSP

(durează aprox 15”).

Pentru detalii puteţi accesa:

https://www.arduino.cc/en/Hacking/Bootloader?from=Tut

orial.Bootloader

A NU SE UTILIZA / TESTA LA FACULTATE !

[putem să le reparăm dar nu avem chef]

[dacă faceţi asta acasă, o faceţi pe cont propriu. Aveţi grijă

ce programator folosiţi !]

Cosmin Vârlan – Facultatea de Informatică 2016

Page 31: 1.SoC: Arduino (System on a Chip) - profs.info.uaic.rovcosmin/pagini/resurse_arduino/Cursuri... · Arduino UNO - Safety În cazul în care calculatorul nu “va vede” Arduino-ul,

Arduino UNO

Cosmin Vârlan – Facultatea de Informatică 2016

Portul SPI: ICSP(In-Circuit Serial Programming)

Page 32: 1.SoC: Arduino (System on a Chip) - profs.info.uaic.rovcosmin/pagini/resurse_arduino/Cursuri... · Arduino UNO - Safety În cazul în care calculatorul nu “va vede” Arduino-ul,

Arduino UNO - Safety

Chiar dacă este mereu conectat (în timp ce îl programaţi)

la USB, nu prea aveţi cum să ardeţi portul USB al

calculatorului (decât dacă vreţi neapărat asta).

Se pot face în schimb shielduri care să ridice tensiunea la

5KV – şi apoi să trimită tensiunea pe TX (vor arde portul

calculatorului) [condensatoare]

Puteţi în schimb să ardeţi Arduino-ul destul de uşor (aşa

că vă rog FĂRĂ CHEI, MONEZI sau ALTE OBIECTE

METALICE pe masă în timp ce lucraţi cu Arduino. Aveţi

grijă să nu atingeţi de şuruburile cu care sunt prinse

băncile -Atmega 328p e foarte fragil !!!).

Cosmin Vârlan – Facultatea de Informatică 2016

Page 33: 1.SoC: Arduino (System on a Chip) - profs.info.uaic.rovcosmin/pagini/resurse_arduino/Cursuri... · Arduino UNO - Safety În cazul în care calculatorul nu “va vede” Arduino-ul,

Arduino UNO - Safety

În cazul în care calculatorul nu “va vede” Arduino-ul, se

poate ca o masură de siguranţă să fi intrat în acţiune (de

fapt este o “siguranţă” automatizată – ce îşi revine când

Arduino nu mai este în scurt) sau aveţi deja ocupat portul

calculatorului (fie s-a blocat IDEul pe acel port fie se face

vreo comunicare etc.)

Cosmin Vârlan – Facultatea de Informatică 2016

Page 34: 1.SoC: Arduino (System on a Chip) - profs.info.uaic.rovcosmin/pagini/resurse_arduino/Cursuri... · Arduino UNO - Safety În cazul în care calculatorul nu “va vede” Arduino-ul,

Arduino UNO - Alimentare

Arduino UNO poate opera la voltaje între 5 şi 20V.

În cazul tensiunilor de sub 7V se poate întâmpla ca la

calcule intense Arduino să devină instabil (spre exemplu

auto-reset).

În cazul tensiunilor peste 12V se poate întâmpla ca

regulatorul de tensiune să se supraîncălzească (ataşaţi un

radiator altfel puteţi arde întregul sistem).

Cosmin Vârlan – Facultatea de Informatică 2016

Page 35: 1.SoC: Arduino (System on a Chip) - profs.info.uaic.rovcosmin/pagini/resurse_arduino/Cursuri... · Arduino UNO - Safety În cazul în care calculatorul nu “va vede” Arduino-ul,

Arduino UNO

Cosmin Vârlan – Facultatea de Informatică 2016

Regulatorul de

tensiune

Page 36: 1.SoC: Arduino (System on a Chip) - profs.info.uaic.rovcosmin/pagini/resurse_arduino/Cursuri... · Arduino UNO - Safety În cazul în care calculatorul nu “va vede” Arduino-ul,

Arduino UNO - Alimentare

De fapt, procesorul este alimentat la 5V (din acest motiv

îl puteţi alimenta direct de pe portul USB).

Arduino poate fi alimentat prin:

- portul USB (5V)

- alimentare separata (7-20V)

- pinul vin (7-20V)

Cosmin Vârlan – Facultatea de Informatică 2016

Page 37: 1.SoC: Arduino (System on a Chip) - profs.info.uaic.rovcosmin/pagini/resurse_arduino/Cursuri... · Arduino UNO - Safety În cazul în care calculatorul nu “va vede” Arduino-ul,

Arduino UNO

Cosmin Vârlan – Facultatea de Informatică 2016

USB, 5V

Alimentare

externa (7-20V)

Alimentare

externa (7-20V)

Page 38: 1.SoC: Arduino (System on a Chip) - profs.info.uaic.rovcosmin/pagini/resurse_arduino/Cursuri... · Arduino UNO - Safety În cazul în care calculatorul nu “va vede” Arduino-ul,

Arduino UNO - Alimentare

Deşi este posibil, se poate alimenta prin pinul de 5V sau

de 3.3V dar alimentarea de acest tip trece peste

regulatorul de tensiune şi dacă se greşeşte (chiar şi cu

foarte puţin) voltajul, puteţi arde procesorul.

NERECOMANDAT

Cosmin Vârlan – Facultatea de Informatică 2016

Page 39: 1.SoC: Arduino (System on a Chip) - profs.info.uaic.rovcosmin/pagini/resurse_arduino/Cursuri... · Arduino UNO - Safety În cazul în care calculatorul nu “va vede” Arduino-ul,

Arduino UNO – putere curent / pin

Pinul de 3.3V

CosminVârlan – Facultatea de Informatică 2016

3.3V

Page 40: 1.SoC: Arduino (System on a Chip) - profs.info.uaic.rovcosmin/pagini/resurse_arduino/Cursuri... · Arduino UNO - Safety În cazul în care calculatorul nu “va vede” Arduino-ul,

Arduino UNO – putere curent / pin

Pinul de 3.3V

CosminVârlan – Facultatea de Informatică 2016

5V

Page 41: 1.SoC: Arduino (System on a Chip) - profs.info.uaic.rovcosmin/pagini/resurse_arduino/Cursuri... · Arduino UNO - Safety În cazul în care calculatorul nu “va vede” Arduino-ul,

Arduino UNO – curent / pin

Pinul GROUND este utilizat pentru a scurge curentul

preluat din pinii 5V sau 3.3V.

Oricare dintre pinii digitali pot fi folosiţi pentru a scurge

curentul (ca şi GROUND) dacă sunt setaţi cu valoarea

LOW sau pentru a putea lua din ei 5V (500mAh !) dacă

sunt setaţi pe HIGH.

Arduino UNO are o rezistenta pe fiecare dintre pinii

digitali ce ii permite sa scurga prin aceştia până la 40mAh

(standard e 20mAh). Vă rugăm să nu o testaţi (la facultate)

! – nu ştim dacă kinezii nu s-au zgârcit… [pull up resistors]

Cosmin Vârlan – Facultatea de Informatică 2016

Page 42: 1.SoC: Arduino (System on a Chip) - profs.info.uaic.rovcosmin/pagini/resurse_arduino/Cursuri... · Arduino UNO - Safety În cazul în care calculatorul nu “va vede” Arduino-ul,

Arduino UNO – pinii digitali

Cosmin Vârlan – Facultatea de Informatică 2016

Pinii digitali (0 - 13)

Page 43: 1.SoC: Arduino (System on a Chip) - profs.info.uaic.rovcosmin/pagini/resurse_arduino/Cursuri... · Arduino UNO - Safety În cazul în care calculatorul nu “va vede” Arduino-ul,

Arduino UNO – pinii digitali

Anumiţi pini digitali pot îndeplini şi alte roluri decât de a

furniza/scurge tensiune:

- d0: RX (primeşte informaşii trimise prin USB);

- d1: TX (trimite informaţii către USB);

- d2, d3: pot fi utilizaţi pentru a genera întreruperi (identice

cu cele cunoscute deja: execută o funcţie când prin pinul

respectiv se primeşte un voltaj înafara unui interval

indicat);

Cosmin Vârlan – Facultatea de Informatică 2016

Page 44: 1.SoC: Arduino (System on a Chip) - profs.info.uaic.rovcosmin/pagini/resurse_arduino/Cursuri... · Arduino UNO - Safety În cazul în care calculatorul nu “va vede” Arduino-ul,

Arduino UNO – pinii digitali

- d3, d5, d6, d9, d10, d11: PWM (Pulse Width Modulation) –

permit scrierea de valori analogice (în intervalul 0-1024)

prin transmiterea de tensiuni în intervalul 0-5V;

- d10, d11, d12, d13: emulare SPI prin intermediul unei

biblioteci SPI. Pinii alocati sunt astfel: 10=SS, 11=MOSI,

12=MISO, 13=SCK

- d13: led intern conectat prin rezistenţă

Cosmin Vârlan – Facultatea de Informatică 2016

Page 45: 1.SoC: Arduino (System on a Chip) - profs.info.uaic.rovcosmin/pagini/resurse_arduino/Cursuri... · Arduino UNO - Safety În cazul în care calculatorul nu “va vede” Arduino-ul,

Arduino UNO – pinii analogici

Cosmin Vârlan – Facultatea de Informatică 2016

Pinii Analogici

SCL(serial clock)

SDA(serial data)

Page 46: 1.SoC: Arduino (System on a Chip) - profs.info.uaic.rovcosmin/pagini/resurse_arduino/Cursuri... · Arduino UNO - Safety În cazul în care calculatorul nu “va vede” Arduino-ul,

Arduino UNO – pinii analogici

Pinii analogici (a0-a6) pot citi tensiunea aplicată lor cu

o rezoluţie de 10 biţi [valori între 0 şi 1024].

analog 4 (sau SDA), analog 5 (sau SCL): suportă

tehnologie TWI (two wire interface – I2C) atunci

când este utilizată biblioteca corespunzătoare

Tensiunea maximă (default) este de 5V, aceasta putând

fi schimbată prin aplicarea unei tensiuni pinului AREF (şi utilizarea analogReference() în cod pentru

a seta valoarea pe external) – referinţa va fi curentul

primit prin pinul AREF [între 0-5V !!!]

Cosmin Vârlan – Facultatea de Informatică 2016

Page 47: 1.SoC: Arduino (System on a Chip) - profs.info.uaic.rovcosmin/pagini/resurse_arduino/Cursuri... · Arduino UNO - Safety În cazul în care calculatorul nu “va vede” Arduino-ul,

Arduino UNO

Cosmin Vârlan – Facultatea de Informatică 2016

AREF

Page 48: 1.SoC: Arduino (System on a Chip) - profs.info.uaic.rovcosmin/pagini/resurse_arduino/Cursuri... · Arduino UNO - Safety În cazul în care calculatorul nu “va vede” Arduino-ul,

Arduino UNO – programare

Specificaţiile limbajului pot fi găsite la adresa:

https://www.arduino.cc/en/Reference/HomePage

Pe scurt: se foloseşte C/C++ (puteţi scrie OOP).

Nu există “main” şi, programul executat de Arduino,

asemeni sistemului de operare a unui calculator, nu se

“termină” niciodată – decât când s-a oprit alimentarea.

În fapt, Arduino funcţionează ca un PC la scară mică.

Cosmin Vârlan – Facultatea de Informatică 2016

Page 49: 1.SoC: Arduino (System on a Chip) - profs.info.uaic.rovcosmin/pagini/resurse_arduino/Cursuri... · Arduino UNO - Safety În cazul în care calculatorul nu “va vede” Arduino-ul,

Arduino UNO – programare

Structura unui program este urmatoarea:

- o secţiune pt declararea variablelor (globale)

- o secţiune de setup (ce va fi executată o singură dată)

- o secţiune loop ce va fi executată la nesfârşit

Cosmin Vârlan – Facultatea de Informatică 2016

Page 50: 1.SoC: Arduino (System on a Chip) - profs.info.uaic.rovcosmin/pagini/resurse_arduino/Cursuri... · Arduino UNO - Safety În cazul în care calculatorul nu “va vede” Arduino-ul,

Arduino UNO – programare

Vestea bună: pentru fiecare componentă de care aveţi

nevoie în proiectul vostru găsiţi aproape sigur drivere

(biblioteci ce vă uşurează munca cu echipamentul

respectiv).

Vestea rea: nu vă punctăm ce au făcut alţii :D

Cosmin Vârlan – Facultatea de Informatică 2016

Page 51: 1.SoC: Arduino (System on a Chip) - profs.info.uaic.rovcosmin/pagini/resurse_arduino/Cursuri... · Arduino UNO - Safety În cazul în care calculatorul nu “va vede” Arduino-ul,

Arduino UNO - miscelaneous

Cosmin Vârlan – Facultatea de Informatică 2016

Buton Reset

Page 52: 1.SoC: Arduino (System on a Chip) - profs.info.uaic.rovcosmin/pagini/resurse_arduino/Cursuri... · Arduino UNO - Safety În cazul în care calculatorul nu “va vede” Arduino-ul,

Arduino UNO - miscelaneous

Cosmin Vârlan – Facultatea de Informatică 2016

Programatorul USB

ATMEGA8U2

Page 53: 1.SoC: Arduino (System on a Chip) - profs.info.uaic.rovcosmin/pagini/resurse_arduino/Cursuri... · Arduino UNO - Safety În cazul în care calculatorul nu “va vede” Arduino-ul,

Arduino UNO - miscelaneous

Cosmin Vârlan – Facultatea de Informatică 2016

Oscilator 16Khz

(inima arduino-ului)

Page 54: 1.SoC: Arduino (System on a Chip) - profs.info.uaic.rovcosmin/pagini/resurse_arduino/Cursuri... · Arduino UNO - Safety În cazul în care calculatorul nu “va vede” Arduino-ul,

Arduino UNO - miscelaneous

Cosmin Vârlan – Facultatea de Informatică 2016

Led pin d13

Page 55: 1.SoC: Arduino (System on a Chip) - profs.info.uaic.rovcosmin/pagini/resurse_arduino/Cursuri... · Arduino UNO - Safety În cazul în care calculatorul nu “va vede” Arduino-ul,

Arduino UNO - miscelaneous

Cosmin Vârlan – Facultatea de Informatică 2016

Led pin TX

Page 56: 1.SoC: Arduino (System on a Chip) - profs.info.uaic.rovcosmin/pagini/resurse_arduino/Cursuri... · Arduino UNO - Safety În cazul în care calculatorul nu “va vede” Arduino-ul,

Arduino UNO - miscelaneous

Cosmin Vârlan – Facultatea de Informatică 2016

Led pin RX

Page 57: 1.SoC: Arduino (System on a Chip) - profs.info.uaic.rovcosmin/pagini/resurse_arduino/Cursuri... · Arduino UNO - Safety În cazul în care calculatorul nu “va vede” Arduino-ul,

Cosmin Vârlan

Page 58: 1.SoC: Arduino (System on a Chip) - profs.info.uaic.rovcosmin/pagini/resurse_arduino/Cursuri... · Arduino UNO - Safety În cazul în care calculatorul nu “va vede” Arduino-ul,

Referinţe

https://

CosminVârlan – Facultatea de Informatică 2016


Recommended