Raspberry Pi Zero W控制全彩RGB灯

作者: 可乐丸子
上传时间为: 2017-07-12 01:28 PM
2017-07-12
阅读:

我们可以利用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 GPIO
import time

GPIO.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灯颜色

全部评论 ()
条评论
写评论

创建讨论帖子

登录 后参与评论
系统提示