当前位置: 首页 > article >正文

树莓派扩展RGB点阵屏的使用

本篇来介绍一个树莓派的RGB 8x8点阵屏扩展板的使用。

1 RGB点阵屏

这里使用SunFounder的一个RGB 8x8树莓派扩展板,将其插接到树莓派中即可使用。

2 树莓派IIC配置

树莓派系统的安装,可参考之前的文章:

这个RGB点阵屏与树莓派直接使用IIC通信,因此需要先使能树莓派的IIC,使用如下指令:

sudo raspi-config

会弹出如下下面,然后选择Interfacing options,回车确认

然后再选择P5 I2C,回车确认

然后确认开启IIC接口:

再次确认:

通过如下指令查看IIC模块是否已加载:

lsmod | grep i2c

还有安装IIC的软件工具包:

sudo apt-get install i2c-tools

安装完之后,检查IIC的地址:

i2cdetect -y 1

3 运行例程

3.1 下载rgb_matrix代码库

在树莓派中使用git来clone代码仓库:

git clone ![](https://github.com/sunfounder/rgb_matrix

3.2 运行报错解决

运行基础例程:

cd /home/pi/rgb_matrix/raspberrypi
sudo python3 hello_matrix.py

这里报错了,提示rgb_matrix.py的314行有一个非期望的参数joint

查看rgb_matrix.py的314行,是有一个joint参数,这个参数是传给self.draw.line函数中的,分析代码,这里的self.draw,调用的其实是python的PIL库中的Draw,因此这个line函数就是PIL库中Draw功能中的line函数。可能是不同版本的PIL库的函数有差别,我这个树莓派里的PIL库的line函数不需要joint这个参数,可以把代码中这个参数去掉试试。

去掉之后,314行就没有报错了,不过还有其它地方报错,也是同样的方法,把代码中提示多余的参数去掉

成功运行后的显示效果如下:

3.3 代码分析

hello_matrix.py

from rgb_matrix.rgb_matrix import RGB_Matrix
from rgb_matrix.color import Color
import time

rr = RGB_Matrix(0x74)                     # create an RGB_Matrix object 
col = Color()

point_coor = [3,1]
rr.draw_point(point_coor,fill=(10,10,10))   #draw a point
rr.display()
time.sleep(3)

line_coor = [0,2,7,2]
rr.draw_line(line_coor,fill=(10,0,0))  # draw a line
rr.display()
time.sleep(3)

rectangle_coor = [0,4,2,6]
rr.draw_rectangle(rectangle_coor,fill=(10,0,0))   #draw a rectangle
rr.display()
time.sleep(3)

ellipse_coor = [5,5]
radius = 2
rr.draw_ellipse(ellipse_coor,radius,fill=(0,5,0))   #draw a ellipse
rr.display()  #display the picture which you draw
time.sleep(3)

text = 'hello'
rr.show_text(text, delay=200,color=(0,15,0))   # show text 
rr.display()

分析代码:

  • 首先是引入一些模块
    • 从rgb_matrix.py中引入RGB_Matrix这个类
    • 从color.py中引入Color这个类
    • 引入time模块
  • 创建RGB_Matrix对象rr和Color对象col
  • 画一些对象
    • 调用draw_point画点,在(3,1)位置画一个RGB颜色为(10,10,10)的点,注意位置点在从(0,0)开始的
    • 调用draw_line画直线,从(0,2)到(7,2)画一条RGB颜色为(10,0,0)的直线
    • 调用draw_rectangle画矩形,对角线从(0,4)到(2,6)画一个RGB颜色为(10,0,0)的矩形
    • 调用draw_ellipse画椭圆,以(5,5)为圆心,2为半径,画一个RGB颜色为(0,5,0)的圆
    • 调用show_text显示文字,以200ms为显示,以RGB颜色为(0,15,0)显示滚动字符’hello’

4 总结

本篇介绍了树莓派扩展一个8x8的RGB点阵屏的使用方法,并对基础例程中的代码进行了功能分析。


http://www.kler.cn/a/289604.html

相关文章:

  • 群控系统服务端开发模式-应用开发-前端个人信息功能
  • 【数据结构与算法】第12课—数据结构之归并排序
  • 贪心算法day03(最长递增序列问题)
  • 结构体是否包含特定类型的成员变量
  • 【MySQL】MySQL函数之JSON_EXTRACT
  • C#发票识别、发票查验接口集成、电子发票(航空运输电子行程单)
  • vue-----window.open打开新窗口文件并且修改窗口标题下载文件
  • 云微客短视频矩阵系统,如何让企业赢在起跑线?
  • Flask框架默认session处理机制
  • gRPC学习之六:gRPC-Gateway集成swagger
  • 山东省行政执法证照片要求及图像处理方法
  • 实训day40(8.30)
  • 数据结构-广义表
  • 在uni-app中使用SQLite
  • office套件打开时 提示操作系统当前的配置不能运行此应用程序
  • VS2022使用指定的LLVM版本
  • windows 环境下安装OpenCV For Java
  • 一些可能很有用的矩阵知识
  • 新手c语言讲解及题目分享(十)——数组专项练习
  • 免费GPU平台教程,助力你的AI, pytorch tensorflow 支持cuda
  • Vue3组件通信概览
  • [Raspberry Pi]如何利用docker執行motioneye,並利用Line Notify取得即時通知和照片?
  • 2024车牌识别系统十大品牌发布,车牌智能识别系统品牌哪家好?
  • 【408 数据结构】第1章绪论
  • 开发基础软件安装地址(持续更新中)
  • Spring Boot实战:运用享元模式优化微服务间共享资源