由BME280和Arduino,ESP32 / ESP8266,树莓派组成,可随身携带的气象站。该气象探测站可装入智能手机的USB C / Micro USB端口,以获取所需的电源。
硬件组件:
Microchip Technology ATtiny85
Arduino UNO
OLED显示屏(黑底篮字)
DFRobot Gravity:I2C BME280环境传感器
微型USB公适配器
电容器 10µF
电线
数字式内螺纹直角6针头
原理图:
将ATtiny85,OLED显示器和BME280焊接到PCB上。
在PCB上准备Micro USB的VCC和GND的两条线。
为了使智能手机能够用作电源,需要激活OTG。这意味着,如果在手机的USB端口中插入了另一个USB,则智能手机可以充当主机。因此,需要将Micro USB Male适配器的ID连接到其GND。
使用Arduino Nano编程ATtiny85:
使用Arduino Nano通过Arduino IDE对ATtiny85进行了编程。为了不使该指令超出框架范围,请访问此网站以使用Arduino Nano对ATtiny进行编程。
代码:
#include 《TinyWireM.h》
#include 《Tiny4kOLED.h》
#include 《MyBME280.h》
#define BME280_I2cAdd 0x76 //I2C-地址
MyBME280 BME(BME280_I2cAdd);
float t, d, f;
void setup() {
oled.begin();
oled.clear();
oled.on();
TinyWireM.begin();
BME.init();
}
void loop() {
t = BME.readTemp();
d = BME.readPress();
f = BME.readHumidity();
oled.setFont(FONT6X8);
oled.setCursor(0, 0);
oled.print(“Temp.: ”);
oled.print(t);
oled.println(“ ‘C”);
oled.print(“Druck: ”);
oled.print(d);
oled.println(“ mBar”);
oled.print(“Fcht.: ”);
oled.print(f);
oled.println(“ %”);
oled.println(“ 。 . 。 . 。 . 。 . 。 . ”);
oled.println(“。 . 。 . 。 . 。 . 。 . 。”);
}
责任编辑:pj
全部0条评论
快来发表一下你的评论吧 !