Programski kod sata/brojača. Izveden pomoću 4 tipkala i LCD zaslonom rezolucije 16x2 točaka.

Dependencies:   mbed Bljeskalica TextLCD

Prikaz trenutnog vremena i datuma na LCD zaslonu rezolucije 16x2 točaka. U gornjem redu prikazuje se datum u formatu: dan/mjesec/godina, a u donjem redu vrijeme u formatu: sat/minuta/sekunda. Podešenje vremena i datuma je pomoću tipkala i to u inkrementima po 1 (sekunda, minuta, sat, dan, mjesec, godina).

Revision:
0:1c9b141ec08b
diff -r 000000000000 -r 1c9b141ec08b tipkala.h
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/tipkala.h	Thu Jun 11 22:28:08 2020 +0000
@@ -0,0 +1,56 @@
+#include "mbed.h"
+
+InterruptIn DAN_SAT (p5);
+InterruptIn MJESEC_MINUTA (p6);
+InterruptIn GODINA_SEKUNDA(p7);
+InterruptIn DATUM(p8);
+InterruptIn VRIJEME(p9);
+
+Ticker STOPERICA;
+Timer debounce;
+
+uint32_t offset = 0;
+int UVIJET = 0;
+
+void vrijeme();
+
+
+void toggle_DAN_SAT(){
+ if(debounce.read_ms()>250) { 
+        switch (UVIJET) {
+        case 1: offset+=86400;
+          break;
+        case 2: offset+=3600;
+          break;         }
+    debounce.reset();
+    vrijeme(); }
+ }
+
+void toggle_MJESEC_MINUTA() {
+ if(debounce.read_ms()>250) {
+        switch (UVIJET) {
+        case 1: offset+=2678400;
+          break;
+        case 2: offset+=60;
+          break; }
+    debounce.reset(); 
+    vrijeme(); }
+ }
+  
+void toggle_GODINA_SEKUNDA() {
+ if(debounce.read_ms()>250)  {
+        switch (UVIJET) {
+        case 1: offset+=31622400;
+          break;
+        case 2: offset+=1;
+          break; }
+    debounce.reset(); 
+    vrijeme(); }
+ }
+ 
+ void toggle_DATUM() {
+ if(debounce.read_ms()>250) {
+  if (UVIJET<=1){
+        UVIJET+=1; }
+  else UVIJET=0;
+    debounce.reset(); }}
\ No newline at end of file