//==========================NOMEAR PINOS===============================
#define CLK_PIN 13
#define DATA_PIN 11
#define CS_PIN 10
//=========================BIBLIOTECAS=================================
#include <MD_MAX72xx.h>
#include <MD_Parola.h>
#include <SPI.h>
// Seleciona o HARDWARE utilizado
#define HARDWARE_TYPE MD_MAX72XX::PAROLA_HW //<-------------- PARA SIMULADOR WOKWI
//#define HARDWARE_TYPE MD_MAX72XX::FC16_HW //<============== PARA SHIELDS REAIS
// Define the number of devices we have in the chain and the hardware interface
#define MAX_DEVICES 4
// Hardware SPI connection
//MD_Parola nome = MD_Parola(HARDWARE_TYPE, CS_PIN, MAX_DEVICES);
// Hardware utilizando quaisquer pinos (!!!)
MD_Parola nome = MD_Parola(HARDWARE_TYPE, DATA_PIN, CLK_PIN, CS_PIN, MAX_DEVICES);
//===================== VARIÁVEIS e TABELAS ==========================
int te;
//====================== SUBROTINAS =============================
//====================== SETUP ========================
void setup() {
// Intialize the object
nome.begin();
//-------------- CONDIÇÕES INICIAIS -------------------
// Set the intensity (brightness) of the display (0-15)
nome.setIntensity(1);
// Clear the display
nome.displayClear();
nome.displayScroll("Bento Quirino 2023 ", PA_CENTER, PA_SCROLL_LEFT, 50);
nome.displayAnimate(); // nome.displayReset(); Limpa Display
while(nome.displayAnimate()!=true){}
nome.displayReset();
} //fecha SETUP()
//========================== LOOP INFINITO ============================
void loop() {
// LÊ SENSOR de TEMPERTURA
int temp = analogRead(A0);
// CONVERTE LEITURA PARA VALORES DE TEMPERATURA
temp=map(temp,0,1023,-10,125);
// -------------- CONDICIONAIS de TEMPERATURA ------------------
// SE TEMPERATURA FOR MAIOR QUE 50 °C
if(temp>50){
// TEXTO A SER APRESENTADO (VARIÁVEL + TEXTO)
nome.print((String)temp+" oC");
// Espera
delay(2000);
// TEXTO A SER APRESENTADO
nome.displayScroll(" <<<< QUENTE ", PA_CENTER, PA_SCROLL_LEFT, 50);
// ANIMAÇÃO
nome.displayAnimate(); // nome.displayReset(); Limpa Display
while(nome.displayAnimate()!=true){}
nome.displayReset();
}//fecha if(analog)
// SE TEMPERATURA NÃO FOR MAIOR QUE 50°C
else{
// TEXTO A SER APRESENTADO (VARIÁVEL + TEXTO)
nome.print((String)temp+" oC");
delay(2000);
// ANIMAÇÃO DE ROLAGEM PARA LIMPAR O VISOR
// TEXTO A SER APRESENTADO
nome.displayScroll(" <<< Normal", PA_CENTER, PA_SCROLL_LEFT, 50);
// ANIMAÇÃO
nome.displayAnimate(); // nome.displayReset(); Limpa Display
while(nome.displayAnimate()!=true){}
nome.displayReset();
}//fecha else
}//fecha loop