树莓派资料
显示屏资料
系统下载
树莓派Pico
首页 动态 发帖 版块 我的
 退出
游客  
等级:
金币:
经验值:

树莓派控制交通信号灯模块 模拟红绿灯信号 Python代码

  4616 
 0
 2
mo   mo 

LED也即是发光二极管,是一种固态半导体器件,具备将电能转换为可见光的特性。其核心是一个半导体晶片,晶片的一端与支架相连,另一端则与电源正极相连,整体被环氧树脂封装保护。那么下面这款LED交通信号灯模块是利用了三颗led灯串联的形式共同使用一个负极。  如果只接其中一颗led灯的正极那么只会亮一颗led。 如果同时接三个正极则会三颗led同时亮。

一:硬件连接

通过上述逻辑我们已知给交通信号灯模块是共负极,如果其中一个针脚输入正极就能点亮其中一颗led灯,我们在树莓派上来设定一个Python程序,通过控制每个引脚输出高电平时间,从而实现模拟红绿灯效果!

LED交通信号灯模块树莓派开发板
GNDGND
RGPIO27 (BCM16)
YGPIO29 (BCM21)
GGPIO28 (BCM20)

Image


树莓派主板GPIO引脚图

二:Pythpn程序代码

以下树莓派的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秒”一直循环。

Image



标签:
作者签名:    楼主  2024-10-10 19:53:48
回复列表
Powered by RASPI _VERSION
© 2017-2024 树莓派极客版权
您的IP: 3.144.2.5 , 2024-11-21 15:08:52
Powered by RASPI _VERSION
© 2017-2024 树莓派极客版权