今日继续学习树莓派4B 4G:(Raspberry Pi,简称RPi或RasPi)
本人所用树莓派4B 装载的系统与版本如下:
版本可用命令 (lsb_release -a) 查询:
Python 版本3.7.3:
今日学习:RBG_LED全色域灯的驱动模块编写_(if __name__=="__main__")
写一篇比较水的文章测试一下今天刚到手的LED模块,哈哈哈~~~~~~~~~~~~~~~
文章提供测试代码讲解,整体代码贴出、测试效果图、整体工程下载
目录
创建测试文件:
编写RBG_LED.py模块代码:
编写main.py调用模块测试:
测试效果展示:
整体测试工程下载:
创建测试文件:
这里编写的是自己的驱动显示模块,因此会有个main.py调用它来测试是否正常能运行
我将这个测试文件RBG_LED文件夹整个放在了树莓派如下目录:
/home/pi/code_examples/
编写RBG_LED.py模块代码:
这个目前的RBG_LED模块代码 包括了初始化LED函数以及各种颜色的设定,以及一个用于测试各种颜色显示的测试函数
代码所在文件命名为:RBG_LED.py
# coding: utf-8
import RPi.GPIO as GPIO
import time# 定义RGB LED连接的GPIO引脚
RGB_RED = 18
RGB_GREEN = 19
RGB_BLUE = 20 #初始化LED
def Init_RBG_LED():# 设置GPIO模式为BCM(Broadcom SOC channel) GPIO.setmode(GPIO.BCM)# 设置引脚为输出模式 GPIO.setup(RGB_RED, GPIO.OUT)GPIO.setup(RGB_GREEN, GPIO.OUT)GPIO.setup(RGB_BLUE, GPIO.OUT)# 创建一个函数来设置LED颜色(red, green, blue只能GPIO.HIGH,或GPIO.LOW)
def set_led_color(red, green, blue): GPIO.output(RGB_RED, red) GPIO.output(RGB_GREEN, green) GPIO.output(RGB_BLUE, blue) #设置LED为红色
def set_red():set_led_color(GPIO.HIGH, GPIO.LOW, GPIO.LOW)
# 设置LED为绿色
def set_green():set_led_color(GPIO.LOW, GPIO.HIGH, GPIO.LOW)
# 设置LED为蓝色
def set_blue():set_led_color(GPIO.LOW, GPIO.LOW, GPIO.HIGH)
# 设置LED为白色(所有颜色都亮)
def set_white():set_led_color(GPIO.HIGH, GPIO.HIGH, GPIO.HIGH)
# 设置LED为关闭(所有颜色都熄灭)
def set_off():set_led_color(GPIO.LOW, GPIO.LOW, GPIO.LOW)
# 设置LED为紫色
def set_purple():set_led_color(GPIO.HIGH, GPIO.LOW, GPIO.HIGH)
# 设置LED为黄色
def set_yellow():set_led_color(GPIO.HIGH, GPIO.HIGH, GPIO.LOW)
# 设置LED为青色
def set_cyan():set_led_color(GPIO.LOW, GPIO.HIGH, GPIO.HIGH)# 示例:闪烁LED(红绿蓝依次闪烁)
def blink_led():try: while True:set_white()time.sleep(0.55)set_red()time.sleep(0.55)set_green()time.sleep(0.55)set_blue()time.sleep(0.55)set_purple()time.sleep(0.55)set_yellow()time.sleep(0.55)set_cyan()time.sleep(0.55)except KeyboardInterrupt: # 捕获键盘中断以安全退出 <ctrl+c> set_off() # 关闭ledGPIO.cleanup()if __name__ == "__main__": GPIO.setwarnings(False) # 禁用GPIO警告Init_RBG_LED() #初始化LEDblink_led() #彩色闪烁呼吸测试
编写main.py调用模块测试:
如果在定义
RGB_RED
、RGB_GREEN、RGB_BLUE
三个有关引脚编号的全局变量的文件和Init_RBG_LED
函数位于同一个文件中(RBG_LED.py
)并且已经在
main.py
中正确地导入了RBG_LED
模块,那么在main.py
中调用Init_RBG_LED()
函数是没有问题的。代码所在文件命名为:main.py
# coding: utf-8
import RBG_LED as LEDLED.Init_RBG_LED()
LED.blink_led()
测试效果展示:
首先使用cd命令进入代码所在目录:
cd /home/pi/code_examples/RBG_LED
再使用python运行脚本:
python3 RBG_LED.pypython3 main.py
循环显示了各个测试函数的设置颜色:(main.py文件效果与RBG_LED.py是一样的)
按<ctrl+c>可以退出并关闭LED
整体测试工程下载:
https://download.csdn.net/download/qq_64257614/89500771