esp32用开关控制灯泡
时间: 2024-11-16 20:14:18 浏览: 0
ESP32 的WebSocket 服务器
ESP32是一款基于Tensilica Xtensa架构的低功耗、高性能物联网开发板,常用于智能家居项目中控制电子设备。要使用ESP32通过开关控制灯泡,你需要完成以下步骤:
1. **硬件准备**:
- ESP32开发板
- 一盏LED灯泡或普通灯泡(通常需要一个继电器模块)
- 开关(可以是机械开关或数字IO连接)
2. **连接电路**:
- 将开关连接到ESP32的数字IO端口,通常是GPIO0~GPIO7中的某一个,作为输入端。
- 如果直接控制灯泡会有安全风险(比如短路),所以通过继电器来间接控制,将灯泡连接到继电器的常开触点上,继电器的另一头接到ESP32的输出口。
3. **编写代码**:
使用Espressif IoT SDK(如Arduino IDE或MicroPython等)编写程序,设置开关IO为输入模式,当检测到开关信号变化时,控制继电器的状态进而切换灯泡的通断。
```python
import machine
import dht
# 初始化GPIO
led_pin = machine.Pin(2, machine.Pin.OUT) # 示例:假设灯泡接在GPIO2
switch_pin = machine.Pin(4, machine.Pin.IN, machine.Pin.PULL_UP)
def switch_callback(pin):
if not switch_pin.value(): # 当开关闭合(低电平)
led_pin.off() # 关灯
else:
led_pin.on() # 开灯
switch_pin.irq(trigger=machine.Pin.IRQ_FALLING, handler=switch_callback)
```
阅读全文