Mikroupravljaci, konstrukcijski zadatak

U prilogu se nalazi kod za simulaciju upravljanja semaforom, tj podešavanje brzine izmjene svjetla na semaforu ovisno o gustoći prometa. Kao senzor koji detektira gustoću prometa korišten je potenciometar koji je spojen na analogni ulaz. Maksimalna vrijednost napona na potenciometru odgovara maksimalnom ciklusu semafora. Očitavanje s analognog ulaza i korekcija trajanja ciklusa se odvija samo nakon pritiska tipkala od strane operatera, što se vrši pomoću hardverskog prekida. Samo paljenje i gašenje led dioda sukladno stanju semafora se vrši u funkcijama koje se nalazi u biblioteci my_library.h.

https://os.mbed.com/media/uploads/julijacapjak/shema_fotka.png

Committer:
julijacapjak
Date:
Fri Jul 01 13:36:54 2022 +0000
Revision:
1:46480da2ba4e
Parent:
0:0f1f798f7d20
Mikroupravljaci - konstrukcijski zadatak

Who changed what in which revision?

UserRevisionLine numberNew contents of line
julijacapjak 0:0f1f798f7d20 1 #include "mbed.h"
julijacapjak 0:0f1f798f7d20 2
julijacapjak 0:0f1f798f7d20 3 DigitalOut RedLED(D15); //definiranje pina za crvenu ledicu
julijacapjak 0:0f1f798f7d20 4 DigitalOut YellowLED(D14); //definiranje pina za žutu ledicu
julijacapjak 0:0f1f798f7d20 5 DigitalOut GreenLED(D13); //definiranje pina za zelenu ledicu
julijacapjak 1:46480da2ba4e 6 AnalogIn Pot(A0); //definiranje pina za potenciometar
julijacapjak 1:46480da2ba4e 7 InterruptIn button(D7); //definiranje tipke za hardverski prekid
julijacapjak 0:0f1f798f7d20 8
julijacapjak 0:0f1f798f7d20 9 int Stanje;
julijacapjak 0:0f1f798f7d20 10 void Upali_1(){ //Funkcija koja pali zeleno svjetlo
julijacapjak 0:0f1f798f7d20 11 RedLED = 0;
julijacapjak 0:0f1f798f7d20 12 YellowLED = 0;
julijacapjak 0:0f1f798f7d20 13 GreenLED = 1;
julijacapjak 0:0f1f798f7d20 14 Stanje = 1;
julijacapjak 0:0f1f798f7d20 15 }
julijacapjak 0:0f1f798f7d20 16 void Upali_2(){ //Funkcija koja pali žuto svjetlo
julijacapjak 0:0f1f798f7d20 17 RedLED = 0;
julijacapjak 0:0f1f798f7d20 18 YellowLED = 1;
julijacapjak 0:0f1f798f7d20 19 GreenLED = 0;
julijacapjak 0:0f1f798f7d20 20 Stanje = 2;
julijacapjak 0:0f1f798f7d20 21 }
julijacapjak 0:0f1f798f7d20 22 void Upali_3(){ //Funkcija koja pali crveno svjetlo
julijacapjak 0:0f1f798f7d20 23 RedLED = 1;
julijacapjak 0:0f1f798f7d20 24 YellowLED = 0;
julijacapjak 0:0f1f798f7d20 25 GreenLED = 0;
julijacapjak 0:0f1f798f7d20 26 Stanje = 3;
julijacapjak 0:0f1f798f7d20 27 }
julijacapjak 0:0f1f798f7d20 28 void Upali_0(){ //Funkcija koja pali žuto i crveno svjetlo
julijacapjak 0:0f1f798f7d20 29 RedLED = 1;
julijacapjak 0:0f1f798f7d20 30 YellowLED = 1;
julijacapjak 0:0f1f798f7d20 31 GreenLED = 0;
julijacapjak 0:0f1f798f7d20 32 Stanje = 0;
julijacapjak 0:0f1f798f7d20 33 }
julijacapjak 0:0f1f798f7d20 34