【树莓派raspberry pi】简单的控制红绿灯闪烁的程序及细节

这个小任务很简单,不过在插上面包板设置相应输入输出GPIO口的时候稍微遇到了些麻烦,当时查了很多资料,感觉说的都不是特别清楚。特此开个帖子详述一下。

首先,在树莓派终端输入如下命令:

pinout

用来查看设置输入输出对应的gpio口,示例如下:

这里的GPIOX对应于树莓派面包板上的GXX编号。 

举个例子,

如果要使用GPIO22(树莓派面包板上为G22),GPIO27(树莓派面包板上为G27)两个引脚控制红绿灯,那么其面包板对应的序号分别为15,13。完整的控制红绿灯交替闪烁的代码如下:

#!/usr/bin/python
# coding:utf-8

import RPi.GPIO as GPIO
import time

GPIO.setmode(GPIO.BOARD)#面包板引脚,使用pinout查看gipo口对应引脚
# 进行引脚的初始化,因为是低电平触发,初始时设置为高电平
#GPIO.setup(37, GPIO.OUT,initial = GPIO.HIGH)  # 轰鸣器
GPIO.setup(15, GPIO.OUT)  # 红,G22,GIPIO22.pinout查看端口对应board引脚为15
#GPIO.setup(13, GPIO.OUT)  # 黄
GPIO.setup(13, GPIO.OUT)  # 绿,G27,GPIO27.pinout查看端口对应board引脚为13


def blink():
    # 通过交替输出高低电频来是LED灯闪烁
    # 红灯亮3s,绿灯不亮
    GPIO.output(15, GPIO.HIGH)#红灯亮
    GPIO.output(13, GPIO.LOW)#绿灯不亮
    time.sleep(3)
    # 绿灯亮3s,红灯不亮
    GPIO.output(15, GPIO.LOW)#关闭红灯
    GPIO.output(13, GPIO.HIGH)#打开绿灯
    time.sleep(3)

# 主程序
try:
    # 循环执行
    while True:
        blink()

except KeyboardInterrupt:
    pass

GPIO.cleanup()

实物组装图如下(我努力把接线板拍清楚了嘿嘿):

 ​​​​​​​

  • 9
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值