/*
PROJETO
CAIO HENRIQUE DE OLIVEIRA TANSINI
19/09/2024
//////////////////// FUNÇÕES \\\\\\\\\\\\\\\\\\\\\\
inicia();
brilho( valor );
separaDigito( numero );
bufferDigito( posição , valor 0 ~9 , separdor do Relógio );
bufferByte( posição , valor 0~255 );
printbuffer();
printVar( número OU variável );
*/
//============== NOMEAR PINOS ===============
//=========== INCLUIR BIBLIOTECAS ===========
//===================================================
//===================================================
//===================================================
// Atualizada em 2024
/* //////////////////// FUNÇÕES \\\\\\\\\\\\\\\\\\\\\\
inicia(); // Inicializa MÓDULO DISPLAY
brilho( valor ); // Determina o Brilho dos LEDs no Display [ valor: 0~15 ]
separaDigito( numero ); // numero = 0 Desativa ":" do Relógio
// numero = 1 Ativa ":" do Relógio
Bufferizando...
bufferDigito( posição , valor 0 ~9 , separdor do Relógio ); //Envia para buffer: ( posição 0~3, valor 0~9 , acende/apaga 1/0 ":" do Relógio)
bufferByte( posição , valor 0~255 ); //Envia Byte para buffer ( posição 0~3 , seg a =1 ,seg b = 2, seg c = 4, seg d = 8, seg e = 16 , seg f = 32 , seg g = 64 , DP = 128 )
printbuffer(); // Manda para o Display o conteúdo do Buffer
Números ou Variáveis...
printVar( número OU variável ); //Coloca direto no Display o número ou valor da variável
//////////////////// FUNÇÕES \\\\\\\\\\\\\\\\\\\\\\ */
// ======================================
// ========== TM1637 [INI] ==============
// ======================================
//PALAVRAS UTILIZADAS NESSE CÓDIGO
// maTrix
// inicia
// brilho
// pos_icao
// val_or
// pon_to
// printVar
// printBuffer
// printSegs
// bufferDigito
// separaDigito
#include <TM1637Display.h>
#define CLK 22
#define DIO 21
#define maTrix display
TM1637Display maTrix(CLK, DIO);
byte dATa[]={0,0,0,0};
//===================================
void inicia(){
maTrix.setBrightness(0x0f);
}//fecha inicia
//===================================
//==========================================================
void printVar(int val_or){
maTrix.showNumberDecEx(val_or); // numero
}//fecha printVar
//==========================================================
//==========================================================
void printSegs(byte posi_cao,byte val_or){
dATa[posi_cao]=val_or;
maTrix.setSegments(dATa);
}//fecha printSegs()
//==========================================================
//==========================================================
void brilho(byte val_or){
maTrix.setBrightness(val_or);
}//fecha brilho()
//==========================================================
//==========================================================
void bufferByte(byte posi_cao, byte val_or){
dATa[posi_cao]=val_or;
maTrix.setSegments(dATa);
}//fecha printByte()
//==========================================================
//===========================================
void separaDigito(byte on_off){
if(on_off==1){dATa[1]=dATa[1]+128;}
}//fecha separaDigito()
//===========================================
//===========================================
void printbuffer(){
printSegs(0,dATa[0]);
printSegs(1,dATa[1]);
printSegs(2,dATa[2]);
printSegs(3,dATa[3]);
}//fecha printbuffer()
//===========================================
//===========================================
void bufferDigito(byte posi_cao, byte val_or, byte pon_to){
byte num=val_or;
if(num==0){val_or=63;}
if(num==1){val_or=6;}
if(num==2){val_or=91;}
if(num==3){val_or=79;}
if(num==4){val_or=102;}
if(num==5){val_or=109;}
if(num==6){val_or=125;}
if(num==7){val_or=7;}
if(num==8){val_or=127;}
if(num==9){val_or=111;}
if(pon_to==1 && val_or<128){val_or=val_or+128;}
if(pon_to==0 && val_or>128){val_or=val_or-128;}
dATa[posi_cao]=val_or;
}//fecha bufferDigito()
//===========================================
// ======================================
// ========== TM1637 [END] ==============
// ======================================
//=========== VARIÁVEIS E TABELAS ===========
int valor;
//================ SUB-ROTINAS ==============
//================== SETUP ==================
void setup() {
inicia();
brilho(7);
//---------- CONDIÇÕES INICIAIS ----------
valor=105;
printVar(valor);
bufferDigito(0,0,0);
printbuffer();
}//fecha void setup()
//============== LOOP INFINITO ===============
void loop() {
}//fecha void loop()