Curs ArduinoALEXANDRU-IOAN POP
SEPTEMBRIE 2017
COLEGIUL NAȚIONAL “MIHAI EMINESCU” SATU MARE
Despre mine
Anul 4 – Computer Science and Electronics
Bristol
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