arduino增强包使用教程--第二课-- OCROBOT MANGOII 1602液晶屏显示当前气压实验
本帖最后由 迷你强 于 2013-8-30 10:04 编辑本实验基础平台:F101入门套件 + F102进阶套件 或 F101+F102增强套包 或 MANGO II + F102进阶套件
本课内容包括两个部分,第一部分是上次的驱动1602液晶显示器,第二部分是从气压计读取当前气压值与温度,并且显示在屏幕上。
BMP085的驱动库并不是arduino IDE内置的,所以我们需要先下载驱动
http://wiki.ocrobot.com/doku.php?id=zh:sensor:bmp085
可参照wiki说明下载库文件并且解压缩释放到<你的arduino主目录>/libraries/下,重新启动arduino IDE即可正常调用此库
然后我们来看设计图
我们参考上图来连接好电路。
这样,我们就初步搭好电路了,BMP085气压传感器是I2C通讯接口的传感器,OCROBOT MANGO II板的I2C 接口是A4 A5,其他如2560 或莱昂纳多板请参考主板标示进行连接
程序如下
/*
作者:迷你强
时间:2013年8月21日
IDE版本号:1.0.4
发布地址:www.geek-workshop.com
作用:让液晶屏显示两行内容,分别显示当前气压与温度
*/
/*======通用I2C驱动库调用======*/
#include <Wire.h>
/*========BMP085气压计库调用=====*/
#include <Adafruit_BMP085.h>
Adafruit_BMP085 bmp;
/*==========LCD库调用 =======*/
#include <LiquidCrystal.h>
LiquidCrystal lcd(12, 11, 5, 4, 3, 2); //定义传输IO口,可根据实际情况调整IO口使用
void setup() {
lcd.begin(16, 2); // 定义显示屏类型,目前定义为1602 每行16个字符共2行
bmp.begin(); //初始化气压计
}
void loop() {
lcd.clear(); //LCD清空屏幕
/*=====数据采集=====*/
float temp = bmp.readTemperature(); //读取温度数据 (BMP085)
long pa = bmp.readPressure(); //读取气压数据 (BMP085)
float hpa = pa /100.0 ; //将Pa换算成hPa
/*=====显示内容=====*/
lcd.print("Atm:");
lcd.print(hpa);
lcd.print("hPa"); //显示第一行内容,当前气压值
lcd.setCursor(0, 1); //换行到第二行开始位置
lcd.print("TEMP:"); //显示第二行内容,当前温度值
lcd.print(temp,1); //保留温度的1位有效小数
lcd.print("C");
delay(10000); //控制屏幕刷新速度,每10秒跟新一次
}
整体运行演示视频
http://player.opengg.me/player.php/sid/XNTk4OTA2MTIw/v.swf 首占沙发,强烈支持强哥发教导贴,谢谢! 好贴必须顶的 应该是把 Pa 换成 kPa把 hPA是什么单位 而且 1kPa = 1000Pa
标准大气压是101.325kPa 看起来很不错 1602液晶屏 LCD1602A 显示 蓝屏
页:
[1]