arduino 土壤温湿度传感器_嫌arduino太贵?太大?试试ATTINY85!DIY温湿度计入门级教程...
ATTINY85做主控,OLED顯示的溫濕度計。
簡介:
通過Arduino開發(fā)環(huán)境,對ATTINY85進行編程,利用DH11溫濕度傳感器,在SSD1306(128*64)OLED顯示屏上顯示溫度和濕度。
材料:
教程:
首先,下載arduino。我這里使用window系統(tǒng),因為windows對usb的驅(qū)動比較友好。linux調(diào)試半天沒有發(fā)現(xiàn)attiny85的驅(qū)動。如果誰能解決這個問題,歡迎提交。
https://downloads.arduino.cc/arduino-1.8.9-windows.exe
下載后一路安裝就可以了。啟動后,打開:文件->首選項,點擊附加開發(fā)板管理器,輸入 http://digistump.com/package_digistump_index.json
接下來打開:工具->開發(fā)板->開發(fā)板管理器,輸入digistump搜索,安裝即可。
然后,選擇開發(fā)板:digispark(default-16.5mhz)
這個時候,把必要的庫文件(Adafruit_Sensor、DHT-sensor-library)復(fù)制到C:Program Files (x86)Arduinolibraries文件夾。
該庫的下載鏈接:https://github.com/weathernetwork/docs/raw/master/weatherminibox/code.zip
接線:
oled 的SDA接ATTINY85的P0,SCK接ATTINY85的P2,DHT11的輸出端接ATTINY85的P1。其余的GND和VDD/VCC都連接好即可。
接下來新建一個項目,文件源碼如下:
源碼:
#include "SSD1306_minimal.h"#include #include "DHT.h"#define DHTPIN 1 // what pin we're connected to#define DHTTYPE DHT11 // DHT 11DHT dht(DHTPIN, DHTTYPE);SSD1306_Mini oled;void setup() { oled.init(0x3c); oled.clear(); oled.startScreen(); oled.cursorTo(8, 1); oled.printString("attiny85 & dht11"); oled.cursorTo(0, 4); oled.printString("Temp: "); oled.cursorTo(0, 6); oled.printString("Humidity: "); dht.begin();}void loop() { delay(1000); char temp[16]; oled.cursorTo(115, 4); itoa((int)dht.readTemperature(), temp, 10); oled.printString(temp); char hum[16]; oled.cursorTo(115, 6); itoa((int)dht.readHumidity(), hum, 10); oled.printString(hum);}插上ATTINY85,燒錄即可。
最終效果如下圖所示:
這些裸漏的線很有g(shù)eek的感覺。但是為了日常使用,還是要加一個殼子。
因為我的3D打印機壞了,所以徒手使用紙殼做一個。
先看一下大小
然后畫出大致位置并打洞
把東西粘上去。(請無視我的黑膠布)
最終就是這樣子,外形有些丑,但并不影響使用。
感謝您的閱讀,獲取更多創(chuàng)客作品和教程,請關(guān)注我:DLGG創(chuàng)客DIY
創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎勵來咯,堅持創(chuàng)作打卡瓜分現(xiàn)金大獎總結(jié)
以上是生活随笔為你收集整理的arduino 土壤温湿度传感器_嫌arduino太贵?太大?试试ATTINY85!DIY温湿度计入门级教程...的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Java 数据库image型输出图片
- 下一篇: Python Socket模块实现服务端