配件简介
接下来我们一起完成一个 双色 LED 实验,点亮 LED 中两种颜色的灯。
首先我们介绍一下我们涉及到的一些配件主要:
- 树莓派主板
- 双色 LED 模块 ( 重点)
- 电源
- 40P 软排线
- 面包版
- T 型版
- 跳针 * 3
水晶壳
用于防止树莓派受潮积灰,或者不小心串电。
电源
树莓派正常工作需要一个较为稳定的电源适配器提供电源,输出 2.5A ,最好带有开关的 micro USB 数据线,在需要断电的时候按下开关即可。
面包板
面包版用于快速构建电路设计的测试电路,他上面的小孔可以插入传感器模块和分立元器件以及跳针等元件。面包板可以轻松插入和移除组件,在多变化的情况快速制作电路无需焊接,还可以做两个或更多设备的连接。面包版中间每五个孔连接,金属片与金属片之间不相连。
跳针
跳针用于连接两个端的电线,在此用于面包板上任何位置的电信号传输到微控制器的输入/输出引脚。有三种类型的跳针:母对母、公对公、公对母。
T 型板
树莓派主板有 40 个 IO 接口,在实验中会采用一个转接板,通过软排线,树莓派的 IO 信号转接出来,配合面包板,方便 GPIO 外接。
发光二极管
双色发光二极管( LED )能够发出两种不同颜色的光,通常是红色和绿色。双色 LED 具备两个 LED 端口或引脚,以反平行方式排列在电路中并通过阴/阳极连接。正电压可以指向 LED 端子之一,发出对应的光。当其相反时,发出另一种光。在双色 LED 中,一次只有一个引脚接受电压。因此,这种 LED 设备经常于遥控器等的指示灯中。
双色 LED 模块 | 实验接线 |
---|---|
- | GND |
R | |
S | G |
接线
- 在 40P 软排线插入方向一定要正确,该位置可以看到有一个浅色实心三角形为第一个脚。软排线连接好树莓派的 IO 模块和 T 型板。
- T 型板压进面包版上。( 刺刺的比较难压,最好用眼镜布垫着 )
- 使用 红、橙色、黑三个跳线分别从 - 开始接入 LED 模块,分别代表 GND、R、G。
- 红线连接的是 LED 的 GND,另一端跳针插到面包板对应 T 型板的 GND 位置( 17 行)。
- 橙线连接的是 LED 的 R 色,另一端跳针插到面包板对应 T 型板的 G17 位置( 1 行)。
- 黑线连接的是 LED 的 G 色,另一端跳针插到面包板对应 T 型板的 G18 位置( 1 行)。
代码
思路
- 引入 RPi.GPIO 库
- 引入 时间库
- 定义红色光源插入的 G17 位置,PIN 值为 11
- 定义绿色光源插入的 G18 位置,PIN 值为 12
- 定义使用的编号方式,为 BOARD,数脚针用 PIN
- 定义通道为输出
- 定义通道为低电平( 红绿灯都不亮)
- 定义红灯函数( 红光源为高电平,绿光源为低电平)
- 定义绿灯函数( 绿光源为高电平,红光源为低电平)
- 调用红灯函数 5 秒
- 调用绿灯函数 5 秒
- 释放通道
实现
cd ~ && mkdir demo && cd demo && touch led.py
#!/usr/bin/env python
import RPi.GPIO as GPIO
import time
REDPIN = 11
GREENPIN = 12
pins = (REDPIN, GREENPIN)
GPIO.setmode(GPIO.BOARD)
GPIO.setup(pins, GPIO.OUT)
GPIO.output(pins, GPIO.LOW)
def Red(duration):
GPIO.output(REDPIN, GPIO.HIGH)
time.sleep(duration)
GPIO.output(REDPIN, GPIO.LOW)
def Green(duration):
GPIO.output(GREENPIN, GPIO.HIGH)
time.sleep(duration)
GPIO.output(GREENPIN, GPIO.LOW)
Red(5)
Green(5)
GPIO.cleanup()
效果
红灯亮 5 秒,接着绿灯亮 5 秒,熄灭完毕!