亲,“电路城”已合并升级到更全、更大、更强的「新与非网」。点击查看「新与非网」

本网页已闲置超过3分钟,按键盘任意键或点击空白处,即可回到网页

基于智能手机的可移动迷你气象站

发布时间:2021-05-21
分享到:

基于智能手机的可移动迷你气象站

发布时间:2021-05-21
分享到:

由BME280和Arduino,ESP32 / ESP8266,树莓派组成,可随身携带的气象站。该气象探测站可装入智能手机的USB C / Micro USB端口,以获取所需的电源。

硬件组件:

原理图:

  • 将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(". . . . . . . . . . .");
}

成品:

测试:

加入微信技术交流群

技术交流,职业进阶

关注与非网服务号

获取电子工程师福利

加入电路城 QQ 交流群

与技术大牛交朋友

讨论