Curs Arduino - alexandruioan.me · Ce e un microcontroller? Atmega 386P Intel i5-6500 RAM 2KB (max)...

Post on 08-Sep-2019

12 views 2 download

transcript

Curs ArduinoALEXANDRU-IOAN POP

SEPTEMBRIE 2017

COLEGIUL NAȚIONAL “MIHAI EMINESCU” SATU MARE

Despre mine

Anul 4 – Computer Science and Electronics

Bristol

Informații suplimentare

alexandruioan.me/curs.php

Arduino Nano

Arduino Nano

Ce e un microcontroller?

Atmega 386P Intel i5-6500

RAM 2KB (max) 64GB (max)

Frecventa 16MHz 3.2-3.6GHz

Putere consumată 0.36mW 30W

Preț $2 $200

Dimensiune 49 mm^2 1300 mm^2

Numar instrucțiuni 131 ~2000

Instalare

Configurare

Structura unui program Arduino

Exemplu 1: Blink

Breadboard

- +

Exemplu 2: Buton

Fritzing

• Scheme, diagrame pentru circuite

http://fritzing.org/download/?donation=0

• Fișierele, pe site

Exemplu 2: Buton

Exemplu 2: Buton

Comunicarea cu calculator: portul serial

• Transmisiune serială, asincronă (fără semnal de ceas)

• Cele mai comune setări, 9600 8N1

• 9600 bps

• 8 biți de date

• Fără bit de paritate

• 1 bit de oprire

Comunicarea cu calculator: portul serial

• UART = universal asynchronous receiver-transmitter

• Implementează protocoale de transmisiune serială

• RS-232 (protocol vechi, standard, între dispozitive)

Comunicarea cu calculator: portul serial

Convertor serial-USB

Comunicarea cu calculator: portul serial

Lumea înconjurătoare e analogică

• Conversie prin ADC/DAC

ADCDAC

Exemplu 3: citirea setării unui potențiometru (reostat)

analogRead()

• 10 biti = 1024 nivele; 0 – 5V cu precizie de 4.9 mV

Divizorul de tensiune

R1 R2 Vout

0 R2 Vin

R1 0 0

R R Vin/2

analogWrite()

• Arduino nu are DAC încorporat

• Aproximație - PWM

PWM – Pulse Width Modulation

• Proprietatea codificată = lățimea pulsului

• factor de umplere (duty cycle)

• Controlează:

• Intensitatea unui LED

• Viteza unui motor

• Pini PWM pe Arduino Nano: 3, 5, 6, 9, 10, și 11

Exemplu 4: LED reglabil

Exemplu 4: LED reglabil

Servomotoare

• Unghi configurabil: 0° – 180°

Cum se controlează un servomotor

Exemplu 5: Servo

Exemplu 5: Servo

Exemplu 6: servo + potențiometru

Exemplu 6: servo + potențiometru

LED WS2812B

• LED programabil, adresabil (într-un șir, poate fi

controlat fiecare, individual)

• Red, Green, Blue (RGB)

• 3 x 8 biți / LED

• Protocol de comunicație simplu

Instalarea bibliotecii

Exemplu 7: demo NeoPixel