树莓派4B-Python-基于rpi_ws281x库控制LED亮灭

树莓派4B-Python-基于rpi_ws281x库控制LED亮灭

1、需求介绍

1.2、 视图界面:运用PyQt编写小灯控制界面
在这里插入图片描述

1.3、 功能实现:使用树莓派4B控制LED灯实现多种颜色的变换亮灭,随意其亮度。

2、参数介绍与工作原理

小灯是一个集控制电路与发光电路于一体的智能外控LED光源,每个元件即为一个像素点。

       LED_COUNT = 8,
       LED_PIN = 18,  # GPIO接口 (PWM编码).
       LED_BRIGHTNESS = 255,  # 设置LED亮度 (0-255)
       # 以下LED配置无需修改
       LED_FREQ_HZ = 800000,  # LED信号频率(以赫兹为单位)(通常为800khz)
       LED_DMA = 10,  # 用于生成信号的DMA通道(尝试5)
       LED_INVERT = False, # 反转信号(使用NPN晶体管电平移位时)
       LED_CHANNEL = 0

3、小灯与树莓派4B接线:

红色------5V
蓝色------GND
黄色------GPIO18
在这里插入图片描述

4、首先需要安装相关库:

4.1、在线安装:sudo pip install rpi-ws281x
4.2、直接安装:cd /home/pi/Desktop/rpi_ws281x-
sudo python3 setup.py install

4.3若没有安装pip的还得先安装pip:(装了则跳过此步骤)
sudo apt-get install python-pip在这里插入代码片

5、功能代码:

from PyQt5.QtWidgets import QMainWindow, QApplication, QMessageBox
from PyQt5.QtGui import QGuiApplication, QScreen, QColor, QPixmap, QMouseEvent, QFont, QFontInfo, QFontDatabase
from PyQt5.QtCore import QEvent, Qt, QSize, QRect, QCoreApplication, QFile, QIODevice, QThread, pyqtSignal

import sys
from mainwindow_ledtest import Ui_MainWindow
import time
from rpi_ws281x import *
import argparse



class MainWindow(QMainWindow, Ui_MainWindow):
    def __init__(self,LED_COUNT = 8,
                    LED_PIN = 18,  # GPIO接口 (PWM编码).
                    LED_BRIGHTNESS = 255,  # 设置LED亮度 (0-255)
                    # 以下LED配置无需修改
                    LED_FREQ_HZ = 800000,  # LED信号频率(以赫兹为单位)(通常为800khz)
                    LED_DMA = 10,  # 用于生成信号的DMA通道(尝试5)
                    LED_INVERT = False, # 反转信号(使用NPN晶体管电平移位时)
                    LED_CHANNEL = 0):
        super(MainWindow, self).__init__()
        self.setupUi(self)
        self.LED_COUNT = LED_COUNT
        self.LED_PIN = LED_PIN
        self.LED_BRIGHTNESS = LED_BRIGHTNESS
        self.LED_FREQ_HZ = LED_FREQ_HZ
        self.LED_DMA = LED_DMA
        self.LED_INVERT = LED_INVERT
        self.LED_CHANNEL = LED_CHANNEL
        #
        self.color_R.setValue(255)
        self.light_up.setValue(255)
        conuts = 0
        self.location_text.setText(str(conuts))
        # 设置整体亮度 关闭LED为0 最亮为255 范围0-255
        # 该函数与下面的设置颜色都不会直接对LED进行修改,可以理解为将修改数据保存到缓存区。
         #strip.setBrightness(200)
         # Create NeoPixel object with appropriate configuration.
        
        

        # 当下拉索引发生改变时发射信号触发绑定的事件
        self.comboBox.currentIndexChanged.connect (self.selectionchange)
        self.pushButton.clicked.connect(self.location_manage)

QComboBox类中的常用方法:
方法 描述
• :
意义
.addItem(string) #添加字

  • 2
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值