一乐电子

一乐电子百科

 找回密码
 请使用微信账号登录和注册会员

QQ登录

只需一步,快速开始

快捷登录

手机号码,快捷登录

搜索
查看: 15587|回复: 22
收起左侧

[arduino] 终于玩上arduino Zion啦~BMP180+2004做的气压表

[复制链接]
发表于 2014-8-24 21:27 | 显示全部楼层 |阅读模式
本帖最后由 sdf15937 于 2014-8-24 21:30 编辑

买原件的时候看BMP180挺便宜的,就买了个玩玩。百度了一下这货的程序和BMP085通用,又又百度了一下这货直接有arduino的库……于是就翻出来论坛的arduino Zion,有了这个作品
arduino编程真简单……比51单片机简单多啦~
总图: QQ截图20140824212258.jpg
2004VFD,很漂亮,嘿嘿
QQ截图20140824212315.jpg

BMP180气压传感器,还能检测温度:
QQ截图20140824212324.jpg

高大上的arduino Zion
QQ截图20140824212333.jpg


BMP085的库文件: bmp085.zip (5.27 KB, 下载次数: 3856)
最后是代码:
  1. #include <Wire.h>
  2. #include <Adafruit_BMP085.h>


  3. #include <LiquidCrystal.h>

  4. // initialize the library with the numbers of the interface pins
  5. /*
  6.   The circuit:
  7. * LCD RS pin to digital pin 12
  8. * LCD Enable pin to digital pin 11
  9. * LCD D4 pin to digital pin 5
  10. * LCD D5 pin to digital pin 4
  11. * LCD D6 pin to digital pin 3
  12. * LCD D7 pin to digital pin 2
  13. * LCD R/W pin to ground
  14. * 10K resistor:
  15. * ends to +5V and ground
  16. * wiper to LCD VO pin (pin 3)
  17. */
  18. LiquidCrystal lcd(12, 11, 5, 4, 3, 2);

  19. Adafruit_BMP085 bmp;
  20.   
  21. void setup() {
  22.   Serial.begin(9600);
  23.   bmp.begin();
  24. lcd.begin(20, 4);  
  25.    

  26. }
  27.   
  28. void loop() {
  29.     Serial.print("Temperature = ");
  30.     Serial.print(bmp.readTemperature());
  31.     Serial.println(" *C");
  32.    
  33.     Serial.print("Pressure = ");
  34.     Serial.print(bmp.readPressure());
  35.     Serial.println(" Pa");
  36.    
  37.     // Calculate altitude assuming 'standard' barometric
  38.     // pressure of 1013.25 millibar = 101325 Pascal
  39.     Serial.print("Altitude = ");
  40.     Serial.print(bmp.readAltitude());
  41.     Serial.println(" meters");

  42.   // you can get a more precise measurement of altitude
  43.   // if you know the current sea level pressure which will
  44.   // vary with weather and such. If it is 1015 millibars
  45.   // that is equal to 101500 Pascals.
  46.     Serial.print("Real altitude = ");
  47.     Serial.print(bmp.readAltitude(101500));
  48.     Serial.println(" meters");
  49.    
  50.    
  51.     lcd.setCursor(0,0);
  52.     lcd.print("Temperature = ");
  53.     lcd.print(bmp.readTemperature());
  54.     lcd.setCursor(0,1);
  55.     lcd.print("Pressure = ");
  56.     lcd.print(bmp.readPressure());
  57.     lcd.setCursor(0,2);
  58.     lcd.print("Altitude = ");
  59.     lcd.print(bmp.readAltitude());
  60.     lcd.setCursor(0,3);
  61.     lcd.print("Real altitude=");
  62.     lcd.print(bmp.readAltitude(101500));
  63.   
  64.     Serial.println();
  65.     delay(500);
  66.    
  67.    
  68. }
复制代码
发表于 2014-8-24 22:01 | 显示全部楼层
我不懂ARDUINO,不过看程序,不就是封装好的库,直接调用函数吗..

如果你愿意,你也可以写51的库文件,程序同样会这样简单.

不过有些*,愣是把简洁易懂的代码写得像天书一样,多句合并以显得写代码的人NBXX,再加上不规范的函数名,变量名.轻易地把阅读者抛到云里雾里.
 楼主| 发表于 2014-8-24 22:16 | 显示全部楼层
junyee 发表于 2014-8-24 22:01
我不懂ARDUINO,不过看程序,不就是封装好的库,直接调用函数吗..

如果你愿意,你也可以写51的库文件,程序同 ...

主要是51单片机没有那么统一的“库“。
发表于 2014-8-24 23:31 | 显示全部楼层
赞同没有51单片机统一的库
发表于 2014-8-24 23:55 | 显示全部楼层
我看DS,貌似BMP180和BMP085标称精度一个吊样,不知道精确度还是不是像085那样±2米的飘啊。。。飘啊。。。
发表于 2014-8-25 00:09 | 显示全部楼层
真实的高度是怎么得来的?
发表于 2014-8-25 08:43 | 显示全部楼层
那个7805?非得那么躺着么
发表于 2014-8-25 12:02 | 显示全部楼层
文句子 发表于 2014-8-25 08:43
那个7805?非得那么躺着么

    好像是躺着焊在miniusb上散热吧
发表于 2014-8-26 07:16 来自手机 | 显示全部楼层
不知道7805换成1117系的能不能?
 楼主| 发表于 2014-8-26 12:50 | 显示全部楼层
40560335 发表于 2014-8-24 23:55
我看DS,貌似BMP180和BMP085标称精度一个吊样,不知道精确度还是不是像085那样±2米的飘啊。。。飘啊。。。

有飘的,具体多少倒是没注意

本版积分规则

QQ|一淘宝店|手机版|商店|电子DIY套件|一乐电子 ( 粤ICP备09076165号 ) 公安备案粤公网安备 44522102000183号

GMT+8, 2024-3-29 14:48 , Processed in 0.059030 second(s), 37 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表