Internet of Things - Arduino
PWMUpravljanje brzinom trčanja dioda pomoću potenciometra
Zadatak
Na mikrokontroler spojite jedan potenciometar i pet svjetlećih dioda. Napišite program koji će animirati svjetleće diode tako da se one uključuju jedna po jedna s lijeve na desnu stranu. Brzinu efekta trčećeg svjetla određujemo pomoću potenciometra. Neka trajanje uključenog stanja svake svjetleće diode u milisekundama bude jednako očitanju stanja analognog ulaza na kojem je spojen potenciometar.
Prikaz spajanja
Arduino kod
int led1 = 6; //definiraj led1 = 6 int led2 = 7; //definiraj led2 = 7 int led3 = 8; //definiraj led3 = 8 int led4 = 9; //definiraj led4 = 9 int led5 = 10; //definiraj led5 = 10 int pot = A0; //definiraj pot = A0 void setup() { pinMode(led1, OUTPUT); //postavi izvod led1 kao izlazni pinMode(led2, OUTPUT); //postavi izvod led2 kao izlazni pinMode(led3, OUTPUT); //postavi izvod led3 kao izlazni pinMode(led4, OUTPUT); //postavi izvod led4 kao izlazni pinMode(led5, OUTPUT); //postavi izvod led5 kao izlazni digitalWrite(led1, LOW); //isključi LED diodu - početno stanje digitalWrite(led2, LOW); //isključi LED diodu - početno stanje digitalWrite(led3, LOW); //isključi LED diodu - početno stanje digitalWrite(led4, LOW); //isključi LED diodu - početno stanje digitalWrite(led5, LOW); //isključi LED diodu - početno stanje } void loop() { digitalWrite(led1, HIGH); //uključi LED diodu 1 delay(analogRead(pot)); //čekaj onoliko ms koliko je vrijednost očitanja analognog izvoda A0 digitalWrite(led1, LOW); //isključi LED diodu 1 digitalWrite(led2, HIGH); //uključi LED diodu 2 delay(analogRead(pot)); //čekaj onoliko ms koliko je vrijednost očitanja analognog izvoda A0 digitalWrite(led2, LOW); //isključi LED diodu 2 digitalWrite(led3, HIGH); //uključi LED diodu 3 delay(analogRead(pot)); //čekaj onoliko ms koliko je vrijednost očitanja analognog izvoda A0 digitalWrite(led3, LOW); //isključi LED diodu 3 digitalWrite(led4, HIGH); //uključi LED diodu 4 delay(analogRead(pot)); //čekaj onoliko ms koliko je vrijednost očitanja analognog izvoda A0 digitalWrite(led4, LOW); //isključi LED diodu 4 digitalWrite(led5, HIGH); //uključi LED diodu 5 delay(analogRead(pot)); //čekaj onoliko ms koliko je vrijednost očitanja analognog izvoda A0 digitalWrite(led5, LOW); //isključi LED diodu 5 }
verzija 2