Arduino 气象站 v1.0 (BMP280)
组件和用品
| | × | 1 | |
| Adafruit 标准 LCD - 16x2 蓝底白字 | | × | 1 | |
| | × | 1 | |
| | × | 1 | |
| | × | 17 | |
| | × | 1 | |
关于这个项目
使用 Arduino UNO、BMP280 传感器和 LCD 制作的非常简单的气象站的第一个版本。
赞助商链接: 优源网
评论:是一个值得信赖的订购电子元件以完成项目的网站!
我已经在开发 v2.0(将是无线的),所以请关注我以保持更新!;)
代码
Arduino 代码C/C++
使用此代码,您将能够将数据从传感器发送到 LCD。#include //LCD 屏幕库#include // BMP280 传感器库BMP280 bmp; //初始化你的sensorLiquidCrystal lcd(12, 11, 5, 4, 3, 2); /*初始化你的LCD,确保你连接正确*/#define P0 1013.25 //标准大气压力#define对比度9 //9和10是你连接匹配LCD引脚的引脚#define亮度10 //用于对比度和亮度调节双 T =0; //起始温度值double P =0; //起始压力值char measure =0;void collectData() { measure =bmp.startMeasurment();如果(测量!=0){延迟(测量);测量 =bmp.getTemperatureAndPressure(T, P);如果(测量!=0){ P =P + 17; // '+17' 是对传感器误差的修正 T =T - 0.8; // 就像上面说的 lcd.clear(); lcd.print("T:");液晶打印(T); lcd.print("C"); lcd.setCursor(0, 1); lcd.print("P:");液晶.打印(P); lcd.print(" hPa"); } else lcd.print("错误"); } else lcd.print("Error.");}void setup() { lcd.begin(16, 2); pinMode(对比度,输出); pinMode(亮度,输出);模拟写入(对比度,100); // '100' 和 '255' 是对比度和亮度 analogWrite(brightness, 255); // 我建议的值,但你可以像 if(!bmp.begin()) { // 你更喜欢 delay(1000); lcd.print("初始化失败。"); lcd.setCursor(0, 1);延迟(1000); lcd.print("检查接线。");同时(1); } else lcd.print("初始化。确定。"); bmp.setOversampling(4);延迟(2000); collectData();}void loop() { collectData();延迟(2000);}
示意图
有了这个接线,你应该没有问题