DVK512
| ||||||||||||||||||||
| ||||||||||||||||||||
说明
DVK512是一款Raspberry Pi A+/B+/2代B的外扩板,带有丰富的资源及扩展接口,支持各类外围模块的接入。
产品简介
特点
- 板载USB TO UART,方便进行串口调试。
- 板载4个按键和4个LED。
- 板载RTC。
- 板载LCD1602接口。
- 板载UART、SPI、I2C、8I/Os接口,兼容Waveshare标准,方便接入各种外围。
资源介绍
树莓派使用
提供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访问,打开硬件串口
安装库
如果使用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 updata 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 apt-get install p7zip wget http://www.waveshare.net/w/upload/7/75/DVK512.tar.gz tar zxvf DVK512.tar.gz cd DVK512/
LED实验
- bcm2835程序:
1) 在终端执行:
pi@raspberrypi ~/DVK512/LED/bcm2835 $ sudo ./led
2) 可以看到4个LED交替闪烁,
3) 按键盘Ctrl+C结束实验。
- wiringPi程序:
1) 在终端执行:
pi@raspberrypi ~/DVK512/LED/wiringPi $ sudo ./led
2) 可以看到4个LED交替闪烁。
3) 按键盘Ctrl+C结束实验。
- Python程序:
1) 在终端执行:
pi@raspberrypi ~/DVK512/LED/python $ sudo python led.py
2) 可以看到4个LED交替闪烁。
3) 按键盘Ctrl+C结束实验。
- shell程序:
1) 在终端执行以下命令点亮LED0
pi@raspberrypi ~/DVK512/LED/shell $ sudo ./LED.sh 26 1
2) 在终端执行以下命令熄灭LED0
pi@raspberrypi ~/DVK512/LED/shell $ sudo ./LED.sh 26 0
按键实验
- bcm2835程序:
1) 在终端执行:
pi@raspberrypi ~/DVK512/KEY/bcm2835 $ sudo ./key
2) 终端会显示是否有按键被按下。
3) 按键盘Ctrl+C结束实验。
- wiringPi程序:
1) 在终端执行:
pi@raspberrypi ~/DVK512/KEY/wiringPi $ sudo ./key
2) 终端会显示是否有按键被按下。
3) 按键盘Ctrl+C结束实验。
- Python程序:
1) 在终端执行:
pi@raspberrypi ~/DVK512/KEY/python $ sudo python key.py
2) 终端会显示是否有按键被按下。
3) 按键盘Ctrl+C结束实验。
8路电平转换模块实验
1) 将Logic Level Converter接入 DVK512的8I/Os接口(注意VCCA与8I/Os接口的3V3对应),使用杜邦线连接:
Logic Level Converter | DVK512 |
VCCB | 5V |
GND | GND |
B0 | LED0 |
B1 | LED2 |
B3 | LED3 |
B4 | KEY0 |
B5 | KEY1 |
B6 | KEY2 |
B7 | DEY3 |
pi@raspberrypi ~/DVK512/Logic-Converter/bcm2835 $ sudo ./Logic_Converter
执行wringPi程序
pi@raspberrypi ~/DVK512/Logic-Converter/wiringPi $ sudo ./Logic_Converter
执行python程序
pi@raspberrypi ~/DVK512/Logic-Converter/python $ sudo python Logic_Converter.py
3) 按DVK512上的KEY0-KEY3,相应的LED会亮。
4) 按键盘Ctrl+C结束实验。
摇杆实验
1) 将Mix Board接入8I/Os接口:
2) 在终端执行对应的程序:
执行bcm2835程序
pi@raspberrypi ~/DVK512/JOYSTICK/bcm2835 $ sudo ./joystick
执行wringPi程序
pi@raspberrypi ~/DVK512/JOYSTICK/wiringPi $ sudo ./joystick
执行python程序
pi@raspberrypi ~/DVK512/JOYSTICK/python $ sudo python joystick.py
3) 按下或者摇动Mix Board上面的摇杆,终端会有相应的显示。
蜂鸣器与PWM实验
1) 将Mix Board接入8I/Os接口。
2) 在终端执行对应的程序:
执行wringPi程序
pi@raspberrypi ~/DVK512/Buzzer_PWM/wiringPi $ sudo ./Buzzer
执行python程序
pi@raspberrypi ~/DVK512/Buzzer_PWM/python $ sudo python buzzer.py
3) Mix Board上的蜂鸣器响。
4) 按键盘Ctrl+C结束实验
DS18B20
1) 将Mix Board接入8I/Os接口。
2) 将DS18B20插到Mix Board的ONE-WIRE接口上,如下图红框所示:
危险:请务必检查DS18B20是否接反。如果接反将会产生上百摄氏度的高温,此时如果用手指直接触碰DS18B20的话,可能会烫伤手指。请务必保证DS18B20有弧度的一面和Mix Board上的图示相对应,如图 4. 将DS18B20插到Mix Board的ONE-WIRE接口上红框中所示。
3) 在终端执行对应的程序:
执行sysfs程序
pi@raspberrypi ~/DVK512/DS18B20/fs $ sudo ./ds18b20
执行python程序
pi@raspberrypi ~/DVK512/DS18B20/python $ sudo python ds18b20.py
4) 终端上会把当前环境的温度打印出来。
(注:关于DS18B20的详细教程可以查看树莓派系列教程)
红外遥控
1) 将Mix Board接入8I/Os接口。
2) 将红外接收头插到Mix Board的IRM接口上,如下图红框所示:
注意:请务必保证红外接收头有弧度的一面和Mix Board上的图示相对应,将红外接收头插到Mix Board的IRM接口上 红框中所示。
3) 在终端执行对应的程序:
执行bcm2835程序
pi@raspberrypi ~/DVK512/IRM/bcm2835 $ sudo ./irm
执行wiringPi程序
pi@raspberrypi ~/DVK512/IRM/wiringPi $ sudo ./irm
执行python程序
pi@raspberrypi ~/DVK512/IRM/python $ sudo python irm.py
4) 按下配套的红外遥控器上的按键,终端会把解码的红外信号以16进制打印出来,如下图所示:
5) 按键盘Ctrl+C结束实验。
LCD1602实验
1) 将LCD1602插到DVK512的LCD1602接口,如下图所示:
2) 在终端执行:
pi@raspberrypi ~/DVK512/LCD1602 $ sudo ./lcd1602
3) LCD1602会显示。如果没有显示,用户可以调节1602的电位器(如上图红框所示)。
PCF8563 RTC 实验
1) 设置DVK512的跳线:
- RTC_SDA连接SDA
- RTC_SCL连接SCL
2) 安装i2c-tools
如镜像没安装i2c-tools,则执行以下命令:
root@ raspberrypi:/# apt-get install i2c-tools
3) 在终端执行:
root@ raspberrypi:/# i2cdetect -y 1
4) 终端会打印出PCF8563接入树莓派B+的地址,下图红框中显示51,说明树莓派已经识别到PCF8563了。
5) 在终端执行对应的程序:
执行bcm2835程序
pi@raspberrypi ~/DVK512/PCF8563/bcm2835 $ sudo ./pcf8563
执行wiringPi程序
pi@raspberrypi ~/DVK512/PCF8563/wiringPi $ sudo ./pcf8563
执行python程序
pi@raspberrypi ~/DVK512/PCF8563/python $ sudo ./pcf8563.py
终端显示pcf8563的时间
PCF8591 AD实验
1) 将PCF8591模块接到DVK512的I2C接口上。
2) 使用杜邦线连接PCF8591模块上的AIN0与AD0管脚,如下图所示:
连接PCF8591模块上的AIN0与AD0管脚
3) 在终端执行对应的程序:
执行bcm2835程序
pi@raspberrypi ~/DVK512/PCF8591/ADC/bcm2835 $ sudo ./pcf8591
执行wiringPi程序
pi@raspberrypi ~/DVK512/PCF8591/ADC/wiringPi $ sudo ./pcf8591
执行python程序
pi@raspberrypi ~/DVK512/PCF8591/ADC/python $ sudo python pcf8591.py
4) 终端将打印出ADC0-ADC3(对应PCF8591模块上的AIN0-AIN3)的AD值,如下图:
终端打印ADC0-ADC3的AD值
PCF8591 DA实验
1) 将PCF8591模块接到DVK512的I2C接口上。
2) 连接PCF8591模块AOUT管脚与DVK512的LED管脚,如下图所示
连接PCF8591模块AOUT管脚与DVK512的LED管脚
3) 在终端执行对应的程序:
执行bcm2835程序
pi@raspberrypi ~/DVK512/PCF8591/DAC/bcm2835 $ sudo ./pcf8591
执行wiringPi程序
pi@raspberrypi ~/DVK512/PCF8591/DAC/wiringPi $ sudo ./pcf8591
执行python程序
pi@raspberrypi ~/DVK512/PCF8591/DAC/python $ sudo python pcf8591.py
4) 可以看到终端开始打印数模转换值,此时PCF8591模块AOUT管脚有相应的电平变化,从而使LED亮度发生变化。
重力加速度与磁力计LSM303DLHC 模块
1) 将LSM303DLHC 模块接到I2C接口,如下图所示:
图 12. 将LSM303DLHC接到I2C接口
注意:LSM303DLHC模块有两排管脚,此处连接到DVK512的是SDA和SCL所在的那一排管脚。
2) 在终端执行对应的程序:
执行bcm2835程序
pi@raspberrypi ~/DVK512/LSM303DLHC/bcm2835 $ sudo ./LSM303DLHC
执行wiringPi程序
pi@raspberrypi ~/DVK512/LSM303DLHC/wiringPi $ sudo ./LSM303DLHC
执行python程序
pi@raspberrypi ~/DVK512/LSM303DLHC/python $ sudo python LSM303DLHC.py
3) 可以看到终端显示重力加速度与磁力计的值,如下图所示:
终端打印重力加速度与磁力计的值
角速度传感器L3G4200D 模块
1) 将L3G4200D 模块接到SPI接口。
2) 在终端执行对应的程序:
执行bcm2835程序
pi@raspberrypi ~/DVK512/L3G4200D/bcm2835 $ sudo ./L3G4200D
执行wiringPi程序
pi@raspberrypi ~/DVK512/L3G4200D/wiringPi $ sudo ./L3G4200D
执行python程序
pi@raspberrypi ~/DVK512/L3G4200D/python $ sudo python L3G4200D.py
串口实验
(注:树莓派的串口默认为终端调试,如要启用串口功能,需关闭串口串口终端调试功能)
1) 通过mini USB线把DVK512的UART TO USB接口连接到电脑。
2) 在终端执行对应的程序:
执行wiringPi程序
pi@raspberrypi ~/DVK512/UART/wiringPi $ sudo ./UART
执行python程序
pi@raspberrypi ~/DVK512/UART/python $ sudo ./uart.py
3) 在windows中打开串口助手,选择正确的串口号,波特率设置为115200。
发送字符会回显到串口助手中。
GPS实验
1) 关闭串口终端调试功能。
2) 插入GPS模块到UART接口,同时需要拔掉UART JMP处跳线。
3) 在终端执行以下命令设置波特率(系统重启后,串口波特率将会恢复默认的115200)
root@raspberrypi:/# stty -F /dev/ttyAMA0 38400 root@raspberrypi:/# gpsd /dev/ttyAMA0 -F /var/run/gpsd.sock
4) 在终端执行以下命令,打开Linux系统自带的GPS软件:
root@raspberrypi:/# cgps -s
资料
文档
程序
镜像
软件
数据手册
相关链接
FAQ
更新需按照以下方式进行,否则可能导致镜像无法运行:
sudo apt-mark hold raspberrypi-bootloader sudo apt-get update sudo apt-get upgrade
DVK512 上面的LCD接口支持3.3V,请使用3.3V的LCD