程序的威力真不可思議,一個自動加溼器的製作,幾行字就搞定了

大家好,創客e工坊今天來教教大家制作一個簡單好玩的自動加溼器。

至於為什麼要做一個加溼器,還是自動的呢,看看下面就知道了

程序的威力真不可思議,一個自動加溼器的製作,幾行字就搞定了

程序的威力真不可思議,一個自動加溼器的製作,幾行字就搞定了

接通加溼器一分鐘這麼多的水汽,如果養的不是烏龜換個寵物估計已經悶涼了,沒有人看著給植物加溼估計也是差不多了的。

所以,自動加溼器的製作還是有那麼一點點實際作用。其實就是想折騰折騰,閒不來。那麼我們就開始吧!

製作東西,元器件是少不了的

程序的威力真不可思議,一個自動加溼器的製作,幾行字就搞定了

控制器選擇arduino UNO 的單片機板子,主要原因是使用方便,內置了許多庫函數直接調用實現簡單;

感受環境溼度,這裡使用DHT11溫溼度傳感器,非常低價的器件卻能夠同時採集到溫度和溼度兩個數據,引腳也少;

顯示器選擇OLED屏的原因也是引腳少只有四根,像LCD1602,LCD12864十多二十根引腳使用起來比較麻煩;

繼電器控制加溼器電源,它的輸出端有三個接口,一個是公共端,一個是常閉接口(也就是一直閉合連接的接口),一個是常開接口(就是一直斷開連接的接口),若是給繼電器的輸入端加上5V信號,常開接口和常閉接口的狀態就會對換。


接線部分

  • 傳感器連接

程序的威力真不可思議,一個自動加溼器的製作,幾行字就搞定了

arduino UNO控制器與DHT11溫溼度傳感器的連接只需要三根線,由於我們寫的程序從8號引腳讀取數據,所以傳感器的數據連接控制器8腳,電源與控制器共用。連線如下

arduino -- DHT11

3.3v ---連接--- VCC

8腳 ---連接--- DAT

GND ---連接--- GND

程序的威力真不可思議,一個自動加溼器的製作,幾行字就搞定了

OLED屏的數據傳輸使用的是IIC接口,5V電源供電。電源與控制器共用,數據線SDA連接控制器的SDA,時鐘線的SCL連接控制器的SCL,如下所寫:

arduino -- OLED屏

GND ---連接--- GND

5v ---連接--- VCC

SCL ---連接--- SCL

SDA ---連接--- SDA

程序的威力真不可思議,一個自動加溼器的製作,幾行字就搞定了

程序的威力真不可思議,一個自動加溼器的製作,幾行字就搞定了

繼電器主要還是起一個開關作用,以它來決定加溼器的電源通斷,使用簡單:

arduino -- 繼電器

5V ---連接--- DC+

GND ---連接--- DC-

7腳 ---連接--- IN1

程序的威力真不可思議,一個自動加溼器的製作,幾行字就搞定了

將加溼器的電源線剪斷,得到一紅一黃兩根漆包線,漆包線外表絕緣不導電,需要用銼刀將它們的絕緣層給搓掉。搓掉後用萬用表測量得知紅線為電源正極,黃線為電源負極,與繼電器相連接所有連線就完畢了:

程序的威力真不可思議,一個自動加溼器的製作,幾行字就搞定了

最後是給arduino UNO控制器編寫程序,讀取環境數據之後控制加溼器。


程序部分

首先編寫溼度讀取程序,讀取溫溼度傳感器DHT11的數據

包含頭文件dht11.h裡面有需要用到的函數,根據連線定義傳感器數據腳為8,並且初始化一個DHT11對象變量。

程序的威力真不可思議,一個自動加溼器的製作,幾行字就搞定了

溼度讀取1

使用DHT11.read語句從8號腳將數據讀取並存到DHT11對象變量中,再將其中溫度和溼度分別提取到WD和SIDU中

程序的威力真不可思議,一個自動加溼器的製作,幾行字就搞定了

溼度讀取2

判斷程序編寫,決定什麼時候給加溼器供電工作。

思路是當溼度小於80%,空氣不夠溼潤則開啟加溼器;如果大於或者等於80%,空氣太溼潤了就關閉加溼器。

程序的威力真不可思議,一個自動加溼器的製作,幾行字就搞定了

判斷過程

使用的是if...else...語句,小於80%就執行上面的句子,否則運行下面的句子。

最後進行自動加溼器的工作狀態顯示即可,整體主要程序如下,十分簡單。

程序的威力真不可思議,一個自動加溼器的製作,幾行字就搞定了

將它們下載到arduino UNO控制器中,接上電源就可以看到效果了

程序的威力真不可思議,一個自動加溼器的製作,幾行字就搞定了

程序的威力真不可思議,一個自動加溼器的製作,幾行字就搞定了

程序的威力真不可思議,一個自動加溼器的製作,幾行字就搞定了


分享到:


相關文章: