/*Conversor ADC ESP 32
Herberth Kramer / Caio Faria
Versão C++
19/03/2024*/
#include <TM1637.h> // Incluir biblioteca do display 4 segmentos TM1637
#define POT 4 // Definindo pino 4 como entrada de potenciômetro
const int CLK =33; // Pino 33 está ligado ao CLK do TM1637
const int DIO =25; // Pino 25 está ligado ao DIO do TM1637
TM1637 tm(CLK,DIO); // Inicializando o display nos pinos
int leitura=0; // Variável de leitura do ADC incilizada em 0
float valor_Volt=0; // Variável de conversão de bits para Volt inicializada em 0
void setup() {
pinMode(POT, INPUT); // Configura POT como entrada
tm.init(); // Liga o display
tm.set(BRIGHT_TYPICAL); // Brilho normal
Serial.begin(115200); // Inicializa a serial
}
void loop() {
leitura=analogRead(POT); // Leitura de valor analógico do POT
display(leitura); // Manda pro display o valor
Serial.println("Valor da conversao AD (em bits): "); // Exibe a mensagem no serial
Serial.println(leitura); // Exibe o valor da leitura em bits
valor_Volt=0.0008056641*leitura; // Cálculo de conversão dos bits para Volt
Serial.println("Valor da conversao AD (em Volts): ");// Exibe a mensagem no serial
Serial.println(valor_Volt); // Exibe o valor da conversão para Volt
delay(1000); // Delay de 1s
}
void display (unsigned int adcVal){ // Subrotina de inicialização do display
tm.display(0, (adcVal / 1000) % 10);
tm.display(1, (adcVal / 100) % 10);
tm.display(2, (adcVal / 10) % 10);
tm.display(3, adcVal % 10);
}