[笔记]Arduino平台使用US-100超声波测距模块的串口模式测温实验
2012-01-15 22:43
387 查看
上次学习了使用电平和串口方式利用US-100超声波测距模块来测距,其实作为带有温度补偿的模块,当然也可以测温了。
连线与串口测距方式完全相同。
根据文档“US-100超声波测距模块在Arduino平台上的使用说明”的说法,“在串口模式下,通过Trig/TX 管脚输入0X50(波特率9600),US-100 便会通过Echo/RX管脚输出一个字节的温度值(TData), 实际的温度值为TData-45。例如通过TX 发送完0X50 后,在RX 端收到0X45,则此时的温度值为 [69(0X45 的10 进制值)-45] = 24度。”
连线与串口测距方式完全相同。
根据文档“US-100超声波测距模块在Arduino平台上的使用说明”的说法,“在串口模式下,通过Trig/TX 管脚输入0X50(波特率9600),US-100 便会通过Echo/RX管脚输出一个字节的温度值(TData), 实际的温度值为TData-45。例如通过TX 发送完0X50 后,在RX 端收到0X45,则此时的温度值为 [69(0X45 的10 进制值)-45] = 24度。”
/* ---------------------------------------- * 超声波测距模块US-100串口方式测温 * 选择串口方式需要插上模块背面的跳线 * US-100的探头面向自己时,从左到右Pin脚依次为: * VCC / Trig(Tx) / Echo(Rx) / GND / GND * 两个GND只需要一个接地即可 * Trig 接1脚,Echo接0脚 * ----------------------------------------- */ void setup(){ // 将Arduino 的RX 与TX(Digital IO 0 和1)分别于US-100 的Echo/Rx 和Trig/Tx相连 // 确保连接前已经插上跳线,使US-100 处于串口模式 Serial.begin(9600); // 设置波特率为 9600bps. } void loop(){ int temperature = 0; Serial.flush(); // 清空串口接收缓冲区t Serial.write(0x50); // 发送0x50,触发US-100 开始测温 delay(500); //延时500 毫秒 //当串口接收缓冲区中数据大于1字节 if(Serial.available() >= 1){ temperature = Serial.read(); //读出US-100 返回的结果 //返回的有效值在 1 到130 之间 if((temperature > 1) && (temperature < 130)){ temperature -= 45; //实际温度值等于返回值减45 Serial.print("Temperature is: "); //输出结果至串口监视器 Serial.print(temperature, DEC); Serial.println(" C'"); } } delay(500); //等待500ms }
相关文章推荐
- [笔记]Arduino平台使用US-100超声波测距模块的串口模式测距实验
- [笔记]Arduino平台使用US-100超声波测距模块的电平模式测距实验
- 深度学习入门教程UFLDL学习实验笔记二:使用向量化对MNIST数据集做稀疏自编码
- PHP 错误与异常 笔记与总结(15 )使用观察者模式处理异常信息
- 伺服电机以及如何使用 Arduino 平台进行控制---凯利讯半导体
- [Azure]使用Powershell获取ARM模式下可用的虚拟机平台映像信息
- Arduino使用入门(Windows平台)-官方文档
- OC学习笔记12--protocol的使用场景之代理模式
- Effective Javascript 阅读笔记(4)-JavaScript 三种不同的使用模式
- Arduino初初教程6(串口的使用)
- Azure平台ftp强制使用被动模式
- arduino学习笔记1 hello world和LED灯的使用
- hadoop学习笔记之-使用bind配置DNS实验 .
- centos救援模式实验笔记
- mpu6050 arduino串口 通讯在ros下的可视化实验
- Arduino--基础(六)--串口的使用
- android基础笔记——使用viewholder模式优化ListView
- SQL反模式笔记4——使用约束
- Arduino串口的使用
- WINDOWS平台下使用ACE框架的异步串口操作