5047浏览
查看: 5047|回复: 7

[求助] 恳请各位朋友大神帮忙,关于1个UNO机接几个传感器模块

[复制链接]
我目前在搞毕,题目是<关于Arduino单片机对气压和温湿度进行实时监测>,在论坛看了教程,我买了2个传感器模块,一个DHT11和一个BMP180,我把他们分开在UNO上单独工作,用BMP180单独接UNO,用DHT11单独接UNO,他们都能正常运行(有图),

问题来了:老师要的是把2个模块合在一个单片机上,然后进行显示,可我不知道怎么把2个传感器放在一个单片机上运行啊...

温湿度模块工作

温湿度模块工作

把气压添加到下面1行

把气压添加到下面1行

hnyzcj  版主

发表于 2017-3-14 11:39:10

代码合在一起就OK了
回复

使用道具 举报

xixi223  见习技师
 楼主|

发表于 2017-3-14 16:20:35

hnyzcj 发表于 2017-3-14 11:39
代码合在一起就OK了

直接叠加吗?
回复

使用道具 举报

Ricky  NPC

发表于 2017-3-14 20:50:39

现有代码放上来,然后我们看看帮你合。
回复

使用道具 举报

xixi223  见习技师
 楼主|

发表于 2017-3-14 22:14:30

Ricky 发表于 2017-3-14 20:50
现有代码放上来,然后我们看看帮你合。

好的,谢谢你,我下午的时候按自己的想法把代码糅合了起来,然后用UNO编译了一下,没问题,还没效验,恳请你指导下我这样糅合代码会不会把发生串口报错之类的
代码如下:
  1. #include <Wire.h>
  2. #include <LiquidCrystal_I2C.h>
  3. #include <dht11.h>
  4. #include <Adafruit_BMP085.h>
  5. LiquidCrystal_I2C lcd(0x3F,16,2);  //设置LCD的地址为0x3F,可以设置2行,每行16个字符
  6. dht11 DHT;
  7. Adafruit_BMP085 bmp;
  8. #define DHT11_PIN 4
  9. void setup(){
  10.   lcd.init();                        // LCD初始化设置
  11. lcd.backlight();                    // 打开LCD背光
  12. Serial.begin(9600);                // 串口开启,设置串口波特率9600
  13. bmp.begin();                       //BMP180开始工作
  14. lcd.setCursor(9, 0);             //光标移到第1行,第10个字符
  15. lcd.print("T(C): ");             //LCD屏显示”T(C):”
  16. lcd.setCursor(0, 1);            //光标移到第2行,第1个字符
  17. lcd.print("AirP(Pa): ");        //LCD屏显示"AirP(Pa): "
  18. }
  19. void loop(){
  20.   int chk;                                       //chk用于存储DHT11传感器的数据
  21.   chk = DHT.read(DHT11_PIN);                    //读取DHT11传感器的数据
  22. Serial.print("Humidity = ");                    //串口监视器显示"Humidity = "   
  23. Serial.print(DHT.humidity,1);                  //串口显示DHT11测得的湿度值
  24. Serial.print("Temp(C) = ");                       //串口监视器显示"Temp(C) = "   
  25. Serial.print(DHT.temperature,1);               //串口显示DHT11测得的温度值
  26. Serial.print("AirPressure(Pa) = ");                //串口监视器显示"AirPressure(Pa) = "
  27. Serial.print(bmp.readPressure());             //串口监视器显示BMP180测得的气压数值
  28.                                              // 计算假设标准海拔气压是的高度
  29.                                             // 1013.25毫巴= 101325帕/压力
  30. Serial.print("Alti(m) = ");                 //串口监视器显示"Alti(m) = "
  31. Serial.print(bmp.readAltitude());          //串口监视器显示标准海拔气压所换算的高度数值
  32.         // 根据当前的海拔气压计算精确的当前高度
  33. Serial.print("Real Alti(m) = ");           //串口监视器显示"Real Alti(m) = "
  34. Serial.print(bmp.readAltitude(101500));   //串口监视器显示当前的真实高度数值
  35. //LCD显示气压温湿度值
  36. lcd.setCursor(5, 0);                  //第一行第6个字符开始显示
  37. lcd.print(DHT.humidity,1);            //显示DHT测得的湿度
  38. lcd.setCursor(14, 0);                 //第一行第15个字符开始显示  
  39. lcd.print(DHT.temperature,1);         //显示DHT测得的温度
  40. lcd.setCursor(9, 1);                  //第二行第10个字符开始显示
  41. lcd.print(bmp.readPressure());        //显示BMP测得的气压
  42. delay(1000);
  43. }
复制代码

回复

使用道具 举报

Ricky  NPC

发表于 2017-3-16 15:51:10

xixi223 发表于 2017-3-14 22:14
好的,谢谢你,我下午的时候按自己的想法把代码糅合了起来,然后用UNO编译了一下,没问题,还没效验,恳 ...

不会。 合的蛮好的!
回复

使用道具 举报

Rockets  NPC

发表于 2017-3-19 00:11:43

帮你编辑了一下,用了代码控件,现在看起来比较舒服了。
回复

使用道具 举报

20060606  高级技匠

发表于 2020-8-14 05:38:07

xixi223 发表于 2017-3-14 22:14
好的,谢谢你,我下午的时候按自己的想法把代码糅合了起来,然后用UNO编译了一下,没问题,还没效验,恳请 ...

试试就知道了
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

为本项目制作心愿单
购买心愿单
心愿单 编辑
[[wsData.name]]

硬件清单

  • [[d.name]]
btnicon
我也要做!
点击进入购买页面
上海智位机器人股份有限公司 沪ICP备09038501号-4

© 2013-2022 Comsenz Inc. Powered by Discuz! X3.4 Licensed

mail