Pioneer600
| |||||||||||||||||||
| |||||||||||||||||||
说明
产品介绍
Pionner600是一款Raspberry Pi A+ / B+ / 2 / 3 / 4 的外围扩展板,带有丰富的板载资源,是你学习Raspberry Pi控制编程的好拍档。
产品特点
- 【简易I/O设备】双LED、五向摇杆、蜂鸣器,Raspberry Pi入门常用(标准姿势)
- 【USB TO UART】CP2102,支持串口终端控制Raspberry Pi(实用主义)
- 【显示设备】0.96寸OLED,小屏亦显大精彩(开始玩花的)
- 【RTC】DS3231,高精度,并带备用电池座(贴心)
- 【AD/DA】PCF8591,8位精度,并带接线端子输入输出接口(友尽)
- 【GPIO扩展】PCF8574,确保GPIO够用(妈妈不再担心)
- 【红外接收】LFN0038K,支持遥控Raspberry Pi(单手控制)
- 【压力传感器】BMP280,可检测气压与温度(压力山大)
- 【WIRE接口】可接入1-WIRE器件,配有DS18B20(爽一下)
- 【传感器接口】方便接入各类传感器(爽歪歪)
资源介绍
RPI使用教程
提供BCM2835、WiringPi、文件IO、RPI(Python)库例程
树莓派使用教程
开启SPI接口
- 打开树莓派终端,输入以下指令进入配置界面
sudo raspi-config 选择Interfacing Options -> SPI -> Yes 开启SPI接口
sudo reboot
请确保SPI没有被其他的设备占用,你可以在/boot/config.txt中间检查
开启I2C接口
- 打开树莓派终端,输入以下指令进入配置界面
sudo raspi-config 选择 Interfacing Options -> I2C ->yes 启动 i2C 内核驱动
sudo reboot
开启Uart接口
打开树莓派终端,输入以下指令进入配置界面
sudo raspi-config 选择Interfacing Options -> Serial,关闭shell访问,打开硬件串口
安装库
- C
如果使用bookworm系统,只能使用lgpio库,bcm2835跟wiringPi无法安装与使用,python库可以不安装,直接运行程序即可
BCM2835
#打开树莓派终端,并运行以下指令 wget http://www.airspayce.com/mikem/bcm2835/bcm2835-1.71.tar.gz tar zxvf bcm2835-1.71.tar.gz cd bcm2835-1.71/ sudo ./configure && sudo make && sudo make check && sudo make install # 更多的可以参考官网:http://www.airspayce.com/mikem/bcm2835/
wiringPi
#打开树莓派终端,并运行以下指令 cd sudo apt-get install wiringpi #对于树莓派2019年5月之后的系统(早于之前的可不用执行),可能需要进行升级: wget https://project-downloads.drogon.net/wiringpi-latest.deb sudo dpkg -i wiringpi-latest.deb gpio -v # 运行gpio -v会出现2.52版本,如果没有出现说明安装出错 #Bullseye分支系统使用如下命令: git clone https://github.com/WiringPi/WiringPi cd WiringPi ./build gpio -v # 运行gpio -v会出现2.70版本,如果没有出现说明安装出错
lgpio
wget https://github.com/joan2937/lg/archive/master.zip unzip master.zip cd lg-master sudo make install # 更多的可以参考官网:https://github.com/gpiozero/lg
- python
sudo apt-get update sudo apt-get install ttf-wqy-zenhei sudo apt-get install python3-smbus sudo apt-get install python3-serial sudo pip install rpi_ws281x sudo pip install smbus2
下载例程
在树莓派终端运行:
sudo apt-get install p7zip wget https://www.waveshare.net/w/upload/3/3a/Pioneer600_code.zip unzip Pioneer600_code.zip sudo chmod 777 -R Pioneer600_code cd Pioneer600_code/
LED
cd LED
- bcm2835程序
进入Linux终端,在终端执行以下命令:
cd bcm2835 make sudo ./led
预期结果:可以看到LED1闪烁。按下Ctrl+C结束程序。
- wiringPi程序
进入Linux终端,在终端执行以下命令:
cd wiringPi make sudo ./led
预期结果:可以看到LED1闪烁。按下Ctrl+C结束程序。
呼吸灯:
sudo ./pwm
预期结果:可以看到LED1亮度逐渐改变。
按下Ctrl+C结束程序。
- sysfs程序
进入Linux终端,在终端执行以下命令:
cd fs make sudo ./led
预期结果:LED1闪烁10次后自动退出程序。按下Ctrl+C结束程序。
- python程序
在终端输入以下命令执行程序:
cd python sudo python led.py
预期结果:可以看到LED1闪烁。按下Ctrl+C结束程序。
呼吸灯:
sudo python pwm.py
预期结果:可以看到LED1亮度逐渐改变。按下Ctrl+C结束程序。
- shell程序
在终端输入以下命令执行程序:
cd shell sudo sh LED.sh 26 1 sudo sh LED.sh 26 0
预期结果:LED1状态根据输入的 0/ 1改变。
按键
对于树莓派4B而言,需要在/boot/config.txt中加入如下命令:gpio=20=pu,然后重启树莓派
- 在树莓派中断执行如下命令:
cd KEY
- bcm2835程序
进入Linux终端,在终端执行以下命令。
cd bcm2835 make sudo ./key
预期结果:
按下摇杆中间键,终端会输出以下信息。
Key Test Program!!!! KEY PRESS KEY PRESS KEY PRESS
按下Ctrl+C结束程序。
- wiringPi程序
进入Linux终端,在终端执行以下命令。
cd wiringPi make sudo ./key
预期结果:
按下摇杆中间键,终端会输出以下信息。
Key Test Program!!! KEY PRESS KEY PRESS KEY PRESS
按下Ctrl+C结束程序。
- python程序
在终端输入以下命令执行程序:
cd python sudo python key.py
预期结果:
按下摇杆中间键,终端会输出以下信息。
Key Test Program KEY PRESS KEY PRESS KEY PRESS
按下Ctrl+C结束程序。
PCF8574
cd PCF8574
- bcm2835程序
进入Linux终端,在终端执行以下命令。
cd bcm2835 make sudo ./led
预期结果:可以看到LED2闪烁。
按下Ctrl+C结束程序。
进入Linux终端,在终端执行以下命令。
make sudo ./pcf8574
预期结果:按下方向按键时,LED2会点亮,蜂鸣器响,终端会输出以下信息。
PCF8574 Test Program !!! up left down right
按下Ctrl+C结束程序。
- python程序
在终端输入以下命令执行程序:
cd python sudo python led.py
预期结果:可以看到LED2闪烁。
按下Ctrl+C结束程序。
在终端输入以下命令执行程序:
sudo python pcf8574.py
预期结果:按下方向按键时,LED2会点亮,蜂鸣器响,终端会输出以下信息。
PCF8574 Test Program !!! up left down right
按下Ctrl+C结束程序。
- fs程序
进入Linux终端,在终端执行以下命令。
cd fs make sudo ./led
预期结果:可以看到LED2闪烁。
按下Ctrl+C结束程序。
- wiringPi程序
进入Linux终端,在终端执行以下命令。
cd wirngPi make sudo ./led
预期结果:可以看到LED2闪烁。
按下Ctrl+C结束程序。
在终端输入以下命令执行程序:
sudo ./PCF8574
预期结果:按下方向按键时,LED2会点亮,蜂鸣器响,终端会输出以下信息。
PCF8574 Test Program !!! up left down right
按下Ctrl+C结束程序。
PCF8591
ADC
cd PCF8591/ADC
- bcm2835程序
在终端执行以下命令。
cd bcm2835 make clean make sudo ./pcf8591
预期结果:在终端打印四路AIN的输入电压。 按下Ctrl+C结束程序。
- python
在终端执行以下命令。
cd python sudo python pcf8591.py
预期结果:在终端打印AIN0的输入电压。 按下Ctrl+C结束程序。
- wiringPi
在终端执行以下命令。
cd wiringPi make clean make sudo ./pcf8591
预期结果:在终端打印AIN0的输入电压。 按下Ctrl+C结束程序。
DAC
cd PCF8591/DAC
- bcm2835程序
在终端执行以下命令。
cd bcm2835 make clean make sudo ./pcf8591
预期结果:DOUT电压从0V到3.3V逐渐增大。 按下Ctrl+C结束程序。
- python
在终端执行以下命令。
cd python sudo python pcf8591_DAC.py
预期结果:DOUT电压从0V到3.3V逐渐增大。 按下Ctrl+C结束程序。
- wiringPi
在终端执行以下命令。
cd wiringPi make clean make sudo ./pcf8591
预期结果:DOUT电压从0V到3.3V逐渐增大。 按下Ctrl+C结束程序。
BMP280
cd BMP280
- bcm2835程序
进入Linux终端,在终端执行以下命令。B
cd bcm2835 make sudo ./bmp280
预期结果:终端会输出以下信息。
BMP280 Test Program ... Temperature: 34.20 C Pressure: 1005.12 Pa
按下Ctrl+C结束程序。
- wiringPi程序
进入Linux终端,在终端执行以下命令。
cd wingPi make sudo ./bmp280
预期结果:终端会输出以下信息。
BMP280 Test Program ... Temperature: 34.20 C Pressure: 1005.12 Pa
按下Ctrl+C结束程序。
- python程序
在终端输入以下命令执行程序:
cd python sudo python BMP280_example.py
预期结果:终端会输出以下信息。
Temperature: 34.20 C Pressure: 1005.12 Pa
按下Ctrl+C结束程序。
DS3231
cd DS3231
- bcm2835程序
进入Linux终端,在终端执行以下命令。
cd bcm2835 make sudo ./ds3231
预期结果:终端会输出以下信息。
start.......... 2015/06/19 11:47:16 Fri 2015/06/19 11:47:17 Fri 2015/06/19 11:47:18 Fri 2015/06/19 11:47:19 Fri
按下Ctrl+C结束程序。
- wiringPi程序
cd wiringPi make sudo ./ds3231
预期结果:终端会输出以下信息。
start.......... 2015/06/19 11:47:16 Fri 2015/06/19 11:47:17 Fri 2015/06/19 11:47:18 Fri 2015/06/19 11:47:19 Fri
按下Ctrl+C结束程序。
- python程序
在终端输入以下命令执行程序:
cd python sudo python ds3231.py
预期结果:终端会输出以下信息。
2018/08/12 18:00:00 Wed 2018/08/12 18:00:01 Wed 2018/08/12 18:00:02 Wed 2018/08/12 18:00:03 Wed 2018/08/12 18:00:04 Wed
按下Ctrl+C结束程序。
DS18B20示例程序 - 温度传感器演示
DS18B20程序需在树莓派/boot/config.txt文件最后面添加dtoverlay=w1-gpio-pullup这一句,重启生效后才可使用,详细内容请看树莓派系列教程。
cd DS18B20
- sysfs程序
在终端输入以下命令执行程序:
cd fs sudo ./ds18b20
预期结果:终端会输出以下信息。
rom: 28-00000674869d temp : 30.437 °C temp : 30.375 °C
按下Ctrl+C结束程序。
- python程序
在终端输入以下命令执行程序:
cd python sudo python ds18b20.py
预期结果:终端会输出以下信息。
rom: 28-00000674869d C=29.687 F=85.437 C=29.687 F=85.437 C=29.687 F=85.437
按下Ctrl+C结束程序。
IRM示例程序-红外感应程序
cd IRM
- bcm2835程序
进入Linux终端,在终端执行以下命令。
cd bcm2835 make sudo ./irm
预期结果:按下红外遥控器按键,终端会输出信息接收到按键的键值。
irm test start: Get the key: 0x0c Get the key: 0x18 Get the key: 0x5e
按下Ctrl+C结束程序。
- wiringPi程序
进入Linux终端,在终端执行以下命令。
cd wiringPi make sudo ./irm
预期结果:按下红外遥控器按键,终端会输出信息接收到按键的键值。
irm test start: Get the key: 0x0c Get the key: 0x18 Get the key: 0x5e
按下Ctrl+C结束程序。
- python程序
在终端输入以下命令执行程序:
cd python sudo python irm.py
预期结果:按下红外遥控器按键,终端会输出信息接收到按键的键值。
IRM Test Start ... Get the key: 0x0c Get the key: 0x18 Get the key: 0x5e
按下Ctrl+C结束程序。
UART示例程序 - 发送串口接收到的数据
注意:树莓派的串口默认为终端调试,如要启用这个示例程序,那么您将无法通过串口调试树莓派。如果您之前是使用串口调试树莓派的话,使用这个示例程序之前应该使用其他方式调试树莓派,例如直接插入HDMI显示器或者使用SSH方式。
cd UART
- wiringPi程序
进入Linux终端,在终端执行以下命令。
cd wiringPi make sudo ./UART
预期结果:把扩展板的USB TO UART连接到电脑,设置电脑的串口软件(可使用PuTTY等软件监视串口),选择正确的串口号,波特率设置为115200。电脑通过串口向树莓派发送数据,树莓派在接收到这些数据之后,会把数据通过串口传送回电脑。因此,从电脑端向树莓派发送的数据会回显在电脑端的串口监视软件中。
- python程序
在终端输入以下命令执行程序:
cd python sudo python uart.py
预期结果:同上。
OLED示例程序
运行bcm的OLED程序后再运行wiringpi或者python的OLED程序,此时OLED会不能显示。只要重启系统之后再次执行示例程序,OLED就可以显示了。该问题可能和函数库有关,树莓派的bcm库比wiringpi库和python库“更加底层”。我们暂时没有一个好的解决办法。如果您有一个合适的解决方案,欢迎联系我们。联系方式见www.waveshare.net或者www.waveshare.com
- bcm2835程序
进入Linux终端,在终端执行以下命令。
cd bcm2835 make sudo ./oled
预期结果:OLED会显示微雪电子的LOGO两秒。然后显示当前系统时间。
按下Ctrl+C结束程序。
- wiringPi程序
进入Linux终端,在终端执行以下命令。
cd wiringPi make sudo ./oled
预期结果:OLED会显示微雪电子的LOGO两秒。然后显示当前系统时间。
按下Ctrl+C结束程序。
- python程序
使用python程序控制OLED需另外安装python-imaging库。把树莓派连接到网络,执行下面语句安装python-imaging库:
sudo apt-get install python-pil
预期结果:在终端输入以下不同命令执行程序会显示不同的内容。
cd python sudo python oled.py sudo python dispchar.py sudo python image.py sudo python animate.py sudo python waveshare.py
若出现No Module namde Image报错,将对应python例程中的import Image改成 from PIL import Image,同理ImageFont,ImageDraw模块报错也要改
更加详细教程请看树莓派系列教程。
Pioneer600连接传感器套件(需另外选购)
Pioneer600提供了4个外部传感器接口,因此您除了使用板载的传感器之外,还可以为它附加其他的传感器功能。
在使用外部传感器之前,您需要:
1) 把传感器套件连接到扩展板,同时扩展板需要插入到树莓派才能使用。
2) 提供AD/DA功能的PCF8591芯片使用了I2C接口,因此请确保安装好函数库并且启动了I2C内核驱动。
3) 您还需要下载产品的示例程序。这些示例程序都需要解压并放在/home/pi目录下(您可以通过U盘把它们复制到树莓派中)。
Color Sensor示例程序 - 颜色传感器演示
按照下表连接传感器和Pioneer600的管脚:
Color Sensor接口 | Pioneer600管脚 |
LED | 3.3V |
OUT | P0 |
S3 | D0( P21) |
S2 | D1(P22) |
S1 | D2(P23) |
S0 | D3(P26) |
GND | GND |
VCC | 3.3V |
终端执行:
cd Sensor/Color_Sensor sudo ./Color_Sensor
预期结果:程序会对芯片的白平衡进行调整,时间大概为2s,调整结束以后即可把三原色的频率经过终端输出,对照RGB颜色对照表,即可知道所测得颜色。
按下Ctrl+C结束程序。
Flame Sensor示例程序 - 火焰传感器演示
按照下表连接传感器和Pioneer600的管脚:
Sensor接口 | Pioneer600管脚 |
DOUT | D3 |
AOUT | A3 |
GND | GND |
VCC | 3.3V |
终端执行:
cd Sensor/General_Sensor sudo ./General_Sensor
预期结果:传感器靠近火焰时,模块上的信号指示灯点亮。传感器远离火焰时,模块上的信号指示灯熄灭。随着传感器与火焰距离的改变,终端输出的数据也会发生改变。
按下Ctrl+C结束程序。
注意:该传感器主要用于感知火焰,但其自身并不防火。因此使用时请与火焰保持一定距离,以免烧坏传感器。
Hall Sensor示例程序 - 霍尔传感器演示
按照下表连接传感器和Pioneer600的管脚:
Sensor接口 | Pioneer600管脚 |
DOUT | D3 |
AOUT | A3 |
GND | GND |
VCC | 3.3V |
终端执行:
cd Sensor/Hall_Sensor sudo ./Hall_Sensor
预期结果:传感器靠近磁铁时,模块上的信号指示灯点亮。传感器远离磁铁时,模块上的信号指示灯熄灭。随着传感器与磁铁接触与分离,终端输出的数据会发生相应改变。
按下Ctrl+C结束程序。
Infrared Reflective Sensor示例程序 - 一体式红外发送接收管演示
Sensor接口 | Pioneer600管脚 |
DOUT | D3 |
AOUT | A3 |
GND | GND |
VCC | 3.3V |
终端执行:
cd Sensor/Infrared_Reflective_Sensor sudo ./General_Sensor
预期结果:传感器靠近障碍物时,模块上的信号指示灯点亮。传感器远离障碍物时,模块上的信号指示灯熄灭。随着传感器与障碍物距离的变化,终端输出的数据也会发生改变。
按下Ctrl+C结束程序。
Laser Sensor示例程序 - 激光传感器演示
Sensor接口 | Pioneer600管脚 |
DOUT | D3 |
GND | GND |
VCC | 3.3V |
终端执行:
cd Sensor/Laser_Sensor sudo ./General_Sensor
预期结果:把障碍物置于激光传感器上方,此时模块上的信号指示灯会被点亮,把障碍物远离激光传感器上方,此时模块上的信号指示灯熄灭。由此可知激光传感器是否探测到障碍物。
按下Ctrl+C结束程序。
Moisture Sensor示例程序 - 土壤湿度传感器演示
按照下表连接传感器和Pioneer600的管脚:
Sensor接口 | Pioneer600管脚 |
DOUT | D3 |
AOUT | A3 |
GND | GND |
VCC | 3.3V |
终端执行:
cd Sensor/Moisture_Sensor sudo ./General_Sensor
预期结果:把传感器插入土壤中,然后逐渐往土壤中加水,终端输出数据变化。
按下Ctrl+C结束程序。
Rotation Sensor示例程序 - 旋转编码器演示
按照下表连接传感器和Pioneer600的管脚:
Sensor接口 | Pioneer600管脚 |
SIA | D2 |
SIB | D1 |
SW | D3 |
GND | GND |
VCC | 3.3V |
终端执行:
cd Sensor/Rotation_Sensor sudo ./Rotation_Sensor
预期结果:分别顺时针旋转,逆时针旋转和按下编码器,端口分别输出数据。
Turn right! Turn left! Turn down!
按下Ctrl+C结束程序。
Sound Sensor示例程序 - 声音探测器演示
按照下表连接传感器和Pioneer600的管脚:
Sensor接口 | Pioneer600管脚 |
DOUT | D3 |
AOUT | A3 |
GND | GND |
VCC | 3.3V |
终端执行:
cd Sensor/Sound_Sensor sudo ./Sound_Sensor
预期结果:当模块的咪头靠近发声源时,模块上的信号指示灯点亮。当模块的咪头远离发声源时,模块上的信号指示灯熄灭。随着传感器与发声源距离的变化,终端输出数据有相应的变化。
按下Ctrl+C结束程序。
Temperature-Humidity Sensor示例程序 - 温湿度传感器演示
按照下表连接传感器和Pioneer600的管脚:
Sensor接口 | Pioneer600管脚 |
DOUT | D3 |
GND | GND |
VCC | 3.3V |
终端执行:
cd Sensor/Temperature-Humidity_Sensorr sudo ./DHT11
预期结果:终端输出温度和湿度。
Humidity=33 Temperature=28
按下Ctrl+C结束程序。
MQ-5 Gas Sensor示例程序 - MQ-5气体传感器演示
按照下表连接传感器和Pioneer600的管脚:
Sensor接口 | Pioneer600管脚 |
DOUT | D3 |
AOUT | A3 |
GND | GND |
VCC | 3.3V |
终端执行:
cd Sensor/Temperature-Humidity_Sensorr sudo ./DHT11
预期结果:首先让传感器先预热一分钟。把传感器放入含有敏感气体(该气体传感器对液化气,天然气和煤气敏感)的装置中,模块上的信号指示灯点亮。把传感器从敏感气体装置中取出,模块上的信号指示灯熄灭。由此可判断敏感气体的浓度是否超标。
按下Ctrl+C结束程序。
Tilt Sensor示例程序 - 倾斜传感器演示
按照下表连接传感器和Pioneer600的管脚:
Sensor接口 | Pioneer600管脚 |
DOUT | D3 |
GND | GND |
VCC | 3.3V |
终端执行:
cd Sensor/Tilt_Sensorr sudo ./General_Sensor
预期结果:晃动模块或使模块倾斜时,模块上的信号指示灯点亮。模块平行放置时,模块上的信号指示灯熄灭。由此可判断模块的状态是否发生晃动或倾斜。
按下Ctrl+C结束程序。
UV Sensor示例程序 - 紫外线传感器演示
按照下表连接传感器和Pioneer600的管脚:
Sensor接口 | Pioneer600管脚 |
AOUT | A3 |
GND | GND |
VCC | 3.3V |
终端执行:
cd Sensor/UV_Sensorr sudo ./General_Sensor
预期结果:让传感器靠近阳光,终端输出的数据会发生改变。
按下Ctrl+C结束程序。
Liquid Level Sensor示例程序 - 液位传感器演示
按照下表连接传感器和Pioneer600的管脚:
Sensor接口 | Pioneer600管脚 |
AOUT | A3 |
GND | GND |
VCC | 3.3V |
终端执行:
cd Sensor/ Liquid_Level_Sensorr sudo ./General_Sensor
预期结果:把传感器插入一定深度的水中,终端输出的数据会发生改变。
按下Ctrl+C结束程序。
VisionFive2
因为官方库还未完善,所以目前只实现了部分功能
安装对应的库文件
apt-get install pip pip install VisionFive.gpio apt-get install python3-smbus apt-get install python3-pil apt-get install python3-spidev
下载程序
apt-get install unzip wget https://www.waveshare.net/w/upload/3/3a/Pioneer600_code.zip unzip Pioneer600_code.zip cd Pioneer600_code/VisionFive2/python/
LED
给权限
chmod -R 777 LED
进入目录
cd LED/
普通闪烁
python3 led.py
呼吸灯:
python3 pwm.py
shell程序
./LED 0 ./LED 1
使用了上述命令后,在使用python例程,会导致引脚无反应,可以选择重启 VisionFive2 或使用 clear 脚本,清除导出
./clear
PCF8574
进入目录
cd PCF8574/
led灯和蜂鸣器的使用
python3 led_beep.py
预期结果:LED2闪烁,蜂鸣器在LED2亮时开始响.按下Ctrl+C结束程序 按键使用
python3 key.py
预期结果:按下方向按键时,LED2会点亮,蜂鸣器响,终端会输出以下信息。按下Ctrl+C结束程序
PCF8574 Test Program !!! up left down right
PCF8591
进入目录
cd PCF8591/
ADC使用
python3 pcf8591_ADC.py
预期结果:显示ADC4通道的数据,1秒采集一次。按下Ctrl+C结束程序。 DAC使用
python3 pcf8591_DAC.py
预期结果:DOUT电压从0V到3.3V逐渐增大。 按下Ctrl+C结束程序。
BMP280
进入目录
cd BMP280/ Python3 BMP280_example.py
预期结果
BMP280 Test Program ... Temperature = 28.44 C Pressure = 101.801 kPa
DS3231
进入目录
cd DS3231/ python3 ds3231.py
预期结果
2023/03/12 18:00:00 Wed
OLED
进入目录
cd OLED/
安装
apt-get install python3-pil apt-get install spidev
使用
python3 oled.py python3 dispchar.py python3 image.py python3 animate.py python3 waveshare.py
预期效果,animate.py为动态图,其余的则是通过不同方法的显示的静态内容
资料
资料
提供文档、程序、数据手册等全套资料
文档
视频
程序
数据手册
软件
相关链接
认证资料