树莓派用GPIO实现模拟交通红绿灯

来源:互联网 发布:c# 高级编程教程 编辑:程序博客网 时间:2024/04/29 16:08

需要准备的东西:

1.树莓派3b一台

2.杜邦线若干

3.发光led灯3个:红黄绿各一个

4.220Ω电阻一个

5.面包板一个

6.无源蜂鸣器一个(可选)

接线图:


使用python GPIO模块控制红黄绿灯交替闪烁:绿灯->黄灯->红灯时会有蜂鸣器报警

#!/usr/bin/python#coding:utf-8import RPi.GPIO as GPIOimport timeGPIO.setmode(GPIO.BCM)GPIO.setup(26, GPIO.OUT)    #设置bcm26负责输出电压 红灯GPIO.setup(19,GPIO.OUT)     #黄灯GPIO.setup(13,GPIO.OUT)     #绿灯GPIO.setup(6,GPIO.OUT)      #喇叭def blink():    #通过交替输出高低电频来是LED灯闪烁    #红灯亮10s    GPIO.output(26,GPIO.HIGH)    time.sleep(10)    GPIO.output(26,GPIO.LOW)    time.sleep(0.5)    #黄灯亮3s    GPIO.output(19,GPIO.HIGH)    time.sleep(3.0)    GPIO.output(19,GPIO.LOW)    time.sleep(0.5)        # 绿灯亮10s    GPIO.output(13,GPIO.HIGH)    time.sleep(10)    GPIO.output(13,GPIO.LOW)    time.sleep(0.5)    # 黄灯亮3s    GPIO.output(19,GPIO.HIGH)    time.sleep(3.0)    GPIO.output(19,GPIO.LOW)    GPIO.output(6,GPIO.HIGH)    time.sleep(1.0)    GPIO.output(6,GPIO.LOW)    #主程序try:    #循环执行    while True:                    blink()except KeyboardInterrupt:    passGPIO.cleanup()