Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependencies: mbed SeeedShieldBot BluetoothSerial buzzer
Fork of SABLJIC_SEMAFORPROJEKT by
main.cpp
- Committer:
- ssabljic
- Date:
- 2021-12-02
- Revision:
- 0:9d0f8e1955b1
File content as of revision 0:9d0f8e1955b1:
#include "mbed.h" // pozivanje biblioteke #include "buzzer.h" DigitalOut Crveno(D4); //Postavljanje pinova D4 i D5 kao izlaz za signalizaciju diodama DigitalOut Zeleno(D5); InterruptIn Tipka(USER_BUTTON);//Deklaracija pina USER kao interupt Timeout Response; Beep buzzer(D2); Ticker ticker; void sound() { if(Zeleno == 1) { buzzer.beep(400, 1.5); } else if(Crveno == 1) { buzzer.beep(200, 0.5); } } bool Tipkalo = false; //postavljanje početne vrijednosti void Tipkastisnuta() { //potprogram za detekciju interupta Tipkalo = true; } void semaforcrveno(){ //glavna funkcija koja radi cijelo vrijeme dok se ne stisne gumb Zeleno = 0; Crveno=1; } void pjesackisemafor() { //funkcija koja pali semafor za pjesake nakon detektiranog vanjskog interupta if(Tipkalo == true){ Crveno = 0; wait(0.1); Zeleno = 1; wait(3); Response.attach(&semaforcrveno,2.0); // naredba kojom se pokreče timeout timer Tipkalo=false; //vraća na pocetnu vrijednost } } int main() { ticker.attach(&sound, 1.0); Tipka.fall(&Tipkastisnuta); // naredba koja detektira interupt promjenom stanja while(true){ //beskonačna petlja koja pokreče funkciju sve dok se ne promjeni stanje u podprogramu tipkalo čime se pokreće fnkcija za pjesacki semafor if(!Tipka) { semaforcrveno(); } else { pjesackisemafor(); } } }