用Arduino Uno製作一個智慧自動寵物餵食器(續)

第 1 部分 續 >

第4步:添加RFID

RFID是該系統的核心。當你的寵物靠近餵食器時,RFID將讀取標籤上的值,並決定是否提供更多的食物。RFID系統採用SPI通信,將標籤的值存儲在EEPROM記憶體中。在這種情況下,如果發生系統故障(例如斷電等引發的問題),資訊將被保存到記憶體中。

有關Arduino SPI通信的更多資訊,請參閱Arduino 通信協議課程

就RFID而言,必須添加以下程式館:

  • SPI
  • MFRC522
  • EEPROM

 

automatic pet feeder

圖13:添加了RDIF的接線圖

 

automatic pet feeder

圖14:RFID與其他元件連接的示意圖

 

我們有兩個RFID標籤。紅的會裝在寵物身上。作為測試組,藍的會裝在外人身上(不是你寵物的其他東西)。該系統有兩個功能:

  1. 白天:上午8時至晚上8時,餵食器每4小時投放3次食物。當食物被投放出來以後,蜂鳴器會發出聲音作為訊號,它會叫你的寵物過來進食。當有聲音時,寵物就會知道該吃飯了,它會靠近自己的碗(食物容器)。當標籤靠近RFID閱讀器時,食物就會被投放出來
  2. 晚上:不會發出聲音,但如果寵物在早上0點以後接近RFID,則將被餵食一次。

 

automatic pet feeder

圖15:在串口監視器上所顯示的分配標籤

第5步:安裝馬達

我們將使用伺服馬達SG90。伺服角度的大小是(0-180度)。我們的鎖具系統將類似於一個角度控制的鎖具(當“鎖具”打開/解鎖時,可控制投餵多少食物)。

以下是一些要點:

  • 0 度:“鎖具”完全斷路,沒有食物投放;
  • 180 度:“鎖具”完全打開,食物全部投放;
  • 在0-180之間:你可以選擇投放多少食物。

 

automatic pet feeder

圖16:完整的項目接線圖

 

第6步:製作機械部分

在我們討論馬達的程式設計之前,我們需要製作餵食器的支架。現在就需要研究一下餵食器的機械部分。我們需要以下材料:

  • 金屬板(或木板)- 35×25 釐米
  • 瓶子(或塑膠容器)
  • 打開/斷路食物分配器所需要用到的2塊硬質材料

 

  1. 把瓶子固定在金屬板上
    用鑽在金屬板上鑽4個洞,為碗留出空間(這個距離取決於你的碗/食物容器有多高。之後,你需要把瓶子倒過來,用兩根線固定到金屬板上。

 

automatic pet feeder

圖17:用兩根線把瓶子(食物分配器)連到金屬板上

 

“鎖具”系統不能懸在半空中,所以我們要用一塊堅硬的材料來固定它。這為食物分配器提供了一個很好的開口。我們需要用鑽頭或膠帶將其固定在金屬板上,這樣它就不會塌下來,以防你把太多食物放在分配器裡。如下圖所示,為了防止鎖具的錯位,需要彎曲金屬部分的外緣。

 

automatic pet feeder

圖18:支架安放位置

  1. 放置伺服馬達
    我們需要把馬達接到金屬板上。我在金屬板上鑽了個洞,以便牢牢地固定伺服馬達。接下來,我們需要將伺服馬達連接到機械系統上,透過滑動鎖蓋來打開和斷路鎖具。這是透過線纜將蓋板的中間(靠近外緣)連接到馬達上的(圖17)。只要確保蓋板順利地打開和斷路,你可以用任何材料來製作這個裝置。
automatic pet feeder

圖19:在合適的地方鑽一個用來連接馬達的孔

到這裡,你差不多就要完工了。接下來,你只需要把餵食器固定到你想要的地方。請確保這個地方足夠安全,你的寵物無法輕易地拆除餵食器即可。

automatic pet feeder

圖20:在支架附近接好馬達

為了保證精度,請不要弄彎連接食物分配器蓋板和馬達的線纜,否則馬達的馬力會因此削弱。

automatic pet feeder

圖21:完工後的寵物自動餵食器

 

automatic pet feeder

圖22:最終成品

 

這就是本項目的第一部分。這個裝置凝聚了我對電子裝置以及軟體程式設計的熱情,也讓我免於在一天之內餵好幾次寵物。它完美地在一個簡易項目和一個實用的家庭發明之間作出了平衡。在接下來的部分,我們將探究更先進的使用者介面,那時你就可以遠端控制餵食器了。