h>
#include <LedControl.h>
byte sec = 0;
void setup() {
pinMode(SPK, OUTPUT);
Timer1.attachInterrupt(clk);
void loop() {
ajust();
void ajust() {
while (1) {
if (alarm) {
ax_h = al_h;
ax_m = al_m;
} else {
ax_h = h;
ax_m = m;
}
if (pres) {
if (alarm) {
al_h = ax_h;
al_m = ax_m;
} else {
h = ax_h;
m = ax_m;
if (mod < 4) {
if (mod-- == 0) {
alarm = !alarm;
if (alarm) mod = 3;
else mod = 4;
}
pres = true;
delay(100);
if (mod < 4) {
} else {
blk = 0;
sec = 0;
*m += 1;
*m = 0;
*h += 1;
void clk() {
sec++;
void alarme() {
Comentários Do Código
INPUT_PULLUP:
O microcontrolador ATmega na maioria das placas Arduino possui resistores pull-up internos
(resistores conectados a alimentação internamente) que você pode acessar. Se você preferir
usar estes em vez de resistores de pull-up externos, você pode usar o argumento
INPUT_PULLUP na função pinMode().
Ponteiros
Variáveis Ponteiros
Para que uma variável seja um ponteiro, precisa ser declarada com um * na frente no nome da
variável.