// ใช้ไลบรารีที่จำเป็นสำหรับ ESP32
use esp_idf_hal::prelude::*;
use esp_idf_hal::gpio::*;
use esp_idf_hal::delay::Ets;
// ตั้งค่า GPIO Pins
const LEFT_LED_PIN: i32 = 2;
const RIGHT_LED_PIN: i32 = 3;
const BUTTON_PIN: i32 = 4;
fn main() {
// เริ่มต้นระบบ GPIO
let peripherals = Peripherals::take().unwrap();
let pins = peripherals.pins;
// กำหนด LED ซ้าย ขวา และปุ่มกด
let mut left_led = pins.gpio2.into_output().unwrap();
let mut right_led = pins.gpio3.into_output().unwrap();
let button = pins.gpio4.into_input().unwrap();
// ใช้ delay
let mut delay = Ets {};
loop {
// อ่านสถานะปุ่ม
if button.is_low().unwrap() {
// กระพริบไฟซ้าย
left_led.set_high().unwrap();
delay.delay_ms(500u32);
left_led.set_low().unwrap();
// กระพริบไฟขวา
right_led.set_high().unwrap();
delay.delay_ms(500u32);
right_led.set_low().unwrap();
} else {
// ปิดไฟทั้งสอง
left_led.set_low().unwrap();
right_led.set_low().unwrap();
}
}
}