Lekcija 5 – Pojačavanje

Na pin broj 5 Arduina s mogućnošću pulsno širinske modulacije (PWM) spojimo jednu LE diodu i napišimo program koji će mijenjati jačinu svjetlosti LE diode od 0% do 100% u jednakim koracima. Kada LE diode postigne maksimalan intenzitet svjetlosti neka ciklus krene ispočetka.

Komponente:

  • 1 * Arduino UNO R3 mikrokontroler,
  • 1 * USB kabal,
  • 1 * LE dioda,
  • 1 * Otpornik 220 Ω,
  • 1 * Eksperimentalna pločica,
  • 2 * 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

lekcija5
C++
/***********************************************************
Pojačavanje
STEM Lab
***********************************************************/

int ledPin = 5;      // Definiranje digitalnog pina 5 kao pina za upravljanje LE diodom
int strength;        // Definiranje varijable strength - jačina svjetlosti LE diode

void setup() {
    pinMode(ledPin, OUTPUT);       // Postavite digitalni način rada s pina 5, IZLAZ: izlazni način
    digitalWrite(ledPin, LOW);    // ledPin (pin 5) postavite u stanje ISKLJUČI (isključi LE diodu)
}

void loop() {
    // Izvršavaj varijablu jačina od 0 do 255 u koracima od 1
    for (strength = 0; strength < 256; strength++) {
        analogWrite(ledPin, strength);  // LE dioda mijenja jačinu svjetlosti
        delay(50);                      // Postavite vrijeme čekanja, 50 milisekundi
    }
}

3. Prenesite program na Arduino UNO pločicu.

Udruženje STEM Lab osnovano je početkom 2021. godine udruživanjem nastavnog osoblja OŠ „Huso Hodžić“ Tešanj koje je učestvovalo u osnivanju STEM kabineta tokom realizacije dijela „EGG projekta“ koji je finansirala vlada Kraljevine Norveške preko UNDP-a za BiH, uz uslov sufinansiranja Ministarstva za obrazovanje, nauku, kulturu i sport Ze-do kantona i Općine Tešanj.

74260 Tešanj
+387 61 616 067