TA的每日心情 | 奋斗 2019-10-1 12:54 |
---|
签到天数: 313 天 连续签到: 1 天 [LV.8]以坛为家I
|
我们可以利用Raspberry Pi Zero W开发板来控制全彩RGB LED灯,实现LED灯色彩变化,下面介绍具体实现方法
首先准备配件如下
四脚全彩LED灯珠1个 470欧-500欧电阻3个 面包板1个(可选)Raspberry Pi Zero W开发板1个 杜邦线4根
我们需要将四脚全彩LED灯珠的4个引脚按下图连接到Raspberry Pi Zero W开发板,除了其中黑色接GND的线外其他三根线需要串上470-500欧电阻
然后给开发板上电,登陆后进入终端输入如下命令创建rgb_led.py脚本
sudo vi rgb_led.py输入如下代码
from Tkinter import *import RPi.GPIO as GPIOimport timeGPIO.setmode(GPIO.BCM)GPIO.setup(18, GPIO.OUT)GPIO.setup(23, GPIO.OUT)GPIO.setup(24, GPIO.OUT)pwmRed = GPIO.PWM(18, 500)pwmRed.start(100)pwmGreen = GPIO.PWM(23, 500)pwmGreen.start(100)pwmBlue = GPIO.PWM(24, 500)pwmBlue.start(100)class App: def __init__(self, master): frame = Frame(master) frame.pack() Label(frame, text='Red').grid(row=0, column=0) Label(frame, text='Green').grid(row=1, column=0) Label(frame, text='Blue').grid(row=2, column=0) scaleRed = Scale(frame, from_=0, to=100, orient=HORIZONTAL, command=self.updateRed) scaleRed.grid(row=0, column=1) scaleGreen = Scale(frame, from_=0, to=100, orient=HORIZONTAL, command=self.updateGreen) scaleGreen.grid(row=1, column=1) scaleBlue = Scale(frame, from_=0, to=100, orient=HORIZONTAL, command=self.updateBlue) scaleBlue.grid(row=2, column=1) def updateRed(self, duty): pwmRed.ChangeDutyCycle(float(duty)) def updateGreen(self, duty): pwmGreen.ChangeDutyCycle(float(duty)) def updateBlue(self, duty): pwmBlue.ChangeDutyCycle(float(duty))root = Tk()root.wm_title('RGB LED Control')app = App(root)root.geometry("200x150+0+0")root.mainloop()按ESC键输入:wq保存脚本,然后运行如下命令安装图形化组件python-tk
sudo apt-get install python-tk -y接着输入下面命令运行脚本
python rgb_led.py出现如下可以滑动条,拖动3个滑条即可改变LED灯颜色
|
|