数码之家

 找回密码
 立即注册

QQ登录

只需一步,快速开始

微信登录

微信扫一扫,快速登录

搜索
查看: 111|回复: 3

[Arduino] bme280 veml6070 lcd5110 Arduino代码

[复制链接]
发表于 昨天 15:03 | 显示全部楼层 |阅读模式
西藏去了2次,想去验证一下垭口高程和紫外线的强度。所以把俩模块veml6070和bme280整到一起。

代码如下:


#include <Adafruit_GFX.h>
#include <Adafruit_PCD8544.h>
#include <Wire.h>
//#include <SPI.h>
#include <Adafruit_Sensor.h>
#include <Adafruit_BME280.h>
#include "Adafruit_VEML6070.h"

#define SEALEVELPRESSURE_HPA (1013.25)


// Adafruit_PCD8544 display = Adafruit_PCD8544(SCLK, DIN, DC, CS, RST);
Adafruit_PCD8544 display = Adafruit_PCD8544(8, 9, 10, 11, 12);

Adafruit_VEML6070 uv = Adafruit_VEML6070();

Adafruit_BME280 bme ;
//#define VEML6070_ADDR_L (0x38)  ///< Low address
//#define BME280_ADDR_L (0x76)


//SCL A5
//SDA A4

void setup() {

     
  uv.begin(VEML6070_1_T);
  /*
   * Other measuring options
   VEML6070_HALF_T ~62.5ms
   VEML6070_1_T ~125ms
   VEML6070_2_T ~250ms
   VEML6070_4_T ~500ms
  */
    bool status;
    status = bme.begin(0x76);

  display.begin();
  delay(1000);
  display.clearDisplay();  // clears the screen and buffer
  display.display();
  display.setTextColor(BLACK);
  display.setContrast(42);

   
}

void loop() {
  display.clearDisplay();
  display.setContrast(42);

  display.setTextSize(1);
  display.setCursor(2, 2);
  display.print("UV/");

  display.setTextSize(1);
  display.setCursor(24, 2);
  display.print(uv.readUV() / 230);  //250

  if (uv.readUV() >= 0 && uv.readUV() < 689) {
    display.setTextSize(1);
    display.setCursor(33, 2);
    display.print("/LOW");
  } else

    if (uv.readUV() >= 690 && uv.readUV() < 1379) {
    display.setTextSize(1);
    display.setCursor(33, 2);
    display.print("/Medium");
  } else

    if (uv.readUV() >= 1380 && uv.readUV() < 1839) {
    display.setTextSize(1);
    display.setCursor(33, 2);
    display.print("/High");
  } else


    if (uv.readUV() >= 1839 && uv.readUV() < 2529) {
    display.setTextSize(1);
    display.setCursor(33, 2);
    display.print("/Very H");
  }

  if (uv.readUV() >= 2530 && uv.readUV() < 2760) {
    display.setTextSize(1);
    display.setCursor(33, 2);
    display.print("Extreme H");
  }
    /*1-230
  2-460
  3-690
  4-920
  5-1150
  6-1380
  7-1610
  8-1840
  9-2070
  10-2300
  11-2530*/


  
  display.setTextSize(1);

  display.setCursor(2, 10);
  display.print("T / ");
  display.setCursor(40, 10);
  display.print(bme.readTemperature());
  display.setCursor(78, 10);
  display.print("C");

  display.setCursor(2, 20);
  display.print("H / ");
  display.setCursor(40, 20);
  display.print(bme.readHumidity());
  display.setCursor(78, 20);
  display.print("%");
  
  display.setCursor(2, 30);
  display.print("P / ");
  display.setCursor(20, 30);
  display.print(bme.readPressure() / 100.0F);
  display.setCursor(66, 30);
  display.print("hpa");

  display.setCursor(2, 40);
  display.print("A / ");
  display.setCursor(20, 40);
  display.print(bme.readAltitude(SEALEVELPRESSURE_HPA));
  display.setCursor(78, 40);
  display.print("m");
  

  display.display();
  delay(500);
}

已验证。



有家元的兄弟们扔几个过来。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册 微信登录

x

打赏

参与人数 1家元 +18 收起 理由
jf201006 + 18 謝謝分享

查看全部打赏

发表于 昨天 20:50 | 显示全部楼层
果然是高手哦。看不懂。
回复 支持 反对

使用道具 举报

发表于 昨天 21:44 | 显示全部楼层
还在用5110的大概至少10年以上arduino经验,就这水准怕是入门后就弃坑了。
回复 支持 1 反对 0

使用道具 举报

发表于 9 分钟前 | 显示全部楼层
谢楼主分享。
回复 支持 反对

使用道具 举报

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

本版积分规则

APP|手机版|小黑屋|关于我们|联系我们|法律条款|技术知识分享平台

闽公网安备35020502000485号

闽ICP备2021002735号-2

GMT+8, 2025-8-17 13:07 , Processed in 0.140401 second(s), 10 queries , Redis On.

Powered by Discuz!

© 2006-2025 MyDigit.Net

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