高级会员
- 积分
- 762
- 金钱
- 762
- 注册时间
- 2021-5-18
- 在线时间
- 28 小时
|
1.实验目的
了解蓝牙模块和树莓派板载蓝牙的通信方式;
了解树莓派串口控制方法;
掌握树莓派的编程方法;
2.实验原理
本实验以树莓派开发板作为控制板,通过树莓派的USB母座连接USB转串口模块,再使用板载蓝牙连接蓝牙模块,通过蓝牙模块发送控制信息,板载蓝牙模块接收并点亮LED模块上不同位置的灯。例如,树莓派通过板载蓝牙,将序号 1发送给HC-05蓝牙模块;HC-05蓝牙模块,通过USB转串口模块,与树莓派串口通信,根据序号获取相应亮灯模式的二进制序列;通过HC-05蓝牙模块,无线通信传给板载蓝牙;最后由树莓派根据该二进制序列点亮LED,为右半边四个灯亮起。
树莓派3B+开发板上有40个GPIO接口,使用python的第三方库RPi.GPIO进行对各个引脚的控制。我使用的是GPIO引脚的厂家(BCM)编号进行引脚的控制。因此,对与LED模块和电源模块连接的树莓派的GPIO口,通过RPi.GPIO库的函数对其进行操作即可。
本实验装置采用一个8位LED灯模块来作为被控对象。8位LED流水灯模块的D0~D7这8个引脚分别控制这8个LED,所以只要跟树莓派的GPIO数字引脚连接起来就行。另外旁边有三个RGB的引脚,给低电平时才起作用,一般跟GND相连。给R引脚低电平就亮红色,给G引脚低电平就亮绿色,给B引脚低电平就亮蓝色,不同的颜色组合还能形成给多的颜色效果。其采用共阳极的接法,低电平选中需要点亮的LED的位和颜色。
USB转串口模块,用于连接树莓派和HC-05蓝牙模块。由于树莓派只有一个串口,用于板载蓝牙和串口命令行,而HC-05蓝牙模块也需要从树莓派上获取数据,然后通过HC-05与板载蓝牙的通信,将相关数据通过蓝牙传输给树莓派。因此串口数量不足,需要USB转串口模块来增加串口数目。树莓派插上USB转串口模块后,在/dev目录下将出ttyUSB0设备,然后将USB转串口模块与HC-05模块通过杜邦线连接起来。具体连线方式见实验步骤部分。
HC-05蓝牙模块,是一个蓝牙转串口转换器,可以连接微控制器的其他设备,允许它们进行无线蓝牙通信。HC-05的主要工作是为了添加双向(全双工)的无线功能。它可以用于两个具有串行功能的微控制器之间的通信,也可以用于通过微控制性控制蓝牙设备的功能,反之亦然。模块启动后,任何蓝牙设备都可以发现它。建立连接后,数据通过HC-05传输,并转换为串行流,然后由模块连接的控制器读取该串行流,与从控制器发送数据给蓝牙的方法相反。
3.仪器和材料
树莓派3B+;
USB转串口模块;
HC-05蓝牙模块;
8位LED流水灯模块;
12V的直流电源;
电源模块;
杜邦线若干;
4.实验步骤
(1)建立电路
用杜邦线,将树莓派的GPIO与8个LED控制信号连接起来,由电源模块给LED模块供电。同时将USB转串口模块与HC-05蓝牙模块连接起来。USB转串口模块插在树莓派USB口上。
USB转串口模块 ——————HC-05蓝牙模块
5V ——————————————VCC
GND ——————————————GND
TXD ———————————————RXD
RXD ——————————————TXD
树莓派(BCM编号) ————8位LED灯模块
GPIO2 ——————————————D7
GPIO3 ——————————————D6
GPIO4 ——————————————D5
GPIO17 ——————————————D4
GPIO27 ——————————————D3
GPIO22 ——————————————D2
GPIO10 ——————————————D1
GPIO9 ———————————————D0
电源模块 ——————————8位LED灯模块
3.3V ——————————————VCC
GND ——————————————B
电源模块 ————————树莓派(BCM编号)
GND ————————————GND
(2)升级安装蓝牙相关软件包,添加pi用户到蓝牙组,并重启;
(3)板载蓝牙和HC-05蓝牙模块连接,查看设备名;
(4)编写能控制8个LED灯光明亮的程序函数;
(5)编写蓝牙模块与板载蓝牙通信的测试程序,确保两个模块正常运行;
(6)编写完整程序,使得能通过蓝牙模块发送和接收信息,并根据信息点亮LED;
(7)写了一个交互模块,使得使用者能够选择亮灯模式,通过蓝牙传输的方式,发送给树莓派,最后根据选择模式,点亮LED;
原文链接:https://www.yunduoketang.com/article/zxjy59.html
|
|