幸運轉輪:
使用VIA Pixetto視覺感測器之特徵點偵測(Keypoint Detection)功能
FB2:http://gg.gg/TedLeeMicrobitFB/
URL2:http://gg.gg/TedLeeMicrobit/
Line:ted2016.kpvs
Email:Lct4246@gmail.com
FB1:http://gg.gg/TedLeeFB/
Blog:http://gg.gg/TedLeeBlog/
URL1:http://gg.gg/TedLeeURL/
URL1:http://gg.gg/TedLeeURL/
Apr. 2, 2020
難易度
主題
設計一個抽獎活動可以用來選出獲獎幸運兒的轉輪。
任務
一年一度的中秋同樂會快到了,小Jay正愁著不知該準備些什麼娛興節目才好。號稱創客大師的你,趕緊動動腦筋設計一個能炒熱現場氣氛的道具吧!
(利用8787的特徵點偵測做為轉輪馬達的觸發開關來抽出表演的順序。)
材料
|
- 註:本文是使援用KSB015這塊使用L298P IC的Arduino擴充板(shield)。讀者亦可使用其他類似功能的版本,例如:L9110S。
- 如果讀者要將項目4的開發板換成Nano或其他Arduino版本,請自行將項目5的傳輸線做調當的調整。
- 技術咨詢(手機加Line:https://reurl.cc/Vadax6)。
造形設計(機構)
請參考轉盤(https://reurl.cc/62EpDr)商品或永不停轉的抽獎大轉盤(https://reurl.cc/5lG72n)的概念設計作品的外觀。記得將8787及其相關電路的尺寸考量進去。
功能設計(電路、程式)
先依照下列二表格及圖1接妥8787、Uno、馬達擴充板與TT馬達的連接線路。
馬達擴充板 |
電池盒
|
TT馬達 |
OUT3(D5) | 紅 | |
OUT4(D6) | 黑 | |
5V/12V | + | |
GND | ─ |
馬達擴充板 |
8787
|
D3 | 黃 |
D4 | 白 |
5V | + |
GND | ─ |
圖1:接線圖。
在Pixetto Utility上(圖2)選用形狀偵測功能,讓8787識別並套用之(例如我們以先前至夏威夷旅行帶回的川普大叔紀念筆做為待測物),詳細操作方法可參考拙著《VIA Pixetto視覺感測器大開箱(unboxing):AI開發工具(Development Kits)篇》(https://reurl.cc/Qd6eVO)一文。
圖2:在Pixetto Utility上選用特徵點偵測功能。
接著,若8787「看見」前述的川普大叔人像商品後就逆轉。否則,就停止馬達轉動。
為了程式易於理解,我們亦在圖三中加入了副程式(subroutines)───本例是用無傳回傳的function)的概念將馬達順轉forward()、逆轉backward()與停止stop()控制獨立成個別的程式片段來呼叫。
為了程式易於理解,我們亦在圖三中加入了副程式(subroutines)───本例是用無傳回傳的function)的概念將馬達順轉forward()、逆轉backward()與停止stop()控制獨立成個別的程式片段來呼叫。
圖3積木程式自動生成的Arduino程式碼如下所示。
#include <Arduino.h>
#include <SmartSensor.h>
SmartSensor ss(3,4);
int motorIn2;
digitalWrite(motorIn1, HIGH);
digitalWrite(motorIn2, LOW);
}
digitalWrite(motorIn1, LOW);
digitalWrite(motorIn2, HIGH);
}
digitalWrite(motorIn1, LOW);
digitalWrite(motorIn2, LOW);
}
void setup() {
ss.begin();
motorIn2 = 6;
pinMode(motorIn1, OUTPUT);
pinMode(motorIn2, OUTPUT);
forward();
delay(500);
stop();
} //end of setup()
void loop() {
if (ss.isDetected()) {
if (ss.getTypeID() == 0) {
backward();delay(500);
}
} else {
stop();
} //end of if
} //end of loop()
圖4:展示影片。
教學活動設計
- 當音樂下了之後,讓8787識別到特徵點後表演左三圈,右三圈(https://reurl.cc/qd5gZ0)。
沒有留言:
張貼留言