Marko_Marinic_0246048959

Dependencies:   mbed SeeedShieldBot TextLCD BluetoothSerial

Pametni stubišni automat je uređaj koji služi za paljenje svjetala pomoću pljeska. Rasvjetu predstavljaju četiri LED diode koje se pale jedna za drugom. Pale se u vremenskom razmaku koji odbrojava 8 segmentni displej. Gase se isto u vremenskom razmaku ( odbrojavanja na displeju) istim redom kako su se i palile. LCD zaslon služi za prikaz detekcije pljeska. Tipkalo služi kao START gumb.https://os.mbed.com/media/uploads/mmarinic/main-qimg-faca9aecedad6c01c5916c9496f88d70.png

main.cpp

Committer:
mmarinic
Date:
2021-07-13
Revision:
0:0b3b22a12941

File content as of revision 0:0b3b22a12941:

#include "mbed.h"
#include "TextLCD.h"
#include "SegDisplay.h"
#include "Stanovi.h"
Serial pc(USBTX, USBRX); 
TextLCD ZaslonLCD(PA_0, PA_1, PA_4, PB_0, PC_1, PC_0, TextLCD::LCD16x1);
AnalogIn AnalogniUlaz(D13);
float JacinaZvuka;
InterruptIn StartGumb(D15);
void Glavna(void); 
Timer tajmer;
int main() {
 tajmer.start();
 StartGumb.rise(&Glavna); 
}
void Glavna() {
 if (tajmer.read_ms()>200) {
 SegInit();
 StanoviInit(); 
 ZaslonLCD.printf("\nMRAK!!!");
 while(1){ 
 int brojac1 = 0;
 int brojac2 = 4;
 JacinaZvuka=abs(AnalogniUlaz-0.064);
 if(JacinaZvuka>0.1){
     ZaslonLCD.printf("\nPLJESAK!!!");
     for(int i =0;i<=10;i++){
     if(i==10){ 
     if(brojac2>3){
     brojac1++;    
     Stanovi=BrojStanova(brojac1);
     i=0;
     }
     if(brojac1>=5){
     brojac2--;    
     Stanovi=ObrnutoBrojStanova(brojac2);
     if(brojac2==0){
     brojac1=0;
     brojac2=5;
     Seg=SegConvert(0);
     ZaslonLCD.printf("\nMRAK!!!");
     break;
     }
     i=0;  
     }
     }
     Seg=SegConvert(i);
     wait(0.3);
     }
     } 
 pc.printf("JacinaZvuka... \n\r");  
 pc.printf("%f \n\r",JacinaZvuka); 
 }
}
}