Konstrukcijski zadatak iz predmeta Mikroupravljači, Božićna svjetla. Program koristi jedan NUCLEO-F072RB, tri LED diode(crvenu, žutu i zelenu), žice za spajanje, tri otpornika i eksperimentalnu ploču. Kada se priključi napajanje NUCLEO-u, sa pritiskom na USER gumb se uključuju LED diode, višestrukim pritiskom se mjenja kojim ritmom svjetle, nakon 10 sekundi radi zaštite se svjetla isključuju.

Dependencies:   led

https://os.mbed.com/media/uploads/asantek/konstrukcijski_mikroupravljaci_shema.jpg

Revision:
0:cc3ff6b5fbce
Child:
1:cd07874dbf19
diff -r 000000000000 -r cc3ff6b5fbce main.cpp
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/main.cpp	Mon Feb 22 16:40:06 2021 +0000
@@ -0,0 +1,70 @@
+#include "mbed.h"
+#include "led.h"
+Serial pc(USBTX, USBRX);
+LED led1(D2);
+LED led2(D3);
+LED led3(D4);
+Ticker flipper1;
+Timer svjetla;
+Timer debounce;
+InterruptIn gumb(USER_BUTTON);
+int x=0;
+int i=0;
+int t=0.2;
+void pritisak()
+{
+    if(debounce.read_ms()>200) {
+        x++;
+    }
+    debounce.reset();
+}
+int main()
+{//Inicijalizacija LED-ica
+    led1.stanje(0);
+    led2.stanje(0);
+    led3.stanje(0);
+    debounce.start();
+    svjetla.reset();
+    gumb.rise(&pritisak);
+    svjetla.start();
+    
+    while (true) {
+        if(svjetla.read_ms()>10000){
+            led1.stanje(0);
+            led2.stanje(0);
+            led3.stanje(0);
+            flipper1.detach();
+            }
+        else{
+            if(x==0){
+                led1.stanje(0);
+                led2.stanje(0);
+                led3.stanje(0);
+                }
+            if(x==1){
+                i++;
+                if(i==1){led1.stanje(1);led2.stanje(0);led3.stanje(0);}
+                if(i==2){led1.stanje(0);led2.stanje(1);led3.stanje(0);}
+                if(i==3){led1.stanje(0);led2.stanje(0);led3.stanje(1);}
+                if(i==4){i=0;}
+                wait(0.1);
+                }
+            if(x==2){
+                i++;
+                if(i==1){led1.stanje(1);led2.stanje(0);led3.stanje(0);}
+                if(i==2){led1.stanje(0);led2.stanje(1);led3.stanje(0);}
+                if(i==3){led1.stanje(0);led2.stanje(0);led3.stanje(1);}
+                if(i==4){i=0;}
+                wait(0.2);
+                }
+            if(x==3){
+                led1.stanje(1);led2.stanje(1);led3.stanje(1);
+                wait(0.2);
+                led1.stanje(0);led2.stanje(0);led3.stanje(0);
+                wait(0.2);
+                }
+            if(x==4){x=0;}
+            }
+    }
+}
+