0%

树莓派流光溢彩(一)

树莓派和LED灯带的调试

序号 设备名称
1 APA102 RBG灯带
2 树莓派
3 5.5mm 2.5mm 5V10ADC电源
4 DC转5.5mm 2.5mm接头

1.树莓派打开SPI驱动功能

1
pi@raspberrypi:~ $ sudo raspi-config

选择Interfacing Optinos---SPI---YES

确定SPI驱动已经加载

1
2
pi@raspberrypi:~ $ ls /dev/spidev0.*
/dev/spidev0.0 /dev/spidev0.1

这里两个spi接口设备,引脚19、21、23、24对应的设备文件为/dev/spidev0.0

2.链接树莓派与APA102跳线

首先你一定要注意灯带两头我们应该接在那一头?应该从箭头方向的起始点。

  • 灯带两个单独的线路分别连接转接器正负极
  • 树莓派19针脚(MOSI)连接灯带DI
  • 树莓派23针脚(SCLK)连接灯带CI
  • 树莓派6针脚(GND)连接灯带GND(实际我没有连接也可以控制,一直没搞明白为什么灯带有独立供电还需要把地连接到树莓派上)

3.安装python3和库文件

1
2
3
4
pi@raspberrypi:~ $ sudo apt-get update
pi@raspberrypi:~ $ sudo apt-get upgrade
pi@raspberrypi:~ $ sudo apt-get install python3 python3-dev python3-pip
pi@raspberrypi:~ $ sudo pip3 install apa102-pi

4.测试并且点亮灯带

创建一个test.py文件,下载或者复制代码:https://raw.githubusercontent.com/tinue/apa102-pi/master/runcolorcycle.py根据代码中更改成自己灯带实际灯珠的数量NUM_LED = 180,例如我的灯带有180颗。

1
2
3
4
5
6
7
pi@raspberrypi:~ $ python3 test.py
Three Seconds of white light
Go twice around the clock
One strandtest of red, green and blue each
One slow trip through the rainbow
Five quick trips through the rainbow
Finished the test

应该已经看到灯带跟随屏幕提示点亮了。

当然你也可以自己书写一段代码如下(将点亮一个红色,连个绿色和三个蓝色灯泡):

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
from apa102_pi.driver import apa102

strip = apa102.APA102(num_led=60, order='rgb')

strip.clear_strip()

strip.set_pixel_rgb(1, 0xFF0000) # Red
strip.set_pixel_rgb(2, 0x00FF00) # Green
strip.set_pixel_rgb(3, 0x00FF00) # Green
strip.set_pixel_rgb(4, 0x0000FF) # Blue
strip.set_pixel_rgb(5, 0x0000FF) # Blue
strip.set_pixel_rgb(6, 0x0000FF) # Blue

strip.show()

strip.cleanup()