Pionner600是一款Raspberry Pi A+ / B+ / 2 / 3代B的外围扩展板,带有丰富的板载资源,是你学习Raspberry Pi控制编程的好拍档。
- sudo raspi-config
- 选择Interfacing Options -> SPI -> Yes 开启SPI接口
然后重启树莓派:
- sudo reboot
请确保SPI没有被其他的设备占用,你可以在/boot/config.txt中间检查
在终端执行:
- sudo raspi-config
- 选择 Interfacing Options -> I2C ->yes 启动 i2C 内核驱动
然后重启树莓派:
- sudo reboot
打开树莓派终端,输入以下指令进入配置界面
- sudo raspi-config
- 选择Interfacing Options -> Serial,关闭shell访问,打开硬件串口
然后重启树莓派:
- sudo reboot
- 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://www.waveshare.net/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/
- cd LED
进入Linux终端,在终端执行以下命令:
- cd bcm2835
- make
- sudo ./led
预期结果:可以看到LED1闪烁。按下Ctrl+C结束程序。
进入Linux终端,在终端执行以下命令:
- cd wiringPi
- make
- sudo ./led
预期结果:可以看到LED1闪烁。按下Ctrl+C结束程序。
呼吸灯:
- sudo ./pwm
预期结果:可以看到LED1亮度逐渐改变。
按下Ctrl+C结束程序。
进入Linux终端,在终端执行以下命令:
- cd wiringPi
- make
- sudo ./led
预期结果:LED1闪烁10次后自动退出程序。按下Ctrl+C结束程序。
在终端输入以下命令执行程序:
- 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
进入Linux终端,在终端执行以下命令。
- cd bcm2835
- make
- sudo ./key
预期结果:
按下摇杆中间键,终端会输出以下信息。
- Key Test Program!!!!
- KEY PRESS
- KEY PRESS
- KEY PRESS
按下Ctrl+C结束程序。
进入Linux终端,在终端执行以下命令。
- cd wiringPi
- make
- sudo ./key
预期结果:
按下摇杆中间键,终端会输出以下信息。
- Key Test Program!!!
- KEY PRESS
- KEY PRESS
- KEY PRESS
按下Ctrl+C结束程序。
在终端输入以下命令执行程序:
- cd python
- sudo python key.py
预期结果:
按下摇杆中间键,终端会输出以下信息。
- Key Test Program
- KEY PRESS
- KEY PRESS
- KEY PRESS
按下Ctrl+C结束程序。
- cd PCF8574
进入Linux终端,在终端执行以下命令。
- cd bcm2835
- make
- sudo ./led
预期结果:可以看到LED2闪烁。
按下Ctrl+C结束程序。
进入Linux终端,在终端执行以下命令。
- make
- sudo ./pcf8574
预期结果:按下方向按键时,LED2会点亮,蜂鸣器响,终端会输出以下信息。
- PCF8574 Test Program !!!
- up
- left
- down
- right
按下Ctrl+C结束程序。
在终端输入以下命令执行程序:
- cd python
- sudo python led.py
预期结果:可以看到LED2闪烁。
按下Ctrl+C结束程序。
在终端输入以下命令执行程序:
- sudo python pcf8574.py
预期结果:按下方向按键时,LED2会点亮,蜂鸣器响,终端会输出以下信息。
- PCF8574 Test Program !!!
- up
- left
- down
- right
按下Ctrl+C结束程序。
进入Linux终端,在终端执行以下命令。
- cd fs
- make
- sudo ./led
预期结果:可以看到LED2闪烁。
按下Ctrl+C结束程序。
进入Linux终端,在终端执行以下命令。
- cd wirngPi
- make
- udo ./led
预期结果:可以看到LED2闪烁。
按下Ctrl+C结束程序。
进入Linux终端,在终端执行以下命令。
- make
- sudo ./LED
预期结果:可以看到LED2闪烁。
按下Ctrl+C结束程序。
- cd BMP280
进入Linux终端,在终端执行以下命令。B
- cd bcm2835
- make
- sudo ./BMP280
预期结果:终端会输出以下信息。
- BMP280 Test Program ...
- Temperature: 34.20 C
- Pressure: 1005.12 Pa
- Altitude: 67.66 m
按下Ctrl+C结束程序。
进入Linux终端,在终端执行以下命令。
- cd wingPi
- make
- sudo ./BMP280
预期结果:终端会输出以下信息。
- BMP280 Test Program ...
- Temperature: 34.20 C
- Pressure: 1005.12 Pa
- Altitude: 67.66 m
按下Ctrl+C结束程序。
在终端输入以下命令执行程序:
- cd python
- sudo python BMP280_example.py
预期结果:终端会输出以下信息。
- Temperature: 34.20 C
- Pressure: 1005.12 Pa
- Altitude: 67.66 m
按下Ctrl+C结束程序。
cd DS3231
进入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结束程序。
- 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结束程序。
在终端输入以下命令执行程序:
- 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程序需在树莓派/boot/config.txt文件最后面添加dtoverlay=w1-gpio-pullup这一句,重启生效后才可使用,详细内容请看树莓派系列教程。
- cd DS18B20
在终端输入以下命令执行程序:
- cd fs
- sudo ./ds18b20
预期结果:终端会输出以下信息。
- rom: 28-00000674869d
- temp : 30.437 °C
- temp : 30.375 °C
按下Ctrl+C结束程序。
在终端输入以下命令执行程序:
- 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结束程序。
进入Linux终端,在终端执行以下命令。
- cd bcm2835
- make
- sudo ./irm
预期结果:按下红外遥控器按键,终端会输出信息接收到按键的键值。
- irm test start:
- Get the key: 0x0c
- Get the key: 0x18
- Get the key: 0x5e
按下Ctrl+C结束程序。
进入Linux终端,在终端执行以下命令。
- cd wiringPi
- make
- sudo ./irm
预期结果:按下红外遥控器按键,终端会输出信息接收到按键的键值。
- irm test start:
- Get the key: 0x0c
- Get the key: 0x18
- Get the key: 0x5e
按下Ctrl+C结束程序。
在终端输入以下命令执行程序:
- cd python
- sudo python irm.py
预期结果:按下红外遥控器按键,终端会输出信息接收到按键的键值。
- IRM Test Start ...
- Get the key: 0x0c
- Get the key: 0x18
- Get the key: 0x5e
按下Ctrl+C结束程序。
注意:树莓派的串口默认为终端调试,如要启用这个示例程序,那么您将无法通过串口调试树莓派。如果您之前是使用串口调试树莓派的话,使用这个示例程序之前应该使用其他方式调试树莓派,例如直接插入HDMI显示器或者使用SSH方式。
- cd UART
进入Linux终端,在终端执行以下命令。
- cd wiringPi
- make
- sudo ./UART
预期结果:把扩展板的USB TO UART连接到电脑,设置电脑的串口软件(可使用PuTTY等软件监视串口),选择正确的串口号,波特率设置为115200。电脑通过串口向树莓派发送数据,树莓派在接收到这些数据之后,会把数据通过串口传送回电脑。因此,从电脑端向树莓派发送的数据会回显在电脑端的串口监视软件中。
在终端输入以下命令执行程序:
- cd python
- sudo python uart.py
预期结果:同上。
运行bcm的OLED程序后再运行wiringpi或者python的OLED程序,此时OLED会不能显示。只要重启系统之后再次执行示例程序,OLED就可以显示了。该问题可能和函数库有关,树莓派的bcm库比wiringpi库和python库“更加底层”。我们暂时没有一个好的解决办法。如果您有一个合适的解决方案,欢迎联系我们。联系方式见www.waveshare.net或者www.waveshare.com
进入Linux终端,在终端执行以下命令。
- cd bcm2835
- make
- sudo ./main
预期结果:OLED会显示微雪电子的LOGO两秒。然后显示当前系统时间。
按下Ctrl+C结束程序。
进入Linux终端,在终端执行以下命令。
- cd wiringPi
- make
- sudo ./main
预期结果:OLED会显示微雪电子的LOGO两秒。然后显示当前系统时间。
按下Ctrl+C结束程序。
使用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提供了4个外部传感器接口,因此您除了使用板载的传感器之外,还可以为它附加其他的传感器功能。
在使用外部传感器之前,您需要:
1) 把传感器套件连接到扩展板,同时扩展板需要插入到树莓派才能使用。
2) 提供AD/DA功能的PCF8591芯片使用了I2C接口,因此请确保安装好函数库并且启动了I2C内核驱动。
3) 您还需要下载产品的示例程序。这些示例程序都需要解压并放在/home/pi目录下(您可以通过U盘把它们复制到树莓派中)。
按照下表连接传感器和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结束程序。
按照下表连接传感器和Pioneer600的管脚:
Sensor接口 | Pioneer600管脚 |
DOUT | D3 |
AOUT | A3 |
GND | GND |
VCC | 3.3V |
终端执行:
- cd Sensor/General_Sensor
- sudo ./General_Sensor
预期结果:传感器靠近火焰时,模块上的信号指示灯点亮。传感器远离火焰时,模块上的信号指示灯熄灭。随着传感器与火焰距离的改变,终端输出的数据也会发生改变。
按下Ctrl+C结束程序。
注意:该传感器主要用于感知火焰,但其自身并不防火。因此使用时请与火焰保持一定距离,以免烧坏传感器。
按照下表连接传感器和Pioneer600的管脚:
Sensor接口 | Pioneer600管脚 |
DOUT | D3 |
AOUT | A3 |
GND | GND |
VCC | 3.3V |
终端执行:
- cd Sensor/Hall_Sensor
- sudo ./Hall_Sensor
预期结果:传感器靠近磁铁时,模块上的信号指示灯点亮。传感器远离磁铁时,模块上的信号指示灯熄灭。随着传感器与磁铁接触与分离,终端输出的数据会发生相应改变。
按下Ctrl+C结束程序。
Sensor接口 | Pioneer600管脚 |
DOUT | D3 |
AOUT | A3 |
GND | GND |
VCC | 3.3V |
终端执行:
- cd Sensor/Infrared_Reflective_Sensor
- sudo ./General_Sensor
预期结果:传感器靠近障碍物时,模块上的信号指示灯点亮。传感器远离障碍物时,模块上的信号指示灯熄灭。随着传感器与障碍物距离的变化,终端输出的数据也会发生改变。
按下Ctrl+C结束程序。
Sensor接口 | Pioneer600管脚 |
DOUT | D3 |
GND | GND |
VCC | 3.3V |
终端执行:
- cd Sensor/Laser_Sensor
- sudo ./General_Sensor
预期结果:把障碍物置于激光传感器上方,此时模块上的信号指示灯会被点亮,把障碍物远离激光传感器上方,此时模块上的信号指示灯熄灭。由此可知激光传感器是否探测到障碍物。
按下Ctrl+C结束程序。
按照下表连接传感器和Pioneer600的管脚:
Sensor接口 | Pioneer600管脚 |
DOUT | D3 |
AOUT | A3 |
GND | GND |
VCC | 3.3V |
终端执行:
- cd Sensor/Moisture_Sensor
- sudo ./General_Sensor
预期结果:把传感器插入土壤中,然后逐渐往土壤中加水,终端输出数据变化。
按下Ctrl+C结束程序。
按照下表连接传感器和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结束程序。
按照下表连接传感器和Pioneer600的管脚:
Sensor接口 | Pioneer600管脚 |
DOUT | D3 |
AOUT | A3 |
GND | GND |
VCC | 3.3V |
终端执行:
- cd Sensor/Sound_Sensor
- sudo ./Sound_Sensor
预期结果:当模块的咪头靠近发声源时,模块上的信号指示灯点亮。当模块的咪头远离发声源时,模块上的信号指示灯熄灭。随着传感器与发声源距离的变化,终端输出数据有相应的变化。
按下Ctrl+C结束程序。
按照下表连接传感器和Pioneer600的管脚:
Sensor接口 | Pioneer600管脚 |
DOUT | D3 |
GND | GND |
VCC | 3.3V |
终端执行:
- cd Sensor/Temperature-Humidity_Sensorr
- sudo ./DHT11
预期结果:终端输出温度和湿度。
- Humidity=33
- Temperature=28
按下Ctrl+C结束程序。
按照下表连接传感器和Pioneer600的管脚:
Sensor接口 | Pioneer600管脚 |
DOUT | D3 |
AOUT | A3 |
GND | GND |
VCC | 3.3V |
终端执行:
- cd Sensor/Temperature-Humidity_Sensorr
- sudo ./DHT11
预期结果:首先让传感器先预热一分钟。把传感器放入含有敏感气体(该气体传感器对液化气,天然气和煤气敏感)的装置中,模块上的信号指示灯点亮。把传感器从敏感气体装置中取出,模块上的信号指示灯熄灭。由此可判断敏感气体的浓度是否超标。
按下Ctrl+C结束程序。
按照下表连接传感器和Pioneer600的管脚:
Sensor接口 | Pioneer600管脚 |
DOUT | D3 |
GND | GND |
VCC | 3.3V |
终端执行:
- cd Sensor/Tilt_Sensorr
- sudo ./General_Sensor
预期结果:晃动模块或使模块倾斜时,模块上的信号指示灯点亮。模块平行放置时,模块上的信号指示灯熄灭。由此可判断模块的状态是否发生晃动或倾斜。
按下Ctrl+C结束程序。
按照下表连接传感器和Pioneer600的管脚:
Sensor接口 | Pioneer600管脚 |
AOUT | A3 |
GND | GND |
VCC | 3.3V |
终端执行:
- cd Sensor/UV_Sensorr
- sudo ./General_Sensor
预期结果:让传感器靠近阳光,终端输出的数据会发生改变。
按下Ctrl+C结束程序。
按照下表连接传感器和Pioneer600的管脚:
Sensor接口 | Pioneer600管脚 |
AOUT | A3 |
GND | GND |
VCC | 3.3V |
终端执行:
- cd Sensor/ Liquid_Level_Sensorr
- sudo ./General_Sensor
预期结果:把传感器插入一定深度的水中,终端输出的数据会发生改变。
按下Ctrl+C结束程序。