【DIY】嫌arduino太贵?太大?试试ATTINY85!DIY温湿度计入门级教程请收下
ATTINY85做主控,OLED顯示的溫濕度計。
簡介:
通過Arduino開發環境,對ATTINY85進行編程,利用DH11溫濕度傳感器,在SSD1306(128*64)OLED顯示屏上顯示溫度和濕度。
材料:
ATTINY85
DHT11
SSD1306 (12864?OLED)
電池盒
紙盒
導線膠布等工具
教程:
首先,下載arduino。我這里使用window系統,因為windows對usb的驅動比較友好。linux調試半天沒有發現attiny85的驅動。如果誰能解決這個問題,歡迎提交。
https://downloads.arduino.cc/arduino-1.8.9-windows.exe
下載后一路安裝就可以了。啟動后,打開:文件->首選項,點擊附加開發板管理器,輸入?http://digistump.com/package_digistump_index.json
接下來打開:工具->開發板->開發板管理器,輸入digistump搜索,安裝即可。
然后,選擇開發板:digispark(default-16.5mhz)
這個時候,把必要的庫文件(Adafruit_Sensor、DHT-sensor-library)復制到C:\Program Files (x86)\Arduino\libraries文件夾。
該庫的下載鏈接: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 <avr/pgmspace.h> #include "DHT.h"#define DHTPIN 1 // what pin we're connected to #define DHTTYPE DHT11 // DHT 11 DHT 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,燒錄即可。
最終效果如下圖所示:
這些裸漏的線很有geek的感覺。但是為了日常使用,還是要加一個殼子。
因為我的3D打印機壞了,所以徒手使用紙殼做一個。
先看一下大小?
然后畫出大致位置并打洞?
把東西粘上去。(請無視我的黑膠布)
最終就是這樣子,外形有些丑,但并不影響使用。?
附:源代碼下載地址:
https://github.com/weathernetwork/docs/raw/master/weatherminibox/code.zip
獲取更多創客作品和教程
請掃描二維碼
總結
以上是生活随笔為你收集整理的【DIY】嫌arduino太贵?太大?试试ATTINY85!DIY温湿度计入门级教程请收下的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【Android工具】安卓手机轻松获取硬
- 下一篇: 不忘初心helloworld,IMX6入