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.
my_library.h@1:46480da2ba4e, 2022-07-01 (annotated)
- 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?
User | Revision | Line number | New 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 |