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).
Diff: tipkala.h
- 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