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).

tipkala.h

Committer:
dariojankovic
Date:
2020-06-11
Revision:
0:1c9b141ec08b

File content as of revision 0:1c9b141ec08b:

#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(); }}