分享到plurk 分享到twitter 分享到facebook

期末專題 Team #6

題目

防盜攝影機

組員

陳勁龍

賀祐農

竹內宏輝

Hackpad

GitHub

YouTube

預期目標

  • 有人經過時燈光會亮起,而攝影機會跟隨著人拍攝。

  • 當偵測到有人經過時,發送簡訊給指定手機。

  • 改善攝影機的夜視能力和增加拍攝距離

預算

IR sensor 5個(or 7個)

攝影機 1個

USB 3G Modem 1個

馬達 1個

齒輪 2個

固定基座 1個

製作過程

  • IR

    型號:HC-SR501

    偵測的極限約6~7公尺,實測延遲時間約為1秒(商家給的資料為0.3秒…)。

    延遲時間雖然比第一次買得少,但仍然無法達到我們期望的反應時間,只能用軟體的方式解決。

    經過多次測試後,調整較為合適的角度。

  • 攝影機

    型號:Omnivision 5647 sensor

  • 馬達

    型號:SG90 9G伺服馬達

    以PWM的方式控制,轉動角度為180度

    一開始把馬達固定在支架上時,發現馬達轉動的初始位置與支架擺放不恰當,會使馬達轉動時支架和共定座卡住。

    經過測試後,調整較為合適的位置。

  • 演算法

    以rising edge觸發interrupt。當有任何一個IR 觸發時,將所有目前位於高電位的IR對應的位置值計算後,

    轉動馬達到計算的位置。

    此法在追蹤目標時仍然不準確,因為IR 的延遲時間約為1秒左右,且長短不一。

  • 燈泡

    我們討論後認為,與其購買有夜視能力的攝影機(需增加約220元),不如直接在附近製造光源,故使用繼電器(relay)控制燈泡來產生光源。

遇到的問題

  • 馬達轉動停止時會震動

    因為RPi.GPIO library控制PWM的方式是以軟體控制,馬達轉到指定位置後會抖動,造成畫面震盪。

    為修正此問題,改以硬體操作PWM的方式來改善,但在馬達轉動時,畫面仍然會不穩定。

  • IR 探測範圍過大

    若不縮小IR 探測範圍,複數個IR 同時感測到人體的機會過大,而無法正確控制馬達轉動到對應的位置。

    故IR前面以強力膠將水管轉接頭黏上,但又因水管過重,會造成馬達負荷過重,因此改變馬達轉動停止的條件。

    (原本是讓IR跟著馬達一起轉,這樣只要中間的IR感測到即可停止。但在IR無法一起轉的情況下,只能實際測試適合的轉動位置)

  • Pi不夠電

    因為連接的東西有點多,每當馬達轉動的時候,會因為瞬間功耗過大,造成有時pi會當機。故增加一個電容(4700uF)還緩衝來解決此問題。

實際成品成本

攝影機 730元

人體感測器 200元(5個)

水管轉接頭 50元(5個)

線材、接頭&麵包板 150元

膠帶、強力膠 65元

電容 15元

馬達 70元

支架 250元

總計 1530元