LED也即是发光二极管,是一种固态半导体器件,具备将电能转换为可见光的特性。其核心是一个半导体晶片,晶片的一端与支架相连,另一端则与电源正极相连,整体被环氧树脂封装保护。那么下面这款LED交通信号灯模块是利用了三颗led灯串联的形式共同使用一个负极。 如果只接其中一颗led灯的正极那么只会亮一颗led。 如果同时接三个正极则会三颗led同时亮。
通过上述逻辑我们已知给交通信号灯模块是共负极,如果其中一个针脚输入正极就能点亮其中一颗led灯,我们在树莓派上来设定一个Python程序,通过控制每个引脚输出高电平时间,从而实现模拟红绿灯效果!
| LED交通信号灯模块 | 树莓派开发板 |
| GND | GND |
| R | GPIO27 (BCM16) |
| Y | GPIO29 (BCM21) |
| G | GPIO28 (BCM20) |


树莓派主板GPIO引脚图
以下树莓派的Python代码设定正极输出高电平时间为:红灯10秒,绿灯8秒,黄灯3秒,
import RPi.GPIO as GPIO
import time
# 设置 GPIO 模式为 BCM
GPIO.setmode(GPIO.BCM)
# 配置 GPIO16、GPIO20 和 GPIO21 为输出引脚
GPIO.setup(16, GPIO.OUT)
GPIO.setup(20, GPIO.OUT)
GPIO.setup(21, GPIO.OUT)
while True:
# GPIO16 输出高电平 10 秒
GPIO.output(16, GPIO.HIGH)
time.sleep(10)
GPIO.output(16, GPIO.LOW)
# GPIO20 输出高电平 8 秒
GPIO.output(20, GPIO.HIGH)
time.sleep(8)
GPIO.output(20, GPIO.LOW)
# GPIO21 输出高电平 3 秒
GPIO.output(21, GPIO.HIGH)
time.sleep(3)
GPIO.output(21, GPIO.LOW)运行程序后效果如下:红灯10秒,绿灯8秒,黄灯3秒”一直循环。
