动手玩转Arduino (五) RF数据通信
Arduino如何与外界沟通 Pin COM SPI IIC SPI SCK,MISO,MOSI,SS (13,12,11,10) COM RX/TX (0,1) Pin COM SPI IIC I2C SDA/SCL (A4,A5)
RF遥控 无线射频(Radio Frequency) 主要包括无线收/发机 应用场景 在空气中传播的电磁波 发射模块 接收模块 车辆/家庭防盗 遥控玩具
4路RF模块 无线发射模块对应于数字输出(Digital Out) 无线接收模块对应于数字输入(Digital In) 将相应引脚设置成高,发出数据 无线接收模块对应于数字输入(Digital In) 若相应引脚读出为高,接收数据 一共4个通道:C1、C2、 C3、 C4 无线发射模块 无线接收模块
动手 两台Arduino一组 目标 发射组 接收线 通过按钮来控制对方LED灯的亮灭 RF发射模块一个 按钮模块一个 RF接收模块一个
参考代码 发射端代码 接收端代码
问题讨论 各个组之间如何避免冲突 可以尝试使用不同的通道 为RF模块配置不同的地址
动手 两台Arduino一组,交换发射组和接收组 目标 发射组 接收组 多通道无线数据收发 模拟遥控汽车,用按钮控制舵机的左右转向 RF发射模块一个 按钮模块两个 接收组 RF接收模块一个 舵机 目标 多通道无线数据收发 模拟遥控汽车,用按钮控制舵机的左右转向
RF数据传输 4路RF模块传输的是数字信号 无线数传模块可以实现各种数据的传输 简单的开/关、1/0信号 数字量:开/关 模拟量:光线、温度、声音等
APC220 通过串口(COM)与Arduino进行沟通 数据收发一体,即可以发送数据又可以接收数据 传输距离:开阔地1200m 数据发送:写串口 Serial.write() 数据接收:读串口 Serial.read() 传输距离:开阔地1200m
Arduino与COM模块的连接 传感器扩展板 COM/I2C连接线 COM
动手 两台Arduino一组 目标 发射组 接收组 发射组在按钮按下时通过APC220模块发送数据’A’ 接收组在收到数据’A’时点亮LED 按钮模块一个 接收组 LED模块一个 目标 发射组在按钮按下时通过APC220模块发送数据’A’ 接收组在收到数据’A’时点亮LED
参考代码 发射端代码 接收端代码
问题讨论 按钮的处理 消抖处理:发送端delay(100)改成delay(10)呢? 如何保证按一下按钮,只发送一次?
APC与PC间的无线连接 USB转串口适配器
动手 Arduino作为数据收集器采集传感器数据 通过APC220模块传递给PC机 通过串口监视软件观察数据变化 如何使数据更加可读?
谢谢!