代码
#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);
}
已验证
为了走317国道,做了个这玩意。
|