Internet of Things - Arduino
Tipkala i sklopkeElektronička kockica
Zadatak
Na mikrokontroler spojite sedam svjetlećih dioda i jedno tipkalo. Svjetleće diode spojite tako da izgledaju kao točkice na kockici za igre na sreću. Napišite program koji će na svjetlećim diodama prikazivati brojeve od 1 do 6 kako su oni inače prikazani na kockici. Promjena i nasumičnost brojeva postiže se na način da dok korisnik drži tipkalo program odbrojava od 1 do 6 velikom brzinom i prikazuje to na svjetlećim diodama. Kada korisnik otpusti tipkalo brojanje se zaustavlja i posljednji broj ostaje prikazan na svjetlećim diodama. Sljedeća slika prikazuje kombinacije mogućih dobivenih brojeva.
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 led6 = 11; //definiraj led6 = 11 int led7 = 12; //definiraj led7 = 12 int tipkalo = 13; //definiraj tipkalo = 13 int brojac = 0; //definiraj brojač = 0 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 led1 kao izlazni pinMode(led5, OUTPUT); //postavi izvod led2 kao izlazni pinMode(led6, OUTPUT); //postavi izvod led3 kao izlazni pinMode(led7, OUTPUT); //postavi izvod led3 kao izlazni pinMode(tipkalo, INPUT_PULLUP); //postavi izvod tipkalo kao ulazni } void iskljucisveled() { digitalWrite(led1, LOW); //isključi LED diodu 1 digitalWrite(led2, LOW); //isključi LED diodu 2 digitalWrite(led3, LOW); //isključi LED diodu 3 digitalWrite(led4, LOW); //isključi LED diodu 4 digitalWrite(led5, LOW); //isključi LED diodu 5 digitalWrite(led6, LOW); //isključi LED diodu 6 digitalWrite(led7, LOW); //isključi LED diodu 7 } void loop() { if (digitalRead(tipkalo) == LOW) { //ukoliko je tipkalo pritisnuto brojac = brojac + 1; //dodaj 1 na brojač if (brojac > 6) { //ako je brojač veći od 6 brojac = 1; //vrati brojač na 1 } } if (brojac == 1) { //ukoliko je brojač = 1 iskljucisveled(); //isključi sve LED diode digitalWrite(led4, HIGH); //prikaz broja 1 } else if (brojac == 2) { //ukoliko je brojač = 2 iskljucisveled(); //isključi sve LED diode digitalWrite(led1, HIGH); //prikaz broja 2 digitalWrite(led7, HIGH); //prikaz broja 2 } else if (brojac == 3) { //ukoliko je brojač = 3 iskljucisveled(); //isključi sve LED diode digitalWrite(led3, HIGH); //prikaz broja 3 digitalWrite(led4, HIGH); //prikaz broja 3 digitalWrite(led5, HIGH); //prikaz broja 3 } else if (brojac == 4) { //ukoliko je brojač = 4 iskljucisveled(); //isključi sve LED diode digitalWrite(led1, HIGH); //prikaz broja 4 digitalWrite(led3, HIGH); //prikaz broja 4 digitalWrite(led5, HIGH); //prikaz broja 4 digitalWrite(led7, HIGH); //prikaz broja 4 } else if (brojac == 5) { //ukoliko je brojač = 5 iskljucisveled(); //isključi sve LED diode digitalWrite(led1, HIGH); //prikaz broja 5 digitalWrite(led3, HIGH); //prikaz broja 5 digitalWrite(led4, HIGH); //prikaz broja 5 digitalWrite(led5, HIGH); //prikaz broja 5 digitalWrite(led7, HIGH); //prikaz broja 5 } else if (brojac == 6) { //ukoliko je brojač = 6 iskljucisveled(); //isključi sve LED diode digitalWrite(led1, HIGH); //prikaz broja 6 digitalWrite(led2, HIGH); //prikaz broja 6 digitalWrite(led3, HIGH); //prikaz broja 6 digitalWrite(led5, HIGH); //prikaz broja 6 digitalWrite(led6, HIGH); //prikaz broja 6 digitalWrite(led7, HIGH); //prikaz broja 6 } else { //ukoliko je brojač = 0 iskljucisveled(); //isključi sve LED diode } }
verzija 5