abc Arduino
Modulisanje širine impulsa - analogWrite() na digitalnom izlazu /PWM PULSE WIDTH MODULATION/
Ardduino ima mogućnost da reguliše širinu izlaznog signala i na taj način da simulira analognu vrijednost. Opšti oblik naredbe glasi:
analogWrite(pinProj, vIzlaz);
- pinProj oznaka digitalnog pina koji ima mogućnost PWM-a;
- vIzlaz ima vrijednosti od 0 do 255 (8 bita)
Pinovi koji imaju PWM osobinu su 3, 5, 6, 9, 10, 11. Označeni su sa ~
Ekran osciloskopa
| Radni napon /Operating voltage/
|
|
|
- PERIOD Frekvencija generisanog signala je oko 490Hz
Slika 1. Promjena širine impulsa - PWM |
|
- PERIOD - Frekvencija generisanog signala je oko 490Hz: Na pinovima 5 i 6 frekvencija ja 980Hz. Poređenja radi, savremeni TV oparati osvježavaju sliku od 50 do 100Hz.
Primjeri:
analogWrite(0) - signal je 0% uključen /0% DUTY CYCLE/;.
analogWrite(127)- signal je 50% uključen /50% DUTY CYCLE/;
analogWrite(255) - signal je 100% uključen /100% DUTY CYCLE/;
Šema povezivanja: |
Elementi:
- Potenciometar
- otpornik 220 Ω 1 kom.
- Arduino modul |
|
Listing programa :
// analogan izlaz sa LED diodom
int pinProj = 9; // izlaz na digitalni pin
void setup() {
Serial.begin(9600); // setup serial
}
void loop() {
analogWrite(pinProj, 0); // izlazna vrijednost 0
delay(1000);
analogWrite(pinProj, 64); // izlazna vrijednost 64
delay(1000);
analogWrite(pinProj, 127); // izlazna vrijednost 127
delay(1000);
analogWrite(pinProj, 191); // izlazna vrijednost 101
delay(1000);
analogWrite(pinProj, 255); // izlazna vrijednost 255
delay(1000);
}
|
|
|
|