/*
Unidade 4 - Tarefa 2
Lara Gardenia
Questão 6: Refaça o programa pratico 01 presente no Ebook do Capítulo de ADC,
mude a unidade de medida da temperatura de celsius para fahrenheit.
*/
#include <stdio.h>
#include "pico/stdlib.h"
#include "hardware/adc.h"
// Definições de pinos
#define SENSOR_TEMP 4 // Canal ADC para o sensor de temperatura
// Função para converter temperatura de ADC para Fahrenheit
float conversao_fahrenheit(uint16_t adc_valor) {
const float conversao_fator = 3.3f / (1 << 12); // 12 bits de resolução
float voltagem = adc_valor * conversao_fator;
float temperatura_celsius = (voltagem - 0.5f) * 100.0f;
float temperatura_fahrenheit = (temperatura_celsius * 9.0f / 5.0f) + 32.0f;
return temperatura_fahrenheit;
}
int main() {
stdio_init_all();
adc_init();
// Configuração do sensor de temperatura no canal ADC 4
adc_gpio_init(28);
adc_select_input(SENSOR_TEMP);
printf("Leitura de Temperatura (Fahrenheit) Iniciada:\n");
while (true) {
uint16_t adc_valor = adc_read(); // Lê o valor do ADC
float temperatura_fahrenheit = conversao_fahrenheit(adc_valor);
printf("Temperatura: %.2f°F\n", temperatura_fahrenheit);
sleep_ms(1000); // Aguarda 1 segundo entre as leituras
}
return 0;
}