Zadatak
Na pinove Arduino pločice s mogućnošću pulsno širinske modulacije (PWM) spojimo dvije LE diode i napišimo program koji će prvu LE diodu uključiti da svijetli sa 20 % jačine svjetlosti a drugu sa 80 % jačine svjetlosti.
Komponente:
- 1*Arduino UNO R3 mikrokontroler,
- 1*USB kabal,
- 2*LE dioda,
- 2*Otpornik 220 Ω,
- 1*Eksperimentalna pločica,
- 5* Kratkospojničke žice (muško-muške)
Šta je PWM?
PWM (Pulse Width Modulation) ili pulsno širinska modulacija je tehnika dobijanja analognih vrijednosti pomoću digitalnih impulsa konstantne amplitude. PWM signal se smatra digitalnim signalom jer je u svakom trenutku nivo signala ili na nuli ili na maksimumu. Na Arduino PWM pinovima ovom tehnikom, odnosno upisivanjem različitih vrijednosti između 0 i 255, možemo dobiti vrijednosti izlaznih napona između 0 i 5V, ne samo granične vrijednosti. Na nekim mikrokontrolerima PWM je dostupan samo na odabranim pinovima. Označavaju se znakom tilde (~).
U grafičkom prikazu, zelene linije predstavljaju redovno vremensko razdoblje. Ovo trajanje ili razdoblje je obrnuto od PWM frekvencije. Drugim riječima, s Arduino PWM frekvencijom na oko 500 Hz, zelene linije bi mjerile svake 2 milisekunde.
Poziv na analogWrite() je na skali od 0 do 255, tako da analogWrite(255) zahtijeva 100% radni ciklus (uvijek uključen), a analogWrite(127) je 50% radnog ciklusa (na pola radnog vremena).
1. Izgradite sklop
2. Program
/***********************************************************
Stalna vrijednost
STEM Lab
***********************************************************/
int ledPin_Led1 = 5; // Definiranje digitalnog pina 5 kao pina za upravljanje LE diodom 1
int ledPin_Led2 = 6; // Definiranje digitalnog pina 6 kao pina za upravljanje LE diodom 2
void setup() {
pinMode(ledPin_Led1, OUTPUT); // Postavite digitalni način rada s pina 5, IZLAZ: izlazni način
pinMode(ledPin_Led2, OUTPUT); // Postavite digitalni način rada s pina 6, IZLAZ: izlazni način
digitalWrite(ledPin_Led1, LOW); // ledPin (pin 5) postavite u stanje ISKLJUČI (isključi LE diodu 1)
digitalWrite(ledPin_Led2, LOW); // ledPin (pin 6) postavite u stanje ISKLJUČI (isključi LE diodu 2)
}
void loop() {
analogWrite(ledPin_Led1, 51); // ledPin (pin 5) postavite u stanje UKLJUČI (uključi LE diodu 1 na 20% jačine svjetlosti)
analogWrite(ledPin_Led2, 204); // ledPin (pin 6) postavite u stanje UKLJUČI (uključi LE diodu 2 na 80% jačine svjetlosti)
}
3. Prenesite program na Arduino UNO pločicu.