Pioneer600
| ||||||||||||||||||||||
| ||||||||||||||||||||||
|
目录
- 1 产品介绍
- 2 树莓派使用
- 2.1 开启SPI接口
- 2.2 打开I2C接口
- 2.3 开启Uart接口
- 2.4 安装库
- 2.5 下载例程
- 2.6 LED
- 2.7 按键
- 2.8 PCF8574
- 2.9 BMP280
- 2.10 DS3231
- 2.11 DS18B20示例程序 - 温度传感器演示
- 2.12 IRM示例程序-红外感应程序
- 2.13 UART示例程序 - 发送串口接收到的数据
- 2.14 OLED示例程序
- 2.15 Pioneer600连接传感器套件(需另外选购)
- 2.16 Color Sensor示例程序 - 颜色传感器演示
- 2.17 Flame Sensor示例程序 - 火焰传感器演示
- 2.18 Hall Sensor示例程序 - 霍尔传感器演示
- 2.19 Infrared Reflective Sensor示例程序 - 一体式红外发送接收管演示
- 2.20 Laser Sensor示例程序 - 激光传感器演示
- 2.21 Moisture Sensor示例程序 - 土壤湿度传感器演示
- 2.22 Rotation Sensor示例程序 - 旋转编码器演示
- 2.23 Sound Sensor示例程序 - 声音探测器演示
- 2.24 Temperature-Humidity Sensor示例程序 - 温湿度传感器演示
- 2.25 MQ-5 Gas Sensor示例程序 - MQ-5气体传感器演示
- 2.26 Tilt Sensor示例程序 - 倾斜传感器演示
- 2.27 UV Sensor示例程序 - 紫外线传感器演示
- 2.28 Liquid Level Sensor示例程序 - 液位传感器演示
- 2.29 认证资料
- 2.30 FAQ
产品介绍
Pionner600是一款Raspberry Pi A+ / B+ / 2 / 3代B的外围扩展板,带有丰富的板载资源,是你学习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(爽一下)
- 【传感器接口】方便接入各类传感器(爽歪歪)
资源介绍
- Raspberry Pi GPIO接口
- USB TO UART接口
- AD/DA输入输出接口(接线端子)
- ONE-WIRE接口
- 传感器接口
- 0.96寸OLED
- 蜂鸣器
- USB转串口芯片
- 8位精度AD/DA芯片,I2C接口
- 压力传感器,I2C接口
- I/O扩展芯片,I2C接口
- 高精度RTC芯片,I2C接口
- 电源LED
- 用户LED
- 五向摇杆
- LFN0038K红外接收头
树莓派使用
开启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访问,打开硬件串口
然后重启树莓派:
sudo reboot
安装库
- python
sudo apt-get updata sudo apt-get install ttf-wqy-zenhei sudo apt-get install python-pip sudo pip install RPi.GPIO sudo pip install spidev sudo apt-get install python-smbus sudo apt-get install python-serial sudo pip install rpi_ws281x
下载例程
在树莓派终端运行:
sudo apt-get install p7zip wget http://wiki.diustou.com/w/upload/a/ad/Pioneer600_code.7z 7zr x Pioneer600_code.7z -r -o./Pioneer600_code sudo chmod 777 -R Pioneer600_code cd Pioneer600_code/Raspberry\ Pi/
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 wiringPi make sudo ./led
预期结果:LED1闪烁10次后自动退出程序。按下Ctrl+C结束程序。
- python程序
在终端输入以下命令执行程序:
cd python sudo python led.py
预期结果:可以看到LED1闪烁。按下Ctrl+C结束程序。
呼吸灯:
sudo python pwm.py
预期结果:可以看到LED1亮度逐渐改变。按下Ctrl+C结束程序。
按键
对于树莓派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 udo ./led
预期结果:可以看到LED2闪烁。
按下Ctrl+C结束程序。
进入Linux终端,在终端执行以下命令。
make sudo ./LED
预期结果:可以看到LED2闪烁。
按下Ctrl+C结束程序。
BMP280
cd BMP280
- bcm2835程序
进入Linux终端,在终端执行以下命令。B
cd bcm2835 make sudo ./BMP280
预期结果:终端会输出以下信息。
BMP280 Test Program ... Temperature: 34.20 C Pressure: 1005.12 Pa Altitude: 67.66 m
按下Ctrl+C结束程序。
- wiringPi程序
进入Linux终端,在终端执行以下命令。
cd wingPi make sudo ./BMP280
预期结果:终端会输出以下信息。
BMP280 Test Program ... Temperature: 34.20 C Pressure: 1005.12 Pa Altitude: 67.66 m
按下Ctrl+C结束程序。
- python程序
在终端输入以下命令执行程序:
cd python sudo python BMP280_example.py
预期结果:终端会输出以下信息。
Temperature: 34.20 C Pressure: 1005.12 Pa Altitude: 67.66 m
按下Ctrl+C结束程序。
DS3231
cd DS3231
- bcm2835程序
进入Linux终端,在终端执行以下命令。
cd bcm2835 make sudo ./ds3231
预期结果:终端会输出以下信息。
start.......... 2015/08/12 18:00:00 Wed 2015/08/12 18:00:01 Wed 2015/08/12 18:00:02 Wed 2015/08/12 18:00:03 Wed
按下Ctrl+C结束程序。
- wiringPi程序
cd wiringPi make sudo ./ds3231
预期结果:终端会输出以下信息。
start.......... 2015/08/12 18:00:00 Wed 2015/08/12 18:00:01 Wed 2015/08/12 18:00:02 Wed 2015/08/12 18:00:03 Wed
按下Ctrl+C结束程序。
- python程序
在终端输入以下命令执行程序:
cd python sudo python ds3231.py
预期结果:终端会输出以下信息。
2015/08/12 18:00:00 Wed 2015/08/12 18:00:01 Wed 2015/08/12 18:00:02 Wed 2015/08/12 18:00:03 Wed 2015/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示例程序-红外感应程序
- 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库“更加底层”。我们暂时没有一个好的解决办法。如果您有一个合适的解决方案,欢迎联系我们。联系方式见wiki.diustou.com或者www.waveshare.com
- bcm2835程序
进入Linux终端,在终端执行以下命令。
cd bcm2835 make sudo ./main
预期结果:OLED会显示微雪电子的LOGO两秒。然后显示当前系统时间。
按下Ctrl+C结束程序。
- wiringPi程序
进入Linux终端,在终端执行以下命令。
cd wiringPi make sudo ./main
预期结果: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
更加详细教程请看树莓派系列教程。
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 | D3( P26) |
S2 | D2(P23) |
D1(P22) | |
S0 | D0(P21) |
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 | D0 |
SIB | D1 |
SW | D2 |
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结束程序。
文档
视频
程序
数据手册
软件
相关链接
- 树莓派系列教程:人生若只如初见
- 树莓派系列教程:烧写镜像
- 树莓派系列教程:远程登录树莓派(SSH登陆/远程桌面登陆/串口登陆)
- 树莓派系列教程:更换软件源
- 树莓派系列教程:访问树莓派
- 树莓派系列教程:配置WiFi
- 树莓派系列教程:系统配置(raspi-config)
- 树莓派系列教程:中文输入法
- 树莓派系列教程:摄像头
- 树莓派系列教程:Linux常用命令以及vi/vim编辑器
- 树莓派系列教程:文件共享(samba)
- 树莓派系列教程:wiringPi、bcm2835、python库安装
- 树莓派系列教程:如何点亮一个LED灯(上)
- 树莓派系列教程:如何点亮一个LED灯(下)
- 树莓派系列教程:按键
- 树莓派系列教程:I2C
- 树莓派系列教程:I2C编程
- 树莓派系列教程:I2C总线控制BMP180
- 树莓派系列教程:Serial串口
- 树莓派系列教程:红外遥控
- 树莓派系列教程:RTC
- 树莓派系列教程:PCF8591 AD/DA
- 树莓派系列教程:SPI
- 树莓派系列教程:物联网之MQTT
- Alphabot树莓派教程:变身路由器
- Alphabot树莓派教程:刷LEDE(OpenWRT)系统变身路由器
- 树莓派引脚对照表
- SIM868 ppp拨号上网