【一見你就閃】使用VIA Pixetto視覺感測器之人臉偵測功能

作者:Ted Lee

小彼特女朋友小派的生日快到了。今年,小派想測試一下小彼特的彼特功練到哪個化境了,就故意以自己生日為由要考考他:「以小彼特、閃、我(小派)三元素做出一個生日禮物。」大夥兒也幫幫忙一起破關吧!本文將教你利用8787的特徵點偵測功能,偵測到人臉後啟動快閃的七彩LED。

材料清單

如果讀者要將項目4的開發板換成Uno或其他Arduino版本,請自行將項目5的傳輸線做調當的調整。

造形設計(機構)

請參考禮物盒子(https://reurl.cc/ZObNQV)或小造型盒(https://reurl.cc/lVe49A)概念設計作品外觀。記得將8787及其相關電路的尺寸考量進去。

功能設計(電路、程式)

先依照下表及圖1接妥8787、Nano與快閃LED的連接線路。

 

接線圖

在Pixetto Utility上選用人臉偵測功能,讓8787識別並套用之,例如:以這個AI生成的偽人臉(https://reurl.cc/NjRLAQ)來做為待識別影像,詳細操作方法可參考拙著《VIA Pixetto視覺感測器大開箱(unboxing):AI開發工具(Development Kits)篇》(https://reurl.cc/Qd6eVO)一文。

在Pixetto Utility上選用人臉偵測功能

接著在Pixetto Junior上拉出積木程式。這個程式的邏輯是一開機後先初使化8787。
接著,若8787「看見」前述的人臉後就讓接在Nano D7接腳上的快閃七彩LED閃爍0.5秒。否則,就將之熄滅。

 

Pixetto Junior的Blockly程式碼

積木程式自動生成的Arduino程式碼如下所示:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include
#include
SmartSensor ss(0,1);
void setup() {
ss.begin();
pinMode(7, OUTPUT);
} //end of setup()
void loop() {
if (ss.isDetected()) {
if (ss.getTypeID() == 0) {
digitalWrite(7, HIGH);
delay(500);
}
} else {
digitalWrite(7, LOW);
} //end of if
} //end of loop()

本單元的操作影片所示。

(作者為本刊專欄作家,本文同步表於作者部落格,文章連結

Ted Lee

Author: Ted Lee

從工程師轉任中學教師,又為了捍衛教育理念,投身成為 STEAM 教育工作者,自稱「無可救藥的人文教育理想主義者」的李俊德(Ted Lee)。

Share This Post On

發表