arduino与传感器
来源:互联网 发布:电脑写日记的软件 编辑:程序博客网 时间:2024/04/28 22:28
这几天一口气解决了多个传感器与arduino的连接于访问。
dht11温湿度传感器,超声波、火焰、环境光线、人体热释电这几个。
温湿度传感器是从机器人基地购买的,因为他们提供了积木式的链接针脚和连接线,只要对应插好就行,十分方便,相关代码也在前篇文章介绍的有,直接复制就能用。
因为火焰和环境光传感器能输出0~255的值,我把它们接到模拟口上面了,以便实时发送数据出来。人体感应的传感器由于只输出高低电平,所以接到了数字口。
对于这三个传感器的数据读取,我采用了统一的函数,因为他们的读取方式一样,直接read输入口的针脚就行。
函数如下:
int GetData(int pinnum,String pmod){
int datastr;
if(pmod=="analog"){
datastr=analogRead(pinnum);
}
else
{
datastr=digitalRead(pinnum);
}
return datastr;
}
其中 函数括号里 pinnum是要输入针脚号码,pinmod是输入数字口还是模拟口,模拟口就写 analog,数字口就写digital。
先定义好每个传感器的针脚号码,在setup里定义好输出,然后在loop里需要读出数据的地方使用该函数。
比如:
int lightpin=1;//环境光线脚 analog
int anmpin=50;//人体接近脚 digital
int firepin=3;//火焰脚 analog
String OutStr;
void setup(){
Serial.begin(9600);
pinMode(anmpin,INPUT);
pinMode(firepin,INPUT);
pinMode(lightpin,INPUT);
}
void loop(){
OutStr =GetData(anmpin,"digital");
Serial.print(OutStr);
OutStr =GetData(firepin,"analog");
Serial.print(OutStr);
OutStr =GetData(lightpin,"analog");
Serial.print(OutStr);
}
这样便能方便的输出需要的数据了,对于接了多个类似只负责输出数据的传感器的arduino很适用。
关于超声波传感器,我也弄了个函数
int GetCSB(){
digitalWrite(csboutputPin, LOW); // 使发出发出超声波信号接口低电平2μs
delayMicroseconds(2);
digitalWrite(csboutputPin, HIGH); // 使发出发出超声波信号接口高电平10μs,这里是至少10μs
delayMicroseconds(10);
digitalWrite(csboutputPin, LOW); // 保持发出超声波信号接口低电平
int distance = pulseIn(csbinputPin, HIGH); // 读出脉冲时间
distance= distance * 0.017; // 将脉冲时间转化为距离(单位:厘米)
return distance; //输出距离值
}
要注意的是,我适用的传感器是4个针脚,2个分别接vcc和gnd,另外2个接数字口,分别负责电平信号的输入与输出。
要读出数据的话 只要写 int s=GetCSB(); 就完事了,很方便吧 呵呵
- arduino与传感器
- Arduino 与 土壤湿度传感器 测量土壤湿度自动浇水提醒
- Arduino Uno 激光发射与接收模块传感器 应用
- Arduino - DHT11温湿度传感器
- arduino DHT11 温湿度传感器
- Arduino使用“按键传感器”
- Arduino使用光线传感器
- Arduino使用水位传感器
- Arduino使用土壤湿度传感器
- Arduino读取加速度传感器MC3210
- Arduino Uno 火焰传感器实验
- DHT11 温湿度传感器 Arduino 库
- Arduino使用温湿度传感器DHT11
- Arduino使用金属触摸传感器
- Arduino使用循迹传感器
- 如何用arduino+ethernet shield(W5100)与yeelink结合5分钟实现传感器数据web上传
- Arduino控制GP2D12红外线测距传感器
- Arduino学习笔记二三轴加速度传感器ADXL345
- 安装编译Apache模块,配置反向代理
- 第七章 函数
- 番外篇(1) typedef 采自百度百科 http://baike.baidu.com/view/1283800.htm
- 中国互联网地图服务网站“天地图”,太令人失望了。
- 方正书版PS文件转换PDF文件PHP源程序 发布说明
- arduino与传感器
- 软件开发管理--代码质量与文档质量重要性
- 2010总结+2011计划
- lc.exe已退出,代码为-1 解决办法
- VC 对话框添加菜单条
- 2010年总结和2011年展望
- 工作中postgre使用过的函数。
- 母亲送给孩子最好的礼物—幸福感(转载,仅供参考)
- 输入子系统