2018年4月11日

自製 Arduino Nano 溫度計 OLED 0.96吋螢幕

實體影片



心血來潮想用Arduino做溫度計
使用的材料 material cost
   
1 Arduino Nano $NT 80元
2 OLED 0.96吋螢幕(128x64) $NT 130元
3 DHT11 $NT 30元

溫度計DHT11的接法是                 
1 DHT11的VCC 接 Arduino的 (17)+3V3
2 DHT11的GND 接 Arduino的 (4)GND
3 DHT11的Data 接 Arduino的 (5)D2



我買的是後面有板子一共只外接出3 Pin的版本(省事不用接4.7K電阻)

OLED 0.96吋螢幕(128x64) 的接法是                       
1 OLED的VCC 接 Arduino的 (PIN27)+5V
2 OLED的GND 接 Arduino的 (PIN29)GND
3 OLED_SCL 接 Arduino (PIN24)A5
4 OLED_SDA 接 Arduino (PIN23)A4

程式開發使用 Arduino IDE versuin 1.8.1
library 使用兩個
1 U8g2lib
2 SimpleDHT

程式 library導入的方法是
草稿碼 \ 匯入程式庫
再搜尋   U8g2lib 和 SimpleDHT 安裝 如下圖



程式碼的連結  Source Code
https://drive.google.com/open?id=1VBvoW4wFwVHWSQwAVas4WCLHkdBKCtvc

https://github.com/gavim6249/chung/blob/master/MyOled.ino


0.96吋螢幕OLED的 I2C address 是 0x078(0x3c)定義在u8x8_cad.c
如要更改 I2C address 可以用u8g2_SetI2CAddress 函式去變更.


上傳之後顯示
     
草稿碼使用了 24484 bytes (79%) 的程式儲存空間。上限為 30720 bytes。 全域變數使用了 691 bytes (33%) 的動態記憶體,剩餘 1357 bytes 給區域變數。上限為 2048 bytes 。
因為使用U8g2lib佔用比較大空間, 使用8x8 會比較小,只佔 20%多程式儲存空間


最後的成品



















2 則留言: