配合 Mu Vision Sensor 做出人體辨識智能門

利用 Mu Vision Sensor 取代原有的 light gate。

使用 light gate 的話只要有物件在 light sensor 前擋住光線便會開啟自動門 ,

這意味著不一定感測到人類就會開門 , 使用 Mu Vision Sensor 就不會出現這個問題,

只有在偵測到人類 ( Body Detect ) 才會開門 , 假如有狗隻或其他物件放至門口也不會開門。

所需物料:

電線接駁方法:

  • Switch 1 ( 門的左方 ) : 1位使用紅線駁至P3 , 3位使用綠線駁至I3
  • Switch 2 ( 門的右方 ) : 1位使用紅線駁至P4 , 3位使用綠線駁至I4
  • MOTOR : P15 , P16
  • Mu Vision Sensor 的 「V」 --> I/O board 的 3.3V OUT 「+」
  • Mu Vision Sensor 的 「G」 --> I/O board 的 3.3V OUT 「-」
  • Mu Vision Sensor 的 「SDA」 --> I/O board 的 「SDA」
  • Mu Vision Sensor 的 「SCL」 --> I/O board 的  「SCL」

編程教學 :

加入 Mu Vision Extension :

在 makecode 左面的 coding blocks 選取「Extension」

輸入「Mu」並選取 muvision extension

設定 Mu Vision Sensor :

initialize MU00 port I2C --> 啟動 Mu Vision sensor 的編程 , 必須使用這個積木才能進行各種編程

「MU00」 enable alogirthm XXXX --> 選擇要使用的 algorithm 例如 : color block , body detect

將這2個編程放到「on start」 , 啟動 micro:bit 時便能啟動 Mu Vision 的功能。然後選取「Body Detect」

high fps , white balance , digital zoom 等可選擇性加入 , 目的是提高 Mu Vision 的效能。

最後的「show number 0」代用時讓我們得知 Mu Vision 已完成安裝可以使用。

偵測人體 (Body Detect) :

使用 if 「MU00 detected Body Detect」 then , 即當偵測到人體時...「digital write P15 to 1 , P16 to 0」

開啟 Motor (門推向右面 , 開門 ) 並顯示剔號(表示偵測到人體)。

else if 「digital read pin p4 = 1 」 , 意思是當門開啟移到右面按下 P4 switch [開門狀態]

then P15,P16 = 0 停止 5秒 , 然後 P16 = 1 , P15 = 0 , 關門把門移回右面 [ motor 開啟0.5秒]

else if 「digital read pin p3 = 1 」 , 意思是當關上移到左面按下 P3 switch [關門狀態]

then P15 , P16 = 0 停上 motor

整個編程 :