#![no_std]
#![no_main]
use esp_backtrace as _;
use esp_hal::{
delay::Delay,
gpio::{Input, Output, Pin, PullUp, IO},
peripherals::Peripherals,
prelude::*,
system::SystemControl,
main,
};
use esp_println::println;
use embedded_hal::delay::DelayNs;
#[main]
fn main() -> ! {
let peripherals = Peripherals::take();
let system = peripherals.SYSTEM.split();
let clocks = esp_hal::clock::ClockControl::boot_defaults(system.clock_control).freeze();
let io = IO::new(peripherals.GPIO, peripherals.IO_MUX);
let mut delay = Delay::new(&clocks);
// DHT22 en GPIO4
let mut pin = io.pins.gpio4.into_open_drain_output();
loop {
// Simula señal de inicio al sensor
pin.set_low().unwrap();
delay.delay_ms(18u32);
pin.set_high().unwrap();
delay.delay_us(30u32);
// Cambia el pin a entrada
let mut pin = pin.into_pull_up_input();
println!("Intentando leer del DHT22...");
// Aquí debería venir la lectura manual de bits (a implementar si quieres)
delay.delay_ms(2000u32);
}
}