由BME280和Arduino,ESP32 / ESP8266,樹莓派組成,可隨身攜帶的氣象站。該氣象探測站可裝入智能手機的USB C / Micro USB端口,以獲取所需的電源。
硬件組件:
Arduino UNO
OLED顯示屏(黑底籃字)
DFRobot Gravity:I2C BME280環(huán)境傳感器
微型USB公適配器
電容器 10μF
電線
數(shù)字式內(nèi)螺紋直角6針頭
原理圖:
將ATtiny85,OLED顯示器和BME280焊接到PCB上。
在PCB上準(zhǔn)備Micro USB的VCC和GND的兩條線。
為了使智能手機能夠用作電源,需要激活OTG。這意味著,如果在手機的USB端口中插入了另一個USB,則智能手機可以充當(dāng)主機。因此,需要將Micro USB Male適配器的ID連接到其GND。
使用Arduino Nano編程ATtiny85:
使用Arduino Nano通過Arduino IDE對ATtiny85進行了編程。為了不使該指令超出框架范圍,請訪問此網(wǎng)站以使用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.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(“。 . 。 . 。 . 。 . 。 . 。”);
}
責(zé)任編輯:pj
-
智能手機
+關(guān)注
關(guān)注
66文章
18412瀏覽量
179690 -
USB端口
+關(guān)注
關(guān)注
0文章
35瀏覽量
12828 -
樹莓派
+關(guān)注
關(guān)注
116文章
1688瀏覽量
105456
發(fā)布評論請先 登錄
相關(guān)推薦
評論