配件简介

接下来我们一起完成一个 双色 LED 实验,点亮 LED 中两种颜色的灯。
首先我们介绍一下我们涉及到的一些配件主要:

  • 树莓派主板
  • 双色 LED 模块 ( 重点)
  • 电源
  • 40P 软排线
  • 面包版
  • T 型版
  • 跳针 * 3

水晶壳

用于防止树莓派受潮积灰,或者不小心串电。

WechatIMG355.jpeg

电源

树莓派正常工作需要一个较为稳定的电源适配器提供电源,输出 2.5A ,最好带有开关的 micro USB 数据线,在需要断电的时候按下开关即可。

WechatIMG359.jpeg

面包板

面包版用于快速构建电路设计的测试电路,他上面的小孔可以插入传感器模块和分立元器件以及跳针等元件。面包板可以轻松插入和移除组件,在多变化的情况快速制作电路无需焊接,还可以做两个或更多设备的连接。面包版中间每五个孔连接,金属片与金属片之间不相连。

跳针

跳针用于连接两个端的电线,在此用于面包板上任何位置的电信号传输到微控制器的输入/输出引脚。有三种类型的跳针:母对母、公对公、公对母。

T 型板

树莓派主板有 40 个 IO 接口,在实验中会采用一个转接板,通过软排线,树莓派的 IO 信号转接出来,配合面包板,方便 GPIO 外接。

WechatIMG356.jpeg

发光二极管

双色发光二极管( LED )能够发出两种不同颜色的光,通常是红色和绿色。双色 LED 具备两个 LED 端口或引脚,以反平行方式排列在电路中并通过阴/阳极连接。正电压可以指向 LED 端子之一,发出对应的光。当其相反时,发出另一种光。在双色 LED 中,一次只有一个引脚接受电压。因此,这种 LED 设备经常于遥控器等的指示灯中。

WechatIMG357.jpeg

双色 LED 模块 实验接线
- GND
R
S G

接线

  1. 在 40P 软排线插入方向一定要正确,该位置可以看到有一个浅色实心三角形为第一个脚。软排线连接好树莓派的 IO 模块和 T 型板。
  2. T 型板压进面包版上。( 刺刺的比较难压,最好用眼镜布垫着 )
  3. 使用 红、橙色、黑三个跳线分别从 - 开始接入 LED 模块,分别代表 GND、R、G。
  4. 红线连接的是 LED 的 GND,另一端跳针插到面包板对应 T 型板的 GND 位置( 17 行)。
  5. 橙线连接的是 LED 的 R 色,另一端跳针插到面包板对应 T 型板的 G17 位置( 1 行)。
  6. 黑线连接的是 LED 的 G 色,另一端跳针插到面包板对应 T 型板的 G18 位置( 1 行)。

image.png

WechatIMG358.jpeg

代码

思路

  1. 引入 RPi.GPIO 库
  2. 引入 时间库
  3. 定义红色光源插入的 G17 位置,PIN 值为 11
  4. 定义绿色光源插入的 G18 位置,PIN 值为 12
  5. 定义使用的编号方式,为 BOARD,数脚针用 PIN
  6. 定义通道为输出
  7. 定义通道为低电平( 红绿灯都不亮)
  8. 定义红灯函数( 红光源为高电平,绿光源为低电平)
  9. 定义绿灯函数( 绿光源为高电平,红光源为低电平)
  10. 调用红灯函数 5 秒
  11. 调用绿灯函数 5 秒
  12. 释放通道

实现

  1. cd ~ && mkdir demo && cd demo && touch led.py
  1. #!/usr/bin/env python
  2. import RPi.GPIO as GPIO
  3. import time
  4. REDPIN = 11
  5. GREENPIN = 12
  6. pins = (REDPIN, GREENPIN)
  7. GPIO.setmode(GPIO.BOARD)
  8. GPIO.setup(pins, GPIO.OUT)
  9. GPIO.output(pins, GPIO.LOW)
  10. def Red(duration):
  11. GPIO.output(REDPIN, GPIO.HIGH)
  12. time.sleep(duration)
  13. GPIO.output(REDPIN, GPIO.LOW)
  14. def Green(duration):
  15. GPIO.output(GREENPIN, GPIO.HIGH)
  16. time.sleep(duration)
  17. GPIO.output(GREENPIN, GPIO.LOW)
  18. Red(5)
  19. Green(5)
  20. GPIO.cleanup()

效果

红灯亮 5 秒,接着绿灯亮 5 秒,熄灭完毕!