pc通过USB无线串口模块+NRF24L01模块遥控单片机

实验所需器材:

  • USB无线串口模块

  • NRF24L01模块(2块)

  • 单片机

电脑与单片机无线通讯可以通过无线串口模块进行,首先需要买一个USB无线串口模块,它长这个样子:

2.jpg

右侧的8个孔,用来插NRF24L01模块,按照下面图中的样子插好:

3.jpg

然后就可以插到电脑的USB口中了,插上去之后会有两个小灯亮。驱动安装成功后,就可以通过串口与NRF24L01模块通讯了。原则上,不管用什么串口软件都可以,只要把端口、波特率设置对了之后就行了。

1.jpg

1.gif

发送AT?,如果能看到图中所示的系统信息,说明硬件连接已经没有问题了。

其他发送的接收,也都通过串口方式进行。

收藏:USB无线串口模块系统命令及格式详解

1 设置波特率:

AT+BAUD=n

n为1,2,3,4,5,6,7分别对应4800,9600,14400,19200,38400,57600,115200的波特率

2 设置传输速率:

AT+RATE=n

n为1,2,3分别对应250Kbps ,1Mbps,2Mbps的传输速率

3 设置模块地址:

本机地址:AT+RXA=0xAA,0xBB,0xCC,0xDD,0xEE

目标地址:AT+TXA=0x11,0x22,0x33,0x44,0x55

地址是5位字符,然后把每个字符转化为16进制

4 设置通讯频率:

AT+FREQ=2.xxxG

保留小数点后3位

5 设置CRC校验:

AT+CRC=n

n等于8或16

6 系统信息:

AT?

7 发送数据:

nRF24L01+实际发送字节数为32个,用户可用的字节为1-31个,第0个字节系统保留,用于每次传输的数据包长度统计;例如串口发送“abc”(ASCII码,3个字节),实际传输时3abc(第0个字节就为3),接收端实际处理时应根据第0字节中的数来判断收到的数据包长度。

注意:第0字节是整数类型的,而不是字符型的,从第1字节开始剩下的都是字符型的。在实际发送中,数据会被转成16进制发送。假如一共发送3个字节数据,那么第0字节应该是3,这个3转化成16进制应该是0x03,而不是0x33(字符3对应的ASCII码是51,转化成16进制是0x33)。

但是,不知道是哪里出现问题,电脑与单片机无法通讯,我自己也还没有调通。等一切调通之后,我打算做一艘遥控船,笔记本电脑做上位机,用C#写一个专门的控制软件。

扫码关注我的公众号