/*Na operação, o LED vermelho (CONECATADO AO PINO DO DO SENSOR) será ativado
pelo sensor se a leitura smoke/gas > clean air treshold
*/
//Declaração de bibliotecas
#include <stdio.h>
#include "pico/stdlib.h"
#include "hardware/adc.h"
//Função main
void main() {
stdio_init_all();
adc_init(); //Inicia o ADC
adc_gpio_init(26); //Inicia o ADC0 (GP26)
while (1) {
adc_select_input(0); //Seleciona o ADC0
uint adc_raw = adc_read(); //Lê o ADC0 e armazena em ADC_RAW
const uint adc_max = (1 << 12) - 1; //2^12 - 1 = 4095
//Calcula a tensão no sensor DE GAS/FUMAÇA: 0 % = 0.00 V | 100 % = 3.30 V
float v_sensor = (float)adc_raw/adc_max*3.3f;
printf("Tensão no sensor smoke/gas = %.2f V\n",v_sensor); //Mostra o resultado no monitor serial
sleep_ms(500); //Intervalo de leitura - 500ms - 0.5 s
}
}