2020年10月1日 星期四

喜鸚戲球:使用VIA Pixetto視覺感測器之顏色偵測功能

喜鸚戲球

使用VIA Pixetto視覺感測器之顏色偵測功能[1]

FB2http://gg.gg/TedLeeMicrobitFB/
URL2http://gg.gg/TedLeeMicrobit/

Line:ted2016.kpvs
Email:Lct4246@gmail.com
FB1http://gg.gg/TedLeeFB/
Bloghttp://gg.gg/TedLeeBlog/
URL1http://gg.gg/TedLeeURL/

Oct. 1, 2020
88x31.png[2]

難易度★★★☆☆

主題:馬戲團

鸚鵡派樂星星馬戲團新進的團員。為了能在最新一期的開幕秀上展示給觀眾欣賞,馴訓師正加緊訓練牠學會追彩球的本領。
親愛的讀者們,我們也以8787來排演這齣喜鸚戲球的大戲吧?

 任務:辨色

使用8787來幫助鸚鵡開心地競逐色球玩耍。(使用8787 Pixetto Scratch積木程式辨色後讓鸚鵡逐對應色彩球。)

 材料

項目

品名

單位

數量

1

VTS-8787C視覺感測器

1

2

micro USB傳輸線

1

l   請準備測試用紅、黃球各一。

造形設計

Pixetto Scratch中選用鸚鵡、黃球兩顆三個角色(sprite,並將它們的名稱修改[3]小寫英文字的pariotred_ballyellow_ball。然後,挑選森林做為舞台(stage場景(backdrop。其中,請依照 1將第二顆黃球調整為紅橘漸層色的圓球。

 


1:使用Pixetto Scratch內建的影像編輯工具將第二顆黃球調整成紅橘漸層色。

 功能設計

本文有三個角色:鸚鵡、紅球與黃球。所以,我們要針對他們來個別設計劇本:

 

1. 鸚鵡:當8787看見紅顏色時,立刻向紅球滑(glide過去。請參考 2的積木程式。

2. 紅球:當按下綠旗後,它在畫面上隨機滑動。請參考 3的積木程式。

3. 黃球:和紅球的動作相同。

 


2:鸚鵡的功能設計。

 


3:紅球、黃球的功能設計。

       完整程式碼可由此下載。

成果展示

讀者可參考第二章的內容,使用Pixetto Utility工具先測試8787的辨色功能是否正常再完成本章的範例。相關的展示影片如 https://reurl.cc/9XvWba 所示。

教學活動設計

1. 計分 替本單元加上計分功能。例如:追到黃球得1分、追到紅球得2分。
2.我是大臨演 我們臨時接到通知,大明星麥客安要來嘎戲,請身為導演的你,趕緊修改劇本,讓這位大咖也能大秀演技,以滿足觀眾的期待。


参考資料

  1. 本文系改編自VIA官網 https://reurl.cc/D66796 
  2. 六種授權條款
  3. 針對每一個角色各自賦予合適的名字會讓專案更容易讓人了解。

2020年8月18日 星期二

著色本:使用VIA Pixetto視覺感測器之顏色偵測功能

著色本

使用VIA Pixetto視覺感測器之顏色偵測功能[1]

FB2http://gg.gg/TedLeeMicrobitFB/
URL2http://gg.gg/TedLeeMicrobit/

Line:ted2016.kpvs
Email:Lct4246@gmail.com
FB1http://gg.gg/TedLeeFB/
Bloghttp://gg.gg/TedLeeBlog/
URL1http://gg.gg/TedLeeURL/

Aug. 18, 2020
88x31.png[2]

難易度★★


主題:著色本(Coloring Book)

P最近工作不順,常感覺壓力很大。有一天,他看到女兒小V正拿起著色本邊哼小曲邊著色,一派輕鬆無憂的樣子。剛購入8787的你,是否能也能用上它強大的AI功能來製作一本電子版的「解憂」著色本呢?

任務

各位看官,水果都端上桌了,請替它們上上色吧~。
使用8787辨色功能來替各種水果上新顏色

材料

項目

品名

單位

數量

1

VTS-8787視覺感測器

1

2

micro USB傳輸線

1

l   請備妥測試用紅、黃、綠、藍、紫物件(色筆、彩球、色紙、…)若干。

 

功能設計

1.         按下水果圖案()時清除它的顏色。

2.         當滑鼠碰到水果圖案([3]後開始吸色:也就是將事先備好有顏色的物件靠近8787讓它認 出來以便改變水果「服裝(costume

[4]

 

三種水果的積木控制程式如 1所示。完整的參考範例程式可由 https://reurl.cc/k0d3kr 下載。

 

1:水果控制的完整積木程式。

 

造形設計

還記得童年畫過的著色本(https://reurl.cc/n0z722)嗎?請連到Super Coloring網站(https://reurl.cc/MdvRgX)回味一下小時候拿著著色本塗色的那種小小滿足與快樂。

本章的美工素材(assets要設計三個水果的六種顏色,我們可以使用Pixetto Scratch內建的繪圖工具設計,也可以用其他電腦繪圖程式(例如:Adobe PhotoshopIllustrator…)製作好再匯入。所有素材清單如所示[5]

 

2Pixetto Scratch內建的繪圖工具介面。

 

教學活動設計

1. 將本章範例修改成闖關遊戲,例如:第一關是香蕉著色、第二關是葡萄著色、第三關是蘋果著色,而且每關有預設的答案。玩家必需挑對該水果對應的顏色才能晉級。

2. 1的水果著色順序改為亂數(random點選水果出現的順序。

3. 將本章範例加入限時完成的條件。

4.加入地圖(map的概念,例如:第一張是水果著色地圖、第二張是花類地圖…。


参考資料

  1. 本文系改編自VIA官網 https://reurl.cc/D66796
  2. 六種授權條款
  3. 因為一個人要操作滑鼠,又要讓8787替水果圖案上色。建議先把滑鼠放置在水果圖案內部後再進行辨色會較順暢一些。
  4. 下拉式選單中White、Red、Yellow、Green、Blue、Purple分別圖 2的水果素材檔名。
  5. 三種水果的六個顏色皆以方式各自存檔。

2020年6月28日 星期日

[程式設計工法] C/ C++,a009: 解碼器@0判

C/ C++,a009: 解碼器@0判


FB2http://gg.gg/TedLeeMicrobitFB/
URL2http://gg.gg/TedLeeMicrobit/

Line:ted2016.kpvs
Email:Lct4246@gmail.com
FB1http://gg.gg/TedLeeFB/
Bloghttp://gg.gg/TedLeeBlog/
URL1http://gg.gg/TedLeeURL/

Jun. 28, 2020
88x31.png[1]
解析:
  • 直接run結果建立直觀:
  • Idea:



#include <iostream>
#include <string.h>
using namespace std;

int main(void) {
string str;
int k=-7;

 //Read data in getline(cin, str); //Process data //Shift for (int i=0; i<str.size(); i++) { str[i]=str[i]+k; } //Output data for (int i=0; i<str.size(); i++) { cout<<str[i];
}
}

参考資料
  1. 六種授權條款

2020年6月23日 星期二

[程式設計工法] C/ C++,a005: Eva 的回家作業@0判

C/ C++,a005: Eva 的回家作業@0判


FB2http://gg.gg/TedLeeMicrobitFB/
URL2http://gg.gg/TedLeeMicrobit/

Line:ted2016.kpvs
Email:Lct4246@gmail.com
FB1http://gg.gg/TedLeeFB/
Bloghttp://gg.gg/TedLeeBlog/
URL1http://gg.gg/TedLeeURL/

May. 16, 2020
88x31.png[1]

問題解決(Problem Solving之逻輯思維 =
心法: 程式設計哲思(Philosophical Thinking for Programming) +
技法:程式設計工法(Skills for Programming)


    解析:
    • 直接run結果建立直觀:
    • Idea:將test data讀入(存在1-D陣列data[]中)後計算結果(等差或等比),再依題目需求編排輸出格式。
    • 一般測資(例如:open data)會以CSV(Comma Separated ValuesXML(Extensible Markup Language)JSON(JavaScript Object Notation)格式(format)儲存。所以,programmer會呼叫parser來幫忙將raw data讀進memory中。讀進來的資料常會以arraystructures、甚或data base的tables革等data structures來儲存。
    • 用scanf()讀console輸入的字串時要留意字串結尾控制碼'\0'的額外處理。
    • 學習要學一般的通則(general purpose),這樣會一理通、萬理通。所以,我們乖乖的從stdin讀入data後,存在內部的資料結構。經運算後再丟到stdout(實際應用可能是用.txt、.csv、.xml、.json格式存)。

    #include <iostream>
    using namespace std;

    int data[100];

    void printArray(int t) {
    int i = 0;

    for (i=0; i<5*t; i++) {
    cout << data[i] << " ";
    if ((i+1)%5==0) {
    cout << endl;
    }
    }
    }

    int main(void) {
    //int data[100]={1, 2, 3, 4, 0, 1, 2, 4, 8, 0, 4, 6, 8, 10, 0};

    int i = 0;
    int d1 = 0;
    int d2 = 0;
    int r1 = 0;
    int r2 = 0;

    int t = 0;
    int j = 0;
    int lf = 0;

    //讀入數列筆數
      cin >> t;

      for (i=0; i<t; i++) {
       for (j=0; j<4; j++) {
       cin >> lf;

    data[i*5+j] = lf;
    }
      }

      //printArray();
      
    for (i=0; i<100; i+=5) {
    d1 = data[i+3] - data[i+2];
    d2 = data[i+2] - data[i+1];
    if (d1 == d2) { //處理等差
    data[i+4] = data[i+3] + d1;
    } else { //處理等比
    r1 = data[i+3] / data[i+2];
    r2 = data[i+2] / data[i+1];
    data[i+4] = data[i+3] * r1;
    }
    }

    printArray(t);

    return 0;
    }

    参考資料
    1. 六種授權條款

    2020年6月8日 星期一

    [程式設計工法] C,新北国中資科教甄108,11

    C,新北国中資科教甄108,11


    FB2http://gg.gg/TedLeeMicrobitFB/
    URL2http://gg.gg/TedLeeMicrobit/

    Line:ted2016.kpvs
    Email:Lct4246@gmail.com
    FB1http://gg.gg/TedLeeFB/
    Bloghttp://gg.gg/TedLeeBlog/
    URL1http://gg.gg/TedLeeURL/

    June 8, 2020
    88x31.png[1]

    問題解決(Problem Solving之逻輯思維 =
    心法: 程式設計哲思(Philosophical Thinking for Programming) +
    技法:程式設計工法(Skills for Programming)


      解析:
      • 直接run結果建立直觀
      • 觀察

      #include <iostream>
      using namespace std;

      int main(void) {
      int space=5;
      int X=1;

      for(int i=1; i<=6; i++){ //控制高度 
      for(int j=1; j<=space; j++) //控制每行印幾個空格 
      printf(" ");

      for(int k=1; k<=X; k++) //控制每行印幾個X 
      printf("X");

      printf("\n");
      space--;
      X+=2;
      }

      return 0;
      }

      参考資料
      1. 六種授權條款