Curkovic projekt TVZ2021
Dependencies: mbed SeeedShieldBot BluetoothSerial
main.cpp
- Committer:
- chule
- Date:
- 2022-05-05
- Revision:
- 0:2e91a001ef93
File content as of revision 0:2e91a001ef93:
#include "mbed.h" #include "Blink.h" //Definiranje ulaza InterruptIn button(USER_BUTTON); //Definiranje tajmera Timer debounce; Timer Prekid1; Timer Prekid2; Ticker flipper; //Definifanje izlaza LED led1(D11); LED led2(D12); LED led3(D13); LED led4(D14); LED led5(D15); BusOut Seg1(D2,D3,D4,D5,D6,D7,D8,D9); //Definiranje funkcija char SegConvert(int SegValue); void Binary (int g); void prekid(void); //Funkcija upravljanja s 7 segmentnim displeom char SegConvert(int SegValue) { char SegByte=0x00; switch (SegValue) { case 0 : SegByte = 0x3F;break; case 1 : SegByte = 0x06;break; case 2 : SegByte = 0x5B;break; case 3 : SegByte = 0x4F;break; case 4 : SegByte = 0x66;break; case 5 : SegByte = 0x6D;break; case 6 : SegByte = 0x7D;break; case 7 : SegByte = 0x07;break; case 8 : SegByte = 0x7F;break; case 9 : SegByte = 0x6F;break; } return SegByte; } //Funkcija prekida void prekid() { if(debounce.read_ms()>200){ led1.status(0); led2.status(0); led3.status(0); led4.status(0); while(Prekid1.read()<=10){ Prekid1.start(); Prekid2.start(); if(Prekid2.read_ms()>=500) { led1.flip(); Prekid2.stop(); Prekid2.reset(); } } Prekid1.stop(); Prekid1.reset(); } debounce.reset(); } //Funkcija odredivanja stanja LED void Binary (int g) { switch (g) { case 0: { break; } case 1: { led1.flip(); break; } case 2: { led2.flip(); break; } case 3: { led1.flip(); led2.flip(); break; } case 4: { led3.flip(); break; } case 5: { led1.flip(); led3.flip(); break; } case 6: { led3.flip(); led2.flip(); break; } case 7: { led1.flip(); led2.flip(); led3.flip(); break; } case 8: { led4.flip(); break; } case 9: { led1.flip(); led4.flip(); break; } } } //funkcija Ticker-a void flip(){ led5.flip(); } //main funkcija int main() { debounce.start(); button.rise(&prekid); flipper.attach(&flip,0.2); int i; while(1){ for (i=0;i<10;i++){ led1.status(0); led2.status(0); led3.status(0); led4.status(0); Seg1=SegConvert(i); Binary(i); wait_ms(1000); } } }