O mundo ao nosso redor é analógico. Vamos aprender como fazer leituras de entrada analógica com ESP32, usando funções integradas. O código Arduino está pronto para aproveitar toda a energia necessária.
Este microcontrolador específico para este artigo (Xiao ESP32-C6 – para minha placa de desenvolvimento), é capaz de ler valores analógicos de até 12 bits e 3,3 V. Isso significa ler 4096 passos, ou 805 uV por passo. Isso é diferente do Arduino UNO, por exemplo, que pode ler valores de até 5 V em apenas 10 bits.
O circuito
Nossa placa com o ESP32-C6 possui três entradas analógicas, A0-A2, localizadas nos três primeiros pinos da PCB. Estou conectando um potenciômetro de 10k Ohm ao pino A0, como visto na imagem abaixo.
Obviamente, você pode conectar virtualmente qualquer sinal analógico a qualquer uma das três entradas, o que lhe dará condições para o sinal bem o suficiente. Isso significa, em geral, limitá-lo a 3,3 V e aterrá-lo no mesmo GND da placa.
O código
Peguei o código abaixo desta fonte, a página oficial do SeeedStudio Xiao ESP32-C6.
const int analogPin = A0;
void setup() {
// Initialize serial communication at 115200 bits per second
Serial.begin(115200);
// Set the resolution to 12 bits (0-4095)
analogReadResolution(12);
//analogSetWidth(12);
}
void loop() {
// Read the analog value and millivolts for the analogPin
int analogValue = analogRead(analogPin);
int analogVolts = analogReadMilliVolts(analogPin);
// Print the values to the Serial Monitor
Serial.printf("ADC analog value = %d\n", analogValue);
Serial.printf("ADC millivolts value = %d\n", analogVolts);
delay(100); // Delay for clear reading from serial
}
Observe que eu uso “analogReadResolution(12)”, significando que a resolução para a entrada é de 12 bits. Fiz abaixo alguns testes com 10 bits para mostrar a diferença. Observe que ele deve ir de 0 a 1023, o que ele faz aproximadamente.
Pra fechar
Entrada analógica é a maneira como um microcontrolador pode “ouvir” o mundo externo, que é analógico. Aprender como aproveitar todo o seu poder é crucial para qualquer um que desenvolva sistemas embarcados.
Com tudo isso dito, até a próxima. Cuidem-se e fiquem seguros, todos.
Deixe um comentário