Quantcast
Channel: CAVEDU教育團隊技術部落格
Viewing all 678 articles
Browse latest View live

161219 Genuino 101 物聯網藍牙4.0操控實作@成電創客學園,台南成功大學

$
0
0

內容簡介

利用Genuino 101的藍牙4.0功能,建構並操控裝置。您會學到如何自行編寫 Android手機程式來與 Genuino 101溝通,日後就能自行製作很多有趣的互動專題喔!

免費報名請按我

課程時間

12/19(一) 13:00~17:00

課程地點

成電創客學園(台南市東區大學路1號<自強校區奇美樓1樓>)

課程內容

13:00 Arduino IDE環境建置,認識Genuino 101、簡易I/O操作(LED、RGB LED、電位計、繼電器等常用電子元件)
14:00 App Inventor圖形化Android開發環境、人機介面設計、如何安裝App到手機
15:30 BLE通訊機制、App Inventor 的BLE通訊元件
16:00 按鈕控制LED亮滅、語音控制繼電器
16:50 結語

注意事項

1. 請上課同學自備電腦。
2. 由於 Genuino 101 的套件包超過100MB,因此請務必請同學根據本頁說明(https://www.arduino.cc/en/Guide/Arduino101)先安裝 Arduino IDE (1.6.x)之後再安裝 Genuino 101 SDK。
3. 同學分組時,每一組至少需要有一位有Android手機。如果擔心BLE可否執行,可透過這個 app 來檢查。
4. 若上課時間充足,可加入讀取DHT11 溫濕度感測器值並顯示於手機畫面。


Delta DFBM-NQ620 開發板 – mbed 環境建置與 LED 閃爍

$
0
0

本文章要告訴您如何在 MBED 開發者網站上設定好 Delta 的 NQ620 開發板,並控制其數位腳位的高低電位。NQ620的腳位配置與 Arduino相同,很容易連接各種 Shield 和 Grove 周邊裝置與感測器。

購買本開發板請點我喔~ (機器人王國商城)

作者/攝影 曾吉弘
時間   2小時
成本   ❊ mbed開發板 
難度  * * * * *
材料表 個人電腦

Delta mbed 開發板

❊mini USB 傳輸線(不是 micro喔)

mbed 系列開發板都可以使用 mbed 線上開發環境來編寫程式、匯入現成的函式庫與範例,並將執行檔編譯下來之後「放入」開發板之後即可執行。請根據以下步驟操作:

1.登入 ARM MBED開發者網站,請先註冊一個免費帳號。點選右上角的 [Compiler]按鈕

2.進入 workspace之後,這裡就是我們做事情的地方。請點選右上角的 New / New Program…。在 Platform 下拉式選單找到 Delta DFBM-NQ620這塊板子。Template 選擇 Empty Program,後續我們再新增檔案就好。Program Name 就取名叫做 helloWorld 吧!

3.對[My Program] 點選右鍵,選擇[New Program],在此請輸入一個名為

4.請在這個空白檔案中輸入以下內容:

#include "mbed.h"  //匯入所需函式庫

DigitalOut myled(LED4);  //宣告LED4之數位腳位為輸出

int main() {  
   while(1) {
       myled = 1; //亮燈
       wait(0.2);   //等候0.2秒
       myled = 0; //不亮
       wait(0.2);
   }
}
mbed LED blink

5.直接編譯的話,是會發生錯誤的呢,因為第一行的”mbed.h”還沒有匯入。請點選左上角的[Import],點選 Libraries 標籤,於右上角輸入 mbed 之後 Search 就可以看到以下畫面:


 

6.點兩次第一個 “mbed” 官方函式庫,就可以把這個函式庫加入您的專案了。

7.點選 Compile 就會開始編譯專案,接著會下載一個 .hex 檔。檔名格式為”專案名稱 + 版號.hex”,以本專案來說就是 “helloWorld_DELTA_DFBM_NQ620.hex”。編譯完成之後可以在主畫面中看到專案目前的記憶體占用狀況。

8.請將您的板子使用 mini USB線接上電腦,不需要安裝任何 driver 就會被辨識成一個隨身碟。將上一步的 .hex 放入其中,您會看到 NQ620板子上有紅燈會快速閃動以及複製中的進度視窗。

9.完成之後就會自動執行程式,剛剛放入的 .hex 已經不見了,代表已經順利被載入板子中。您的板子上 LD9 這顆 LED 開始閃動了嗎?NQ620 上有四顆板載LED,請參閱下圖是腳位對應,請在D9與GND腳位接一顆 LED 試試看吧!

相關文章參考:台達電 mbed 新品登場 DFBM-NQ620 具備 BLE 與 NFC

[DIY動手做] 發光吧!!聖誕卡片!!

$
0
0

一年一度的聖誕節即將到來,不曉得您是否還在煩惱今年要送什麼禮物呢?別擔心!CAVEDU早就為您想好了,今年的聖誕節讓我們一起來動手做會發光的聖誕卡片吧!什麼!?沒有看過會發光的聖誕卡片!不知道該怎麼做?沒關係,讓我們帶您一步一步做出來吧!

作者/攝影  郭皇甫/吳怡婷
時間   1小時
成本   NT.50-100 (依材料增減做價目調配,此價目為基本材料成本)
難度   *
材料表   ❊ 單色LED

❊ 水銀電池:CR2032

❊ A4卡片紙(種類不拘)

❊ 色紙一包

發光卡片的原理其實就是利用導電膠帶能夠通電的特性,將LED的針腳粘貼上去,並在卡片上圍出造型,加上水銀電池通電後就能讓LED發光了呢!很簡單吧,現在就讓我們一起跟著以下的步驟來動手做做看吧!

準備材料:

  1. LED燈:一顆。
  2. 水銀電池:CR2032,3V。
  3. A4卡片紙:紙張的種類不拘,雲彩紙、西卡紙、粉彩紙…等都可以。
  4. 色紙:依個人喜好做挑選。
  5. 著色工具(色鉛筆):您可以依照自己的喜好使用色鉛筆、蠟筆或是彩色筆,甚至您也可以使用水彩或廣告顏料。
  6. 美工刀、剪刀。
  7. 導電膠帶1M:導電膠帶分有背膠與無背膠,您可以依照自己的喜好選購。一般市售的導電膠帶長度有20M、30M不等,寬度1公分或更寬也可以,本文使用寬度1公分有背膠。(所謂的背膠是指膠帶本身像貼紙一樣粘在一塊平滑的紙上,可以在確定好長度以及擺放的位置後再剪下並撕開。)
  8. 棉花。(非必要)
  9. 鉛筆、簽字筆。
  10. 膠帶、口紅膠、小印章(非必要)

STEP1.繪圖。

利用鉛筆在A4卡片紙上構圖,先畫出一個大概的圖案後,再用簽字筆描一遍定槁,在這裡我們畫出聖誕老公公的臉。

用鉛筆構圖

 

簽字筆定稿

 

STEP2.粘貼導電膠帶。

將導電膠帶撕開一小段,先沿著一邊的倫廓貼一段剪掉後,再貼另外一邊。請注意左右二邊的導電膠帶不要連在一起,右邊的導電膠帶末端要留一段往回折起來。

沿著線稿先貼一邊

末端往回折

 

再貼另外一邊(請注意二邊的導電膠帶不要連起來,如紅線框起來的地方)

 

STEP3.固定LED與水銀電池。

將水銀電池無字的一面朝上放在左側下方的導電膠帶上面並用膠帶固定;將LED的二隻針腳分別用膠帶固定在二側的導電膠帶上,LED燈裡面大塊那一邊的針腳粘在右邊,小塊的粘在左邊。

(這時候您可以先測試看看LED會不會亮,將右邊反折起來的導電膠帶碰觸水銀電池,LED燈就會亮起來)

 

STEP4.著色。

使用色鉛筆或其它著色工具,將聖誕老公公的臉及帽子上色。

臉部塗上皮膚色;嘴色塗紅色

帽子塗紅色

 

STEP5.裝飾、完成。

在鬍子的地方塗上口紅膠,並撕一些棉花粘在上面;用色紙剪出眼睛的形狀並粘在臉上;再剪出禮物盒及鍛帶的造型,並用口紅膠粘在任意的位置上作裝飾就完成了。

[程式教學] Arduino 101結合 Processing 互動滾球遊戲

$
0
0

本文章要告訴您如何結合 Processing IDE 與 Arduino 101 開發板來設計一個滾球遊戲。藉由 Arduino 101 開發板上的加速度計與陀螺儀感測器來感測板子於空間中的傾斜、位移與轉動的狀態,藉此控制球在畫面上的四處移動,就好像零食乖乖附贈的小玩具一樣。

作者/攝影 曾吉弘
時間   2小時
成本   ❊ Arduino101開發板  $1,575  (購買連結)
難度  * * * * * *
材料表 ❊個人電腦 (作業系統可用 Windows, Mac OSX 與 Linux,本範例使用 Windows 7)

❊Processing IDE  (2.0 or 3.0 皆可,本範例使用 2.2.1)

❊Arduino IDE 1.6.x 版以上

❊Arduino 101開發板

 

本範例是阿吉老師於海洋大學機械系學期課程的課堂小挑戰,修改 Arduino官網的範例來製作一個滾球遊戲,藉由搖擺 Arduino 101 開發板來控制 Processing 畫面上的球移動,這運用到了Arduino 101的加速度計與陀螺儀感測器,並理解如何透過序列通訊讓 Arduino 與 Processing (您的PC) 彼此溝通,後續要改成藍牙也是沒有問題的。

 

這類型的遊戲通稱為 labyrinth,玩法都差不多就是控制球走到終點,iOS 或 Android 都有非常多可以下載,您可以多載幾個來玩並把一些可怕的功能加入本範例中。

 

實際操作影片:www.youtube.com/watch?v=wxrCQRF8FZ4

Arduino官網範例的實際執行影片:www.youtube.com/embed/WyVhrwHfmvI

 

Processing code (重要程式碼說明列於註解)

Processing 會讀取來自指定序列埠的 Arduino 所送來的資料,也就是加速度計與陀螺儀感測器值(Arduino 101 有內建的濾波器函式先處理過了,不然應該會抖動地相當嚴重)。

接著根據這些數值來決定灰球的XY位移,畫面上有陷阱(黑色球)與過關點(黃色球),當揮球與陷阱重疊達10像素(這個值您可以自行調整,不然一碰到邊邊就死掉也太嚴苛了吧……)時就會回到起點(畫面中央的紅色方塊)。

過關條件是灰球”完全”位在過關點中就會顯示紅色 WIN !!!」 字樣,當然這個條件您也可以自行調整。

import processing.serial.*;

Serial myPort;
float x=0;

float y=0;

float yaw = 0.0;     //陀螺儀Z軸

float pitch = 0.0;    //陀螺儀X軸

float roll = 0.0;      //陀螺儀Y軸
void setup()

{

 size(600, 500, P3D);
 myPort = new Serial(this, “COM3”, 9600); //請改為您電腦上對應的COM port
 // if you know the serial port name

 //myPort = new Serial(this, “COM5:”, 9600);                    // Windows

 //myPort = new Serial(this, “/dev/ttyACM0”, 9600);             // Linux

 //myPort = new Serial(this, “/dev/cu.usbmodem1217321”, 9600);  // Mac
 textSize(16); // set text size

 textMode(SHAPE); // set text mode to shape

}
void draw()

{

 serialEvent();  //呼叫本函式,讀取序列埠訊息

 background(255); //背景設為白色

 lights();
 translate(width/2, height/2); // set position to centre
 pushMatrix(); // begin object
 float c1 = cos(radians(roll));

 float s1 = sin(radians(roll));

 float c2 = cos(radians(pitch));

 float s2 = sin(radians(pitch));

 float c3 = cos(radians(yaw));

 float s3 = sin(radians(yaw));

 applyMatrix( c2*c3, s1*s3+c1*c3*s2, c3*s1*s2-c1*s3, 0,

 -s2, c1*c2, c2*s1, 0,

 c2*s3, c1*s2*s3-c3*s1, c1*c3+s1*s2*s3, 0,

 0, 0, 0, 1);
 popMatrix(); // end of object
 //顯示座標訊息

 print(x);

 print(“\t”);

 print(y);

 println(“\t”);
 background(255);

 fill(255, 0, 0);
 float dx=roll*0.11111;

 float dy=-pitch*0.11111;

 x=x+dx;   //float x=0 out of void draw

 y=y+dy;   //float y=0 out of void draw
 //邊緣偵測,在此設定讓球不會出界,但您可以改掉

 if (x>285) {

   x=285;

 } else if (x<-285) {

   x=-285;

 }

 if (y>235) {

   y=235;

 } else if (y<-235) {

   y=-235;

 }
 fill(192, 192, 192);      //灰色

 ellipse(x, y, 30, 30);   //根據x y變數值決定灰球位置

 fill(255, 0, 0);             //紅色  

 rect(-25, -25, 50, 50); //起始點

 fill(255, 215, 0);        //土黃色

 ellipse(300-25, 250-25, 50, 50); //過關點位置l

 fill(0, 0, 0);                 //黑色

 ellipse(-300+25, -250+25, 50, 50);//陷阱位置
 //是否掉入陷阱,如果重疊到一定比例則回到起始點重來

 if (sqrt(pow((x+275), 2)+pow((y+225), 2))<=10) {

   x=0;

   y=0;

 }
 //是否過關,則顯示相關訊息

 if (sqrt(pow((x-275), 2)+pow((y-225), 2))<=10) {

   textSize(64);

   fill(255, 0, 0);

   text(“WIN!!!”, 130, -125);   //顯示勝利訊息

 }

}
void serialEvent()

{

 int newLine = 13; //ASCII編碼中的換行字元: \n

 String message;

 do {

   message = myPort.readStringUntil(newLine); //讀取序列埠訊息直到讀到 \n 為止

   if (message != null) {  //如果有訊息進來

     String[] list = split(trim(message), ” “);

     //trim()會先移除 message字串頭尾的空白

     //再由split()以” “來切割message並存入list,這與Arduino code中的 Serial.print()對應

     //https://processing.org/reference/trim_.html

     //https://processing.org/reference/split_.html

     if (list.length >= 4 && list[0].equals(“Orientation:”)) {

     //檢查分割後的陣列長度是否正確,且第一個元素是否等於”Orientation

     //代表抓到第一筆訊息的位置,後續取 list[1]~list[3]才會正確

       yaw = float(list[1]);  //取得 yaw

       pitch = float(list[2]); //取得 pitch

       roll = float(list[3]);    //取得 roll

     }

   }

 }

 while (message != null);

}

 

Arduino code

(來自https://www.arduino.cc/en/Tutorial/Genuino101CurieIMUOrientationVisualiser,未修改)

 

#include <CurieIMU.h>

#include <MadgwickAHRS.h>   //濾波函式庫

//http://x-io.co.uk/open-source-imu-and-ahrs-algorithms/
Madgwick filter;   //宣告濾波器物件

unsigned long microsPerReading, microsPrevious;

float accelScale, gyroScale;
void setup() {

 Serial.begin(9600);   //建立對Processing的序列通訊
 //啟動IMU與filter

 CurieIMU.begin();

 CurieIMU.setGyroRate(25);

 CurieIMU.setAccelerometerRate(25);

 filter.begin(25);
 //將加速度計數值範圍設定為2G

 CurieIMU.setAccelerometerRange(2);

 //將陀螺儀數值範圍設定為 250 degrees/second

 CurieIMU.setGyroRange(250);
 // initialize variables to pace updates to correct rate

 microsPerReading = 1000000 / 25;

 microsPrevious = micros();

}
void loop() {

 int aix, aiy, aiz;

 int gix, giy, giz;

 float ax, ay, az;

 float gx, gy, gz;

 float roll, pitch, heading;

 unsigned long microsNow;
 // check if it’s time to read data and update the filter

 microsNow = micros();

 if (microsNow – microsPrevious >= microsPerReading) {
   //讀取CurieIMU的raw值

   CurieIMU.readMotionSensor(aix, aiy, aiz, gix, giy, giz);
   //將 raw值分別轉為對應的單位:加速度計(g) / 陀螺儀(degrees/second)

   ax = convertRawAcceleration(aix);

   ay = convertRawAcceleration(aiy);

   az = convertRawAcceleration(aiz);

   gx = convertRawGyro(gix);

   gy = convertRawGyro(giy);

   gz = convertRawGyro(giz);
   //要求 filter 取得 IMU值進行計算

   filter.updateIMU(gx, gy, gz, ax, ay, az);
   //顯示 filter 處理後的XYZ軸向訊息, X: pitch, Y:roll, Z: heading = yaw

   roll = filter.getRoll();

   pitch = filter.getPitch();

   heading = filter.getYaw();

   //以下開始發送資料

   Serial.print(“Orientation: “);

   Serial.print(heading);

   Serial.print(” “);

   Serial.print(pitch);

   Serial.print(” “);

   Serial.println(roll);
   // increment previous time, so we keep proper pace

   microsPrevious = microsPrevious + microsPerReading;

 }

}
float convertRawAcceleration(int aRaw) {

   //由於將加速度計數值範圍設定為2G, 在此進行轉換

   // -2g對應到 raw 值的 -32768, +2g 則是 32767
  // since we are using 2G range

 // -2g maps to a raw value of -32768

 // +2g maps to a raw value of 32767

 

 float a = (aRaw * 2.0) / 32768.0;

 return a;

}
float convertRawGyro(int gRaw) {

 //由於將陀螺儀數值範圍設定為250 degrees/seconds, 在此進行轉換

 // -250 對應到 raw 值的 -32768, +250 則是 32767

 

 float g = (gRaw * 250.0) / 32768.0;

 return g;

}

[活動紀錄] 2016 新北Mini Maker Faire 物聯網好棒棒分享會

$
0
0

撰寫/攝影:曾吉弘

10月底的新北 Mini Maker Faire,我們邀請到許多物聯網相關廠商到場分享,除了帶來現場精采有趣的demo之外(有機器人也有光劍!),還與大家分享不同領域對於物聯網的看法。各段的投影片分享於文末

 

2016/10/29

博弘雲端科技:Amazon Web Services

 

研揚科技:當創客碰上UP板 – Intel CherryTrail 高效能 Maker 開發者平台

 

聯發科:絕地武士心靈控制家用雲端智慧型物聯網光劍搭載無線路由器光劍底座

 

2016/10/30

IBM雲端及認知運算於物聯網之應用

QNAP:QIoT Containers 您專屬的IoT私有雲平台

CAVEDU:阿吉老師閒聊時間 – 上海、深圳Maker活動見聞分享

 

10/29

AWS亞馬遜雲端運算服務 (NEXTLINK)

 

研揚科技:AAEON 當創客碰上UP板 – Intel Cherry Trail 高效能maker開發者平台@2016 new taipei maker faire

 

 

聯發科技創意實驗室:絕地武士心靈控制家用雲端智慧型物聯網光劍搭載無線路由器光劍底座

 

IBM:IBM以雲端技術與物聯網創新產業應用

 

QNAP威聯通:物聯網好棒棒 您專屬的IoT私有雲平台

[Scratch教學] 聖誕節快樂-小遊戲製作:聖誕老人接禮物

$
0
0

聖誕節快到了,聖誕老人卻還沒有將禮物準備好,全世界的小朋友都在等待收到禮物的那一刻,該怎麼辦呢?別擔心,就讓我們一起來幫助聖誕老人收集禮物吧!!

(本文所有圖片與音樂皆下載自網路)

圖片來源:https://www.tintint.com/occasion/christmas_gift

                   http://www.miankoutu.com/pic/13110

音樂來源:https://www.lds.org/topics/christmas/resources/audio?lang=zho

作者/攝影  郭皇甫
時間   6小時
成本  時間就是成本
難度   * * *
材料表   ❊ 電腦(Windows系統)

❊ Scratch 軟體(Scrach官網可直接安裝)

今年我們用Scratch製作了一款小遊戲來應景,這款遊戲的名稱叫作「聖誕老人接禮物」,利用鍵盤的左右方向鍵來控制聖誕老人的移動,接到了禮物就會加分;若是接到了炸彈就會扣分喔!!讓我們先來實際感受一下整個遊戲吧!!

是不是簡單又有趣呢?這款小遊戲分成「角色」「背景」,角色又分為「人物」「物品」;而背景裡則有「音樂」「分數」「初始值」,接下來讓我們一步一步來說明如何製作吧!

 

人物:

角色決定:一款遊戲裡一定會有主要的角色,首先決定這款遊戲的主角,並從網路上搜尋理想的圖片或是自行繪製出角色,在這裡我們使用從網路上下載的聖誕老公公圖片。由於在角色移動的過程中需要有走路的樣子,因此在搜尋圖片時,可以加上gif或是「連續圖片」的關鍵字,能讓您更快速地找到想要的圖片。

 

搜尋圖片

 

角色移動:決定圖片以後,接下來請您開啟Scratch軟體,並按以下步驟進行。(在這裡我們使用的是Scratch 1.4版)

 

步驟一:匯入圖片。

「新增角色」中點擊「開啟角色檔案」,並找到您在網路上下載或是自行繪製的角色圖片,按下「確定」後即可在角色區看到您的角色圖片。

 

新增角色

開啟角色

新增成功

 

步驟二:新增造型。

由於我們需要角色在移動時能夠有走路的效果,因此我們利用造型切換來達到這個目的。點擊「造型」,在「新增造型」裡選擇「匯入」,將步驟一裡的角色連續圖片都匯進來,如此一來,這個角色裡的造型就有了走路的分解圖片,只要我們切換造型,就能夠讓它看起來像是在走路一樣。

 

匯入造型

匯入成功

 

步驟三:角色初始設定。

一開始將角色的大小、位置以及最先出現的造型設定好,避免在重新執行遊戲時,角色不是在我們想要的位置或大小。

 

步驟四:角色移動。

接下來,我們要讓角色在按下左鍵能夠往左移動;按下右鍵能夠向右移動。因此,在程式裡的順序就是「按下左鍵」「下一個造型」「移動-5步」;「按下右鍵」「下一個造型」「移動5步」。這時,您會發現一個問題,若是圖片裡沒有面向左右二邊的造型,那麼左右移動時就會只面向同一邊移動,還好Scratch有左右翻轉的功能,按下程式區上方的雙箭頭符號,即可讓角色轉向不同邊喔!

使用翻轉功能

按下右鍵、面向90方向、下一個造型、移動5步

按下左鍵、面向-90方向、下一個造型、移動5步(請注意,因為已經面向-90的方向,所以在移動5步裡,並不需要改成負號)

物品:

步驟一:初始設定。

一樣是決定物品的大小與位置,不過在這裡,我們要讓物品有隨機落下的感覺,所以在位置上使用了運算裡的「隨機選一個數」並在最外圍加上「重複執行」,讓物品在隨機的x座標裡出現,並且在一開始加入外觀區裡的「顯示」。

決定大小、位置與顯示並加上重複執行功能

步驟二:物品落下。

物品掉落時,會有碰到角色與碰到地面的情況,因此我們讓物品重複執行掉落的動作,並且以「碰到角色」與「y座標<-170」為執行下一個事件的條件。

 

物品重複執行落下並旋轉

步驟三:物品事件。

物品在掉落時,有沒有碰到角色這件事,會作為觸發事件的條件。如果碰到角色,那麼物品會消失,並且在角色的頭上出現分數的符號。因為物品在掉落的過程當中是不停旋轉的,因此,我們讓分數出現時,固定面向90的方向,最後再增加「等待隨機秒數」,如此一來,物品就不會死板板的在固定的時間出現;反之如果沒有碰到角色,則隱藏並等待隨機秒數。請記得在物品的造型裡匯入分數的圖片,並在程式裡使用外觀區裡的「切換到造型」,如此一來就能在碰到角色時,將物品圖片切換成分數的圖片。

新增分數造型

 

物品是否碰到角色的觸發事件

為了讓遊戲更豐富,我們還增加了糖果與炸彈,不同的圖片能夠為遊戲帶來不同的效果喔!

 

背景:

步驟一:初始設定。

在背景裡,我們要將分數、時間以及音樂都放進來,因此,要在變數區裡新增「分數」並設定初始值為零;計時器要歸零,並且設定時間超過30秒時,遊戲停止;重複播放10次音樂,若是不限制次數,則音樂會不斷跳回一開始而造成無法播放。

 

設定分數初始值、音樂與計時器

 

步驟二:分數設定。

我們可以先在角色裡設定「當碰到哪一種物品時,廣播加分或扣分」,然後在背景裡設定「當接收到加分或扣分時,將分數增加或減少」。因此,我們在控制區裡的「廣播」開新檔案,並分別命名「加10分」、「加5分」、「加2分」、「扣10分」,設定條件「當碰到角色5,則廣播加10分並等待0.5秒」。加入等待秒數是為了要讓計分有緩衝的時間,才不會導致只碰到一次物品卻加了10次分數。最後,在背景裡接收廣播並讓分數增加或減少。

 

廣播開新檔案並命名

 

在角色裡設定碰到物品的條件並廣播

在背景接收廣播,並設定變數「分數」增加或減少

最後,在背景裡放上聖誕樹的圖片與地面裝飾遊戲,讓畫面看起來更完整,您也可以試著多增加一個背景,做出遊戲開始的介面,會讓您的遊戲跟別人不一樣喔!

 

相關文章:

Scratch設計:射擊遊戲:火龍鬥勇者

[Scratch 2.0]小遊戲製作教學-人物篇(一)移動

[Scratch 2.0]小遊戲製作教學-人物篇(二)攻擊、受傷動作

[Scratch 2.0]小遊戲製作教學-場景篇:計時器、血量條

Scratch Board專案設計:觸碰感應手指 小小音樂家

[3D繪圖] 設計自己的積木,樂高齒輪篇(一)

$
0
0

樂高的積木相信很多人都玩過,所包含的組件也包羅萬象,可是每次組想要的東西時,常常發現想要的組件總是不夠多,或是手邊就是沒有這種規格的積木,尤其機械類玩具,齒輪更是其中重要的角色,可總是沒有剛好的規格可用,導致外型需要遷就或做不出來。

在現今社會多數人都見過了3D印表機了,有沒有可能自己製造想要的關鍵積木呢?但是礙於3D軟體往往高貴又難學,免費軟體往往又沒有辦法輸入數值精確定位,難道自製只是空想嗎?

在這樣的困難情況我發現了一線曙光DesignSpark Mechanical,或許以前大家沒聽過這套軟體,可是它除了免費以外高階繪圖軟體的功能大多都具備,而且也能輸入尺寸精確定位,讓我感覺到自製齒輪不再是空想。

因此有了撰寫此篇文章的念頭,當然齒輪畢竟是機械中重要的角色,隨便畫畫可能無法使用,也許我們需要多些篇幅才能完成,今天就讓我們先看看畫齒輪前需要哪些重要的基礎知識吧。

 

作者/攝影  陳煜倫
時間   2小時至3小時(分兩堂課)
成本  

❊ PLA列印約40分鐘
❊ 代課列印約240元整

 

難度   * * *
材料表   ❊ 印匠印表機乙台

❊ PLA用料乙捲

❊ 樂高積木數個

1st.DesignSpark官網

STEP1.下載軟體

進入DESIGNSPARK的首頁,如網站頁面為英文介面可於首頁右上方選擇中文介面。

 

網頁中的選單中,請按下設計軟件 ➜ 三維建模軟件 ➜ 下載及安裝 ➜ 一直下一步就可安裝完成

 

STEP2.註冊帳號

註冊官方帳號可以他人交換心得

 

1st.齒輪的知識

以下齒輪相關圖參考自全華出版社 工程圖學 第七版

STEP1.如何定義齒輪?

齒輪也有不同形式,最常見的平常稱之為正齒輪,下面所有的均以正齒輪來說明。

一般齒輪只要有:

  • 齒數:齒輪上凸起的數目。
  • 模數:決定齒型大小的依據。
  • 壓力角(14°~20°):齒輪直徑與齒形側面的交角。

即可,其他都可以經由計算方式獲得,當然還有個既重要,又不太重要的數據,齒輪厚度,但基本上跟與其他齒輪的配合影響不大。

接下來我們介紹幾個主要的名詞。

STEP2. 節圓

當畫齒輪時會先決定兩齒輪的旋轉圓心。

再畫出以兩個圓心為中心且互為相切的圓。

此兩個相切的圓就可當作兩齒輪的節圓

 

當兩個齒輪互相齧合時,兩個節圓互為相切,所以有很多繪製簡易圖甚至僅繪製節圓來表示。

節圓直徑=齒數X模數。

節圓是畫齒輪最重要的參考圓

 

STEP3. 齒數、模數

齒輪上齒的數目就是齒數,它也決定了齒輪互相間轉動的速度,是計算轉速比例的依據。

模數是用來決定齒型的大小,模數越大齒型越大,而且不同模數的齒輪更是難以配合。

 

與所有齒型的最高點相切圓為齒頂圓

齒頂圓與節圓的差距就是模數

▲圖右為模數1,圖左為模數5▲

畫齒輪的三圓?(齒輪也有三圍?)

畫齒輪圖時有三個重要的圓,節圓、齒頂圓、齒底圓,其中節圓是畫齒輪最重要的參考圓。

齒頂圓直徑=節圓+模數。

齒底圓直徑=節圓-1.25模數。

一般圖面上表示齒輪時,若有畫出三個圓來表示,就是節圓、齒頂圓、齒底圓。

STEP4. 齒型

齒輪依據不同的需求有不同的外型。其中擺線漸開線是最常使用的齒型。現行多以近似畫法完成。主要原因是製造時精度無法掌握,或齒輪運作時影響不大。

此外齒型也並非只有這兩種較精確的齒型才可運作正常,像本篇介紹LEGO使用的齒輪使用三角形畫出的齒型依然可以正常運作。

 

STEP5. 擺線

擺線是一個圓沿一條直線運動時,圓邊界上一定點所形成的軌跡

擺線用於鐘錶使用,能正確的即時互相連動,但是磨損情況較大且需要較精確的間距計算,目前除時間計算等情況已不使用。

 

STEP6. 漸開線

漸開線為一曲線,由繞於一正多邊形或圓形之緊索上之一點,向外伸開時所成。

漸開線齒輪有壓力角恆定的特性,且製作較擺線容易,可容許少許誤差。

因此現行漸開線使用機會比其他種類齒形機會都高。

 

STEP7.適合DS的齒輪製作方法

Lego齒輪因不需太精確的動作,且DS本身是以繪製簡單圖形為主,因此本團隊經實驗以簡化的橢圓齒形畫法完成。

除確保齒輪可用外,亦具備簡單易學特性。

經實驗橢圓形在3D印出的時候可以將誤差降低。避免與原始設計圖樣差距過大。

 

STEP8. Lego Z40齒輪計算

本次以Lego 40齒為範例

以下就是所需計算:節圓=模數X齒數=1X40=40

齒頂圓=節圓+模數X1=40+1X1=41

齒底圓=節圓-模數X1.25=40+1X1.25=38.75

齒寬弧長=節圓÷(齒數X2)=40π÷80=0.5 π

 

第一篇就先介紹齒輪的各項所需知識,後面要開始教畫圖了喔!敬請期待。

[Intel好物分享及教學] Intel RealSense 3D攝影機,一開始安裝到試玩小遊戲

$
0
0

深度攝影機已經開始越來越普及,而在有些筆電上面也已經開始應用,深度攝影機可以用在人臉辨識、手勢辨識和一些體感遊戲(例如Xbox上的Kinect)。這次要介紹的是Intel的RealSense Camera F200。開箱可以看這一篇[Intel® RealSense™ Camera F200 開箱文]

作者/攝影   黃品叡
時間   約1小時
成本  Intel RealSense Development Kit 目前暫無販售
難度   *
材料表  ❊RealSense F200

❊Windows 7 / 8 / 10

❊ 電腦需有USB3.0

RealSense最被看好的有那些東西呢? 參考文章

  1. F200擁有三種鏡頭:傳統RGB鏡頭、紅外線鏡頭、 紅外線雷射投影機
  2. 可以進行3DMe – 3D人物臉部掃描
  3. 玩Space Astro Blaster – 體感遊戲
  4. 可以結合Scratch-圖形化語言程式

本篇目標是教大家如何入門使用RealSense。

我們分成兩個部分分享(1)從安裝驅動到安裝SDK,最後會有可以用來(2)測試的遊戲可以用RealSense玩玩看

(1)從安裝驅動到安裝SDK

Step1:首先在Intel RealSense網站上下載Camera F200驅動,安裝完成後會再裝置管理員裡看到RealSense的相機,在左下角windows鍵上按右鍵→裝置管理員 (若有成功安裝驅動,可跳過此步驟)

Step2:

(若有成功安裝完成SDK,或者是只是要安裝驅動而不是要進階功能的人,可跳過此步驟)

首先先下載Intel RealSense SDK(連結)

▼輸入email與國家▼

❊注意:在註冊的地方要注意的是密碼的部分,密碼必須要包含符號「# $ %」、英文、數字各一個,長度8~15

Step3:完成後就會有兩種下載可以選,上面是下載器,下面是直接瀏覽器下載(我是用這個)

Step4:下一步 loop (這就不多解釋摟)


▼完成▼

=================================================================

(2)測試的遊戲可以用RealSense玩玩看

Step1:

開始使用:那現在來玩玩這台攝影機的遊戲吧!

▼[一波遊戲][Warrior Wave] 載點 ▼

▼那下載完,安裝完。(注意你安裝的位置!!)▼

  

▼就開始吧! (開啟資料夾裡的Warrior Wave.exe 應該很明顯吧!)▼

 

Step2:

遊戲開始後選擇語言,當然是最有親和力的繁體中文拉

▼那就開始吧!▼

▼劇情…(pass)▼

▼開始拉~▼

▼這個時候把手放到攝影機前,就有手的輪廓,再來就看你怎麼玩拉▼

▼OK~簡單的第一關~之後就慢慢玩吧~▼

這篇也就是教大家怎麼使用RealSense而已,那接下來會進入到SDK的部分,也就比較進階的應用,而進階應用會關係到程式語言(C++, C#, java…等),所以下一篇在詳細說明。(敬請期待喔~)

 

❊感謝臺灣Intel提供。

 

相關文章:Intel® RealSense™ Camera F200 開箱文,感謝台灣 Intel 支援

 


[物聯網 分享教學 ]2017版Arduino Yun 自動發布 Facebook 個人動態 –使用 Temboo

$
0
0

本文要告訴您如何使用 Temboo 網站,讓您的 Arduino Yun (或其他相容開發板) 可以自動或根據某些條件發布 Facebook 動態。

本文修改自2015版的[Temboo – Arduino yun 發佈 Facebook 個人動態]一文,因為 Temboo 與 Facebook 在相關認證上的作法皆有調整。

作者/攝影   曾吉弘
時間   3~4小時
成本 Arduino Yun 開發板 = $2500 購買連結
難度   *
材料表  ❊個人電腦 (作業系統可用 Windows, Mac OSX 與 Linux,本範例使用 Windows 7)

Arduino IDE 1.0 版以上,可上傳程式到 Arduino yun 即可,本範例使用 1.6

Arduino Yun 開發板

 

Temboo 是一個好用的社群網路互動網站,您可利用 Temboo 的各種函式庫來上傳資料到 Google spreadsheet、發送 Gmail 以及上傳 webcam 照片到 Dropbox 等功能。Temboo 有免費也有付費的帳號。請參閱本團隊翻譯的[實戰物聯網開發:使用Arduino Yun] 這本書中有許多有趣的範例。

 

接著就一起來操作吧!

 

Temboo 端

1.請到 Temboo網站申請一個帳號,登入之後請點選畫面右上角您的帳戶名稱,於下拉式選單中點選 Applications,進入應用程式畫面。在此的 Application 是指一個用來與 Facebook 互動的外部程式,我們需要把他與後續建立的 Facebook app 兩者打通。

 

2.在Applications 頁面中,點選 New Application 建立一個應用程式,在此取名為 myFirstApp,完成之後會看到 KEY。

Facebook 端

3. 接著請到 Facebook 開發者網站,請用您原本的 Facebook 帳號登入即可。點選右上角的個人大頭照,於下拉式選單中找到[新增應用程式]。這是 Facebook 應用程式,不要和 temboo 應用程式搞混了!

新增完成之後,會看到應用程式編號與密鑰,這後續都要填在 Temboo 中。


4. 同一個頁面下,左側,設定 ➜ 新增平台 ➜ 網站 ➜ 填入這個網址https://xxx.temboolive.com/callback/    紅字為您的 temboo 帳戶名稱,完成如下(記得儲存變更)

又回到Temboo

5. 在Temboo 的 InitializeOAuth頁面填入 Facebook 應用程式 ID,會在下方產生一個認證網址,請點選它   

6. 這是 Facebook 詢問您,是否同意這個外部程式取得相關權限,您在玩一些 Facebook 小遊戲或是 [誰在暗戀你] 這種隨機算命程式時都會看到這個畫面。不過一般來說,通常我們也沒有特別注意就按確定了,沒錯吧?

有關各式權限的補充:https://developers.facebook.com/docs/facebook-login/permissions/

7. 在 Temboo FinalizeOAauth 頁面輸入Facebook 的AppID, AppSecret 與 CallbackID,Run ➜ 終於取得 accesss token

8.回到 Temboo Facebook setStatus 頁面發布個人狀態 ➜ Run。您也可以透過 sensor event 來決定要怎樣的條件下觸發這個動作,相關設定都會自動產生成一份 Arduino Yun 可執行的 code,上傳後執行就可以了

在此我在 Message 欄位輸入 「I love coding」這段文字,您也可以在程式碼中把感測器值組合成字串之後發送,調整的彈性很大。


 9. 回到您的 Facebook 個人首頁看看吧,成功了!

 

 

相關文章:

 

2016的CAVEDU感謝有您,邁向2017

$
0
0

各位師長、好朋友們,2016的CAVEDU感謝有您的支持。今年還是要回顧一下做了什麼事情:

首先,我們執行了新北市Mini Maker Faire,阿吉在10月也連續去了上海與深圳的創客嘉年華,兩岸目前有愈來愈多個人與公司投入這個領域,不管是從什麼角度切入,有人關注代表有一定的熱度。

出版:出版了4本書,翻譯了5本書,其中多數已經成為課程在執行中,例如海洋大學與台北商業大學都使用 Arduino 101 搭配 App Inventor 進行各種互動專題

14900477_1187934257944113_3656068376457863047_n

也有從課程彙整合成的結晶:[Arduino從入門到雲端]就是我們從2013年底於 Makerbar Taipei等共創空間所開設的Arduino基礎課程,找出我們認為初學者一定要知道的地方,搭配有趣的專題,希望大家喜歡。當然別忘了 7688 的書也要出版了~

在合作方面,阿吉老師3月去了一趟 MIT 麻省理工學院參加培訓,很高興能幫上一點忙:成為 MIT App Inventor 在物聯網方面的教育合作夥伴EV3機器人元件就是我們開發的喔。

IMG_2010

為了讓接觸到更多朋友,我們在T客邦開 7688、 App Inventor 以及樂高EV3等課程,反應還不錯喔。

IMG20160701202259

對於物聯網這個議題,我們覺得焦點已從開發板轉為各項雲服務。加上107課綱的推動,也樂見許多觀望中的企業共襄盛舉。5月於台北職能發展學院所舉辦的物聯網應用發表會,邀請了Amazon、IBM、Mediatek與 Microsoft (按字母順序排列) 來分享各家對於物聯網的切入點。

2017的CAVEDU,對於教育的初衷沒有變,您常常可以在各種教學、競賽場合遇到我們。自大也好,傻勁也好,總覺得有義務把有趣的東西帶給孩子們。

雷切四弦琴,使用Scratch board,小朋友看到超喜歡

與師大附中同學參觀台灣微軟,即時臉孔與情緒偵測牆

CAVEDU致力於提供並分享優質教學內容,期待與您不期而遇。對於這個領域有興趣的朋友,歡迎加入CAVEDU喔

[3D繪圖]設計自己的積木,樂高齒輪篇(二)

$
0
0

上週已經有上過齒輪相關知識了[3D繪圖] 設計自己的積木,樂高齒輪篇(一)

這次我們就開始上實作繪圖,當然最後就是上3D印表機列印了。

作者/攝影  陳煜倫
時間   2小時至3小時(分兩堂課)
成本 ❊ PLA列印約40分鐘
❊ 代課列印約240元整
難度   * * *
材料表   ❊ 印匠印表機乙台

❊ PLA用料乙捲

❊ 樂高積木數個

1st.DesignSpark Mechanical

STEP1.開啟程式

在上次課程中我們已經有教了軟體安裝,各位應該電腦中都已經安裝完成,桌面上應該都有「」ICON,這就是我們今天的目標。就請將它按下去吧!接著我們會發現進入畫面,那我們就是進入完成了。

STEP2.開啟新設計圖

依序開啟檔案 ➜ 新增 ➜ 設計有些人喜歡用快捷鍵,也可以按下(Ctrl+N)

STEP3.開啟草圖模式

依照下圖開啟。

預設是在XY平面,本次使用原本預設的就可以。若想要在其他平面開啟草圖,那就要先選擇3D模式

再轉到其他平面(一開始只有3個基本平面),點選左鍵確定平面,就會回到以該平面為基準的草圖模式。

STEP4.在預設XY平面上畫出三圓

以圓型指令依計算出的數據畫出三圓,先指定圓點為圓心。

拉出圓形時會出現可輸入尺寸方格,直接輸入數字即可。

還記得上一篇有計算出來的數字嗎? 我們再複習一次。

我們要畫出的三個圓,節圓、齒頂圓、齒底圓,以Z40為例子,應該要畫出的直徑分別為40mm,41mm,38.75mm。

STEP5.按下正面視圖以利繪製

按下正面視圖,方便後續繪製,滑鼠中間滾輪可以放大縮小視圖。

STEP6. 在節圓上畫出橢圓齒型

在齒底圓上畫出一個與齒頂圓相切且寬度為0.5π的橢圓,雖然這樣會稍微比預定齒型稍寬,但依然可正常使用。

STEP7. 選擇拉動拉出實體

在上方的編輯區域選擇拉動,可將平面圖形建構出實體。

 

 

STEP8.側移一方向以利製造實體

用滑鼠中鍵旋轉視圖,以方便製造實體時操作。

STEP9.選擇實體化區域

用滑鼠左鍵點選草圖圍出的區域,並利用Ctrl鍵複選所有所需區域。

STEP10.拉出實體

以左鍵拉動選擇區上的箭頭可以看到長出實體,左鍵按著不放時會出現數值輸入方塊,可輸入拉出理想深度(6.15mm)。

STEP11.選擇移動

在編輯區按下移動指令鍵,準備做實體陣列複製齒型。

STEP12.選擇主體

對長出的實體按下滑鼠右鍵,選取 ➜ 主體,確保正確指定需陣列項目是整個實體。

STEP13.建立陣列

在螢幕左方功能表中點選選項 ➜ 移動 ➜ 建立陣列,並確定在勾選狀態。

STEP14.指定陣列中心點

將畫面中的三軸選轉選擇器自根部原點拉動至齒輪圓心。

STEP15.建立旋轉陣列

以滑鼠拉動藍色圓弧以建立以Z軸為轉軸的旋轉陣列,拉動一定角度後會出現一些陣列圖形,放開後會有個計數視窗可輸入數值。

STEP16.完成旋轉陣列建立

輸入齒數(40)後出現所有陣列齒型。

注意:在拉動藍色圓弧時有出現角度可輸入,若要以指定角度方式完成,亦可將角度輸入即不須算出齒數。

STEP17.拉出齒輪中心

以拉動指令拉出齒輪中心。

STEP18.回草圖模式

點選草圖模式準備畫出中心轉軸(栓槽軸)。

 

STEP19.選擇齒面確定繪圖平面

在齒面上點選一下會進入草圖模式,以畫出轉軸中心需留下的轉軸插槽。

轉軸外接園直徑5mm,開槽共4個,寬2mm。

STEP20.畫出形狀

以圓形及矩形畫出轉軸形狀。

這裡每個格子都是1mm方格,可以用來精確定位。

STEP21.選擇拉動準備切除轉軸孔

回到拉動模式準備將中心轉軸形狀切除。

STEP22.切出槽孔

將箭頭向後拉動以表示切除,輸入切除深度後完成切除動作。

 

2nd.列印及準備

STEP1.另存為STL檔

儲存畫好的檔案後,以另存新檔的方式建立出STL檔案,以利列印輸出。

STEP2.調整精細度

存STL時按下選項,將誤差、角度調整至最小。

STEP3.準備列印了

 

 

相關文章:

[3D繪圖] 設計自己的積木,樂高齒輪篇(一)

[mbed入門教學#2]Delta DFBM-NQ620 開發板 – 按鈕控制LED,使用 Grove Starter kit for mbed

$
0
0

本文要告訴您如何讀取 mbed 開發板 (本範例使用 Delta NQ620) 的數位腳位狀態,並藉此控制 LED 亮滅。

作者/攝影   曾吉弘
時間   3~4小時
成本
  • Delta NQ620  開發板 = $1575
  • SeeedStudio Grove Starter kit for mbed ($1600)
  • 或按鈕元件搭配 10k ohm 電阻 ($20)
難度   * * * * *
材料表
  • 個人電腦 (作業系統可用 Windows, Mac OSX 與 Linux,本範例使用 Windows 7)
  • Delta NQ620  開發板 (購買連結
  • SeeedStudio Grove Starter kit for mbed 中的 Base shield 擴充板與按鈕模組 (購買連結
  • 或按鈕元件搭配 10k ohm 電阻

 

本文將介紹如何讀取 mbed 的數位腳位狀態,您可使用 Grove starter kit 中的按鈕模組,直接將按鈕模組接上Base shield 擴充板,再疊上 NQ620 開發板即可。

當然這一包套件包價格不便宜,如果不用套件包,您可以用常見的按鈕元件搭配 10k ohm 電阻(解決按鈕的彈跳問題),下圖以 Arduino 開發板來示意:

實際用到的元件,把按鈕模組接到 Base shield 的 UART 接頭就好

▼ Seeed Studio base shield ▼


▼ button module ▼

 

NQ620的腳位示意:

程式碼相當簡單,使用 DigitalIn 把按鈕所連接的腳位設定為輸入之後。在主程式中,每 0.2 秒檢查一次按鈕是否被按下 (button.read() ) ,並以此控制 LED 亮滅。在此 0.2 秒是一個頻率參數,時間太短可能LED會亂閃,太長則可能操作起來鈍鈍的。您可以調整一下來找到適合的參數

#include "mbed.h"  //匯入所需函式庫
 
DigitalOut led(LED4);    // 宣告LED4之數位腳位為輸出
DigitalIn button(P13); // 宣告P13之數位腳位為輸入
 
int main()
{
    while(1) {
        led.write(button.read());    /* read the state of input  pin P1_14 and write it to output port pin LED1*/
        wait(0.2);    //等候一段時間避免讀取過快
    }
}

 

 

 

 

相關文章:

[Lego 新訊 ]Lego Boost 機器人來了,除了EV3 與 WeDo 之外的新選擇?

$
0
0

Lego 公司選在 CES 2017 之前發布了新的機器人產品線:Boost。提供了介於 EV3 WeDo 之間的另一個選擇,預計在今年八月上市,一起來看看它有什麼內容吧

撰寫/攝影   曾吉弘

 

2017 Lego 發布了新的機器人產品線:Boost,也許是既定時程,但去年小米推出的米兔機器人(人民幣499),光是我的Facebook好友應該就有50篇開箱文以上,因此中價位(Boost 定價 160美金) 的產品勢必是一個新的戰場。

咦?阿吉老師你把WeDo 放哪去了?我沒忘記,但是WeDo的訂價以及主機的規格(只有兩個 I/O port …),實在很難有什麼變化

Boost 的產品名稱是 Creative Toolbox,裡面有840個樂高積木零件,還有以下電子零件(以下內容取自LEGO Boost原廠網站規格說明):

  1. Move Hub(就是主機):主機上有兩個編碼器的馬達、傾斜感測器(Tilt Sensor)、啟動按鍵與LED燈。輸入埠和輸出埠各一個,通訊方式是BLE(Bluetooth Low Energy)藍牙,看來BLE已經是標準了。
  1. Interactive Motor
  1. Color & Distance Sensor:從名稱來看可偵測顏色與距離,概念應該與 EV3 color sensor 的 color mode / reflection mode 相同,根據不同的反射光強度範圍來定義顏色。也可以當作 LED 燈號。

 

編寫程式方式是透過行動裝置支援iOS及Android 版本,有完整的建構說明及程式設計。由網站看到的,風格還是與 WeDo 類似,後續就要看 3rd patry 裝置是否夠過以及自定義的 block 是否好做。

 

Boost 提供了幾種不同造型的機器人,在 Lego Boost app (尚未發布) 上有完整的組裝與程式說明:

 

  1. Vernie27公分高的機器人,但下半身是履帶(零件應該不夠做出二足機器人)
  1. M.T.R.4 (Multi-Tooled Rover 4) :多功能輪型平台
  1. Guitar4000:彈琴
  1. Frankie:可愛的小貓
  1. AutoBuilder:樂高小模型製造機

 

 

相關文章:

[Scratch教學]小遊戲製作-捕獲!!水箭龜!!

$
0
0

「去吧!!就決定是你了,皮卡丘!」。這句台詞相信許多的六、七年級生都耳熟能詳,沒錯,這就是席捲動畫界與電玩界的日本暢銷動畫「神奇寶貝」,從電玩界改編成動畫都相當地受歡迎,無論是未進化的「皮卡丘」,或是超稀有「超夢」,每一隻神奇寶貝,都是玩家們想要收藏的對象,想要捕獲屬於自己的神奇寶貝嗎?讓我們用Scratch來實現這個夢想吧!

作者/攝影   郭皇甫
時間   12小時
成本
  • 時間就是成本
難度   * * * 
材料表
  • 個人電腦 (作業系統 Windows )

神奇寶貝是許多六、七年級生小時候的夢想,這次,我們利用Scratch來製作這款小遊戲,讓我們先來玩看看這個小遊戲吧!

這個小遊戲是將手中的神奇寶貝球丟出,並捕獲神奇寶貝。因此,我們將整體分為「場景」與「角色」,而角色裡又分為「神奇寶貝」與「寶貝球」,雖然這次的角色較少,但程式可說是相當地多,不多說,我們現在就來跟著做吧!

 

場景:

   步驟一:匯入圖片。

您可以從網路上下載自己喜愛的圖片當作背景圖後,在新增背景中,點選「匯入」,找到剛才下載的圖片並匯入。

 

▼ 匯入圖片 ▼

 

步驟二:編寫程式。

在此遊戲裡,背景的程式相當簡短,主要是初始化變數與接收廣播,並且讓遊戲開始。初始化變數裡,我們新增「球1」、「k」與「神奇寶貝」。球1變數左右了寶貝球的數量,初始值為3,表示一開始有三顆球可以用;變數k表示神奇寶貝有機率不被收服,初始值為0;神奇寶貝變數則代表出現的神奇寶貝,初始值為1。接著是「廣播」,在本遊戲中,廣播占了重要的一環,一開始設定:如果神奇寶貝變數為1,則廣播「水箭龜出現了」。最後,我們設定遊戲開始的條件為接收到廣播「水箭龜出現」,並且加入一個條件「提問並等待」,也就是當答案為「水箭龜」時,則廣播「遊戲開始」。

 

▼ 初始化變數並廣播條件 ▼

 

角色:

神奇寶貝球:

   步驟一:繪製圖形。

首先在角色區裡點選「繪製新角色」,利用圓形及填色將神奇寶貝球畫出。畫好後複製出三個神奇寶貝球。

繪製新角色



▼ 繪製神奇寶貝球 


 複製神奇寶貝球 

步驟二:編寫神奇寶貝球圖示程式。

首先我們讓前三個寶貝球顯示在畫面左邊當作圖示,在接收到廣播「遊戲開始」時,設定初始位置,並且將大小設定為30%,接下來,在三個寶貝球中分別重複執行條件「如果球1=0、1、2,則隱藏」。

 

 寶貝球位置、大小初始設定,並重複執行條件 

步驟三:編寫神奇寶貝球程式。

接下來我們針對要丟出的神奇寶貝球編寫程式,這裡需要較多的說明。首先,當接收到廣播「遊戲開始」時,將圖片移到最上層、大小設定為30%,並將變數「球1」的值-1,這樣在遊戲開始時,寶貝球的圖示就會變成二個。接下來,我們要讓寶貝球能夠隨著滑鼠移動,在變數「球1」尚未小於0時,將寶貝球的y座標固定在-110,x坐標則隨滑鼠移動。我們以x=0為中心,當按下滑鼠在x>0(也就是畫面右邊)丟出時,讓球能夠邊旋轉邊改變大小,且不呈直線移動,重複上述條件直到球的x坐標<0後,面向-80~80的隨機方向,並且在0.5秒內移動到隨機座標。目的是為了讓球作出碰到一個點後反彈的效果。接下來我們要讓寶貝球作出收服的效果,首先廣播「收服」,並且將顏色特效隨機增加50次,緊接著落下後,為了能夠讓寶貝球有左右滾動的感覺,設定變數i值為0.5,並且分別重複執行10次讓球旋轉-4度,x坐標增加-1.2、旋轉8度,x坐標增加2.4、旋轉-4度,x坐標增加-1.2,並且等待i秒之後讓i值減少0.2,以上三個事件全部重複執行3次。最後讓變數k在1~3之中隨機選一個數,並設定條件:如果k=1,表示神奇寶貝收服成功,廣播「消失」,命令神奇寶貝隱藏起來;反之則廣播「出現」。若是在x<0丟出,則設定的內容大同小異。

設定初始大小與變數「球1」值-1 

寶貝球隨滑鼠移動 

在x>0時丟出寶貝球並反彈 

設定寶貝球收服特效 

設定是否收服成功 

在x<0丟出寶貝球反彈

神奇寶貝:

   步驟一:匯入圖片。

在網路上搜尋神奇寶貝圖片,下載後去背並匯入新角色。

開啟角色檔案 

選擇下載的圖片後確定新增 

步驟二:編寫程式。

神奇寶貝的程式相當簡易,首先隱藏並設定初始大小後,清除圖形特效。接下來,當接收到廣播「水箭龜出現了」時,則顯示;當接收到廣播「收服」時,跟著寶貝球將顏色特效隨機增加50次後隱藏並清除圖形特效。最後,當接收到廣播「消失」、「出現」時,則分別隱藏、顯示。

初始設定以及接收廣播。

到這裡,您已做出可丟出寶貝球並將神奇寶貝收服的遊戲了,您也可試著自行再加入更多的神奇寶貝以及背景音樂和特效,會讓遊戲更豐富喔!!

 

本遊戲圖片來源:

https://www.google.com.tw/search?q=%E7%81%AB%E7%84%B0&biw=1518&bih=740&source=lnms&tbm=isch&sa=X&ved=0ahUKEwikzJf0oKnRAhWEF5QKHZtpAAEQ_AUIBigB#imgrc=KyqVVwSur9IUAM%3A

 

相關文章:

[Intel RealSense 3D攝影機]_使用SDK看雙手骨架與紅外線深度影像

$
0
0

除了使用深度攝影機以外,各家的深度攝影機公司也會推出其產品的SDK (Software Development Kit)供我們使用者作開發使用。這次要介紹的是Intel的RealSense SDK。安裝可以看這一篇[Intel RealSense 3D攝影機]_一開始安裝到試玩小遊戲

本篇目標是教大家如何使用RealSense的SDK。所以在使用SDK之前必須要成功安裝好RealSense camera。我們分別介紹兩種SDK裡的範例程式(1)利用C++來取得攝影機的深度影像(2)利用C#來辨識手的骨架。

作者/攝影   黃品叡
時間   約1小時
成本
  • RealSense F200
  • Windows 7 / 8 / 10
  • 電腦需有USB3.0
難度   * *
材料表

 

按照上一篇的介紹,應該成功的安裝驅動與確認能夠使用RealSense Camera了,那這次要介紹要如何更進一步使用Intel RealSense SDK來跑一些範例程式和看看程式是怎麼寫的。

1.利用C++來取得攝影機的深度影像

▼ 在Intel RealSense SDK中的資料夾打開Sample Browser ▼

2.接著你就會看到很多可以試試看的範例(如下圖)

▼接著你就會看到很多可以試試看的範例(如下圖)▼

(左側可以選擇語言)

(上面可以選擇相機的種類)

 

那我們馬上測試一下其中一個程式:

  1. 選擇左邊的C++
  2. 選擇上面的Common Samples
  3. 找到第一個Camera Viewer(C++)
  4. 按下後面的Run


執行後會看到以下畫面分別為占滿整個螢幕的彩色畫面。

(我的螢幕解析度是1920×1080,所以就會剛剛好是全螢幕)



 ▼ 還有一個深度圖 

OK到這裡可能會發現一個現象,就是能照到的深度很短,下圖是我的實際安裝的環境,左邊攝影機到右邊的底端也才90cm,而攝影機的規格表卻說有120cm的距離!?

然後深度圖看起來怎麼那麼爛,這部分就要說明一下了,我本身用過其他深度攝影機,深度攝影機其實會有很多因素影響效果,例如物品材質、打入角度,這個跟深度攝影機本身的原理有關係,有興趣就自己去查查瞜,要說這個效果如何? 這個效果當然不好,但是卻足夠了,效果跟口袋深度當然是有關係的嘛。

再來,這個也要看你要做什麼,我們只是要「大概的輪廓」就可以了做出手的辨識與人臉的辨識,所以也不需要多好的畫質,也不需要多遠的距離。

(2)利用C#來辨識手的骨架。

我們試完第一個範例後馬上來玩玩下一個吧!

  1. 左邊換成C#
  2. 上面選擇F2000 Samples
  3. 找到Hand Viwer(C#)
  4. 按下後面的Run

選擇Full Hand Tracking後按下Start。

開始後就伸出你的手就會看到手的骨架拉!

成功了解如何看範例之後就開始來看看程式的部分吧!

那我們回到C++的Camera Viewer範例,只是這次是按下Sources。

這時就會看到這個

那用Visual Studio打開其中的 .sln檔 就可以看到程式拉

可能有人會困惑什麼Visual Studio? (畢竟這是大眾向的教學,所以還是得顧慮一下剛接觸的新手摟)

這部分我會有另一篇的教學,其中會有Visual Studio的基本介紹如何開啟C++專案或是C#專案……等的介紹。

 

這裡就放上一張進入成功看到原始碼的圖做為結束

至於程式部分在這裡就先不解說拉~

因為這可能要有點程式基礎與興趣的支持才能夠繼續下去的事情啊~

相關文章:


[研習活動紀錄] 使用Auto Desk 123D Design設計樂高積木

$
0
0

經過上次復興高中教學,石老師認為同學反應良好,遂有這次延續的活動提案,這次目標是要對普通選修課的學生,讓他們有基本的樂高積木配合知識。

這是選用的軟體是由石老師詢問學生後指定,以AutoDesk123D Design來進行繪製,繪製主要圖形亦由石老師以鉛筆手稿畫出。可見石老師對這次研習的重視程度。

紀錄撰寫   陳煜倫 紀錄攝影  石佳玉
課程講師   陳煜倫 上課地點  復興高中
課程時間  12/19


▼ 剛開始講課大家免不了都有點拘束,但至少看起來都很有興趣。 ▼

▼ 同學因有玩過教具,對樂高本身有一定了解,都很期待這次課程。▼

一開始先讓大家了解樂高積木本身尺寸制定的規則。▼


再來讓大家對今天所要繪製的目標進行了解。▼


 ▼在開始繪製前先載入軟體,趁此機會帶大家了解自製積木的配合可以製作到何種程度。於是就將自製行星齒輪減速機企鵝號端出來。果然能確實吸引學生的眼球。▼

▼以實例告訴大家,何處是自行繪製,自行繪製的要如何使用。▼

▼ 將企鵝號調整成歡樂咖啡杯模式。 ▼

▼ 果然旋轉咖啡杯讓課程緊張的氣氛頓時好玩許多。▼

▼ 果然好玩又有趣的東西大家都愛。 ▼

▼ 進入正題來實作繪出今天的目標吧! ▼

▼ 對各個步驟詳細說明,防止錯誤。▼

▼3D總是比較不易了解,用手勢輔助解釋說明吧! ▼

▼或許學生們對3D繪圖不是那麼熟悉,需要詳細解釋。▼

▼終於繪製完成了,開始列印吧!▼

▼ 在列印前再針對列印可能發生問題詳細解釋。 ▼

▼ 辛苦繪製的東西終於完成了。▼

看這製作出的完全可以配合樂高零件使用。

感謝石老師的邀請以及學生們的用心,雖然兩次研習使用的軟體不同,但是3d繪圖所要學習的主要是方法,軟體本身是其次,希望各位同學能對這些課程內容完全吸收,也期待下次我們能有更精彩的課程內容帶給大家。

相關文章:

[用Scratch玩吉他] 我也是個小小吉他手

$
0
0

相似的Scratch Board音樂專案可參考Scratch Board專案設計:觸碰感應手指 小小音樂家

作者/攝影   邱子瑞
時間   製作時間七小時
成本
  • 約2,000元
難度   * * *
材料表
  • Scratch board
  • Seeed線性滑軌
  • 棉線
  • 橡皮筋
  • 雷切的吉他外觀
  • 電工膠帶
  • 剪刀

今天介紹的是使用Scratch軟體搭配Scratch Board與多種複合媒材製作而成的一台吉他,一台真正可以撥弦的吉他!

首先我們先來好好了解一下吉他吧!

們先列出五個重點介紹,不足的下面都會有補充

  1. Scratch Board
  2. 雷切外殼的一部分,負責卡住橡皮筋
  3. Seeed滑桿
  4. 吉他弦,以棉線製成
  5. 雷切外殼的一部分,負責卡住棉線

 

第一步:

當我們將雷切外殼組裝好後,鎖上Seeed線性滑軌後,拿出Scratch Board附贈的線,紅色的夾子接上滑軌得電源線(紅),黑色的夾子接上滑軌的訊號線(黃),Scratch Board接上電腦電阻值有改變就成功了,成功後將電線相接的地方用電工膠帶纏繞固定防止脫落與短路,如此重複四次即可。

 

第二步:

將橡皮筋套住吉他硬體與Seeed線性滑軌的手把,使其有一彈力向上,再剪適當的棉線長度綁住滑軌手把,拉往與橡皮筋反方向的地方與吉他硬體固定,如此重複四次,我們的弦就完成了。

▼ 棉線打結後放入凹槽藉此卡住▼

吉他硬體原理:

當手撥動棉線,線性滑軌會跟著移動,線性滑軌移動,Scratch的到的電阻值就會改變,觸發城市發出聲音。當手鬆開棉線,滑軌會因為橡皮筋的彈力彈回原本的位置,電阻值回到穩定的值。

 

程式介紹:

這把吉他總共能發出三種不同樂器的聲音,依照Scratch Board滑桿的質區分為三種。貓貓也會跟著不同的樂器改變亮度方便辨識喔!

▼ 小於30是管鐘。▼


▼ 小於30是管鐘。▼



 ▼介於30~70是低音貝斯。▼

▼大於70是電吉他。▼

而吉他的弦被拉動,線性滑軌的電阻值即會改變,當值低於特定的數字就會發出聲音喔!

例如當我撥動最右邊的棉線使電阻A低於41,電腦就會發出高音DO。貓貓也會說出現在播放的是什麼聲音喔!

未來還會相繼推出更多的的用Scratch玩吉他,讓人人都可以是小小吉他手!

 

 

 

 

 

相關文章:

[喜歡樹莓派的朋友看這裡] 開箱先,大尺寸電視的小電腦新選擇,ASUS-Tinker

$
0
0

Raspberry Pi相當於明信片大小的小電腦主機,設計者一開始就完全開放它的相關技術,讓有興趣的使用者可以自由的設計這個主機,甚至可以買一些簡單的電子感應器,做一個小小的監控攝影機,諸如此類的構想都可以在Raspberry Pi上實現。今天要向各位介紹剛上市的新小電腦主機,ASUS開發的Tinker。

作者/攝影   豐智
官網

這次我們直接訪問ASUS,ASUS表示這次售價比他們的製造成本低,目的是希望能提供大家自由DIY的平台,這次他們把他們擁有的技術塞進這個小小的主機板,希望能讓我們享受DIY的樂趣,據說ASUS也將他們的資料完全開放,有最新的消息的話,我們會盡快跟進,今天我們先介紹Tinker的硬體部分。

 

Tinker外觀編排

Tinker的外觀基本上與Raspberry Pi相同,使用過Pi的人按照以前的習慣使用即可,Tinker的板子上印有藍色字體,告訴我們(1)相機、(2)螢幕、(3)Wi-Fi、(4)鍵盤滑鼠、(5)電子感測器接線位置(GPIO)、(6)4K影像輸出、(7)四個USB2.0接頭。

這次小編特別喜歡的是上方40個接線針腳,Tinker的針腳用紅色、黑色、綠色、藍色做區分,過去每次要為Raspberry Pi接電子感測器時總是要開圖表對針腳的位置,用顏色區分,小編感受到ASUS的小貼心。

支援4K影像輸出,可以試大尺吋電視機

這次Tinker最大的賣點是支援H.264/H.265、 4K、1080P高畫質的影像輸出,只要接上下方的HDMI接頭即可。Tinker推出的作業系統,內建XBMC基金會提供的KODI多媒體播放器,讓不熟Linux系統的人,能比較輕鬆的把Tinker接在自家的電視旁邊做一個播影片的平台。

3.5mm音訊孔一樣是一孔支援聲音撥放與讀取麥克風訊號兩個功能,音樂檔案的解析度可以支援到192K/24bit,相較一般常用高音質音樂(96K/24bit)應該是蠻夠用的。

先來比一比,Tinker與Raspberry Pi

最後附上表格RPi與Tinker的規格對照表,有興趣的朋友們可以繼續關注這個開發板的最新資訊。

名稱 Raspberry Pi 3 ASUS Tinker
預設的Linux作業系統 Raspbian  (以Debian為基礎) TinkerOS (以Debian為基礎)
是否支援Arduino 支援 支援
支援最高影像解碼畫質 [Video] H.264 H.264、H.265
聲音格式 [Radio] 最高解析度96K/24bit 最高解析度192K/24bit
藍牙功能 內建支援藍牙4.0 內建支援藍牙4.0
SoC 博通BCM2387 瑞芯RK3288
處理器 [CPU] 四核心64位元ARM Cortex A53處理器,時脈1.2 GHz 四核心ARM Cortex-A17 處理器,時脈1.8GHz
記憶體 [RAM] LPDDR2、1GB LPDDR3、 2GB
繪圖晶片 [GPU] Broadcom VideoCore IV ARM Mali-T764
相機連接功能 支援 支援
顯示器連接功能 支援 支援
USB USB2.0x4 USB2.0x4

[LattePanda評測] 哪一些常用軟體可以跑在小電腦LattePanda上

$
0
0

也許你曾經聽說過有人用樹梅派製造個人電腦,可是那一般人不習慣用,有人說它可以取代很多電腦的作用,可是它用的軟體你都沒聽過。所以那是工程師在玩的,我想大部分的人應該是這樣想的吧!

可是一樣的體積,差不多的價格,如果能跑WIN10呢?而且它與樹梅派一樣都具備了開發板的作用,但是它保證更親切,因為它使用的軟體就是我們平常在WINDOWS系統下用的那些,我個人更看重的是跑個3D繪圖也沒問題喔。

這樣親切的東西,當然也有個親切的名子LattePanda(拿鐵熊貓) ,真的有這麼神嗎?我們來試試看吧!

作者/攝影   陳煜倫
時間   8小時至12小時
成本
難度   * *
材料表
  • LattePanda 4G/64GB(主板)
  • LattePanda 7-inch 1024 x 600 IPS Display(7吋顯示器)
  • LattePanda 7-inch Capacitive Touch Panel Overlay for Display(7吋覆蓋電容觸控板)
  • 自製壓克力支撐板數片

 

LattePanda軟體安裝測試

 

上圖是LattePanda的版面配置示意圖,為了方便,我們在本篇文章就叫它熊貓吧!

它看起來就是個開發板的樣子,該有的通通都有,這個圖是官網的,基本上看圖應該就能知道裝了什麼,真的是熊貓雖小五臟俱全阿(真熊貓似乎不小!?)。

我想各位一定想知道能跑WIN10那會順嗎?卡死的話跑啥就沒意義了!所以我們今天準備些軟體來惡整熊貓,相信經過這裡的殘酷擂台後出來的結果比較能說服大家。

當然我們會以用開發板的角度去選軟體,至於選啥?就原諒我的任性吧!

 

今天我們想要測試的軟體如下:

編號 軟體名稱 順暢度
1 Google Chrome(瀏覽器) *****
2 123circuit(電路設計) *****
3 Appinventor(安卓app開發) *****
4 Scratch網路版(程式開發軟體) *****
5 FACEBOOK(非死不可,應該沒人不懂) *****
6 LINE(社交軟體) *****
7 Arduino(常見開發板軟體) *****
8 Fritzing(電路設計) ***
9 Designspark pcb(電路設計) ***\
10 Designspark mechanical(3D繪圖) *****
11 AutoDesk 123D Design (3D繪圖) *****
12 LEGO Ev3 程式軟體(樂高機器人控制程式) *****
13 Scratch離線版(程式開發軟體) *****
14 Word(微軟的) *****
15 Excel(微軟的) *****
16 PowerPoint(微軟的) *****
17 visual studio(程式開發軟體) ***

▴(❊ 代表1星、\代表0.5星)▴

答案先告訴各位了,這是為了趕時間的客官,但還是希望大家能繼續看下去。

上述的順暢是指與2萬元以下文書型筆電的比較,差不多那就是3❊,若有超越酌量加分,但總分也只有5❊,5❊已經代表跟桌機沒啥分別了。

這些軟體雖然並不能代表所有電腦的能力,但是這些應該有些許代表性,就讓我們開始燒熊貓吧!

Step1.

第一個上場的十分簡單,只是個瀏覽器,相信基本上能跑WIN10的東西對這不會有問題。

很簡單完成,順暢度我給5❊,簡單又沒負擔。

 

Step2

既然裝了瀏覽器,就來試驗一下各個線上版的軟體吧!

123circuit、Appinventor、Scratch網路版

畫個簡單電路

我以前寫的簡單BMI計算程式

讓小貓往前走幾步

 執行轉檔也沒問題喔!

雖然說跑起來沒啥問題,可是畢竟是觸控螢幕,用觸控手指太大,裝了滑鼠鍵盤後好用點。

這三個大概跟頻寬限制比較有關,我給的頻寬算足夠,所以也沒出啥問題,跟桌機沒區別,所以順暢度也給5❊。

 

Step3

相信這時代大多數的人都有使用社交軟體的經驗,所以就拿個人有在使用的來試試。

基本上開啟連線後都沒啥問題,各位可能也有發現我下面開啟一大堆程式,而且測試過程中我也一直在操作3D印表機,無論如何CPU跟記憶體的起伏都不大。既然跟桌機比較沒有差距,所以順暢度依然5❊

 

熊貓身上本來就有Arduino,我呢就偷個小懶,用阿吉老師的範例玩玩。

LattePanda 拿鐵熊貓教學#1:LED 閃爍,使用Visual Studio

不過我沒啟動Visual Studio控制,畢竟我只是要測試Arduino軟體嘛!

熊貓身上跟所有開發板一樣都有LED13不過太小看不太出來,所以用了外接比較明顯。

這就是阿吉常強調的,按圖施工保證成功。

不過呢,這本來就是熊貓的本業,當然超順的啦!順暢度沒有超過滿分的,所以也給5*。

 

Step5

我想列表中有兩個離線電路設計軟體,就一起來試試吧!


開啟時間似乎只能跟文書筆電相比。

移動時有點小不順,當然或許跟我同時執行項目較多有關係。

看到了嗎?還控制了兩台印匠。

這款好點,不過依然只能用來跟文書筆電比較,所以Fritzing順暢度我只能給3*,算是堪用啦! Designspark pcb表現好一點,但是好不到哪去,所以我給3.5*。

 

Step6

接下來搞個我認為比較吃重的吧!繪圖軟體,Designspark mechanical、AutoDesk 123D Design,問我為啥挑這兩個嗎?成本考量,它們是免費的阿。

雞年快到了,畫隻小雞吧!

畫個之前教的齒輪也沒啥問題。

搞個陣列也沒問題喔!

這部分有點出乎意料,跟筆電比起來沒有差距,甚至更好。當然比不上桌機啦!關於這點,我有專門去光華問過原因,一般來說電玩繪圖卡跟專業繪圖卡是不同的,若是安裝一般電玩繪圖卡,因為計算方式的問題可能算錯,或甚至速度比不上主機板上的晶片。我想這或許就是3D繪圖軟體不是很吃重的原因吧!

這兩個軟體以順暢度來說非常接近筆電,甚至可以說比我現在用的筆電還強XD,但是畢竟不是專業級的,不能用桌機的品質來要求它。另外一提mechanical在小雞轉檔成STL時有當機情形,但把小雞傳回筆電一樣當機,結果把精細度降低一些就可以順利轉檔,但不知是不是桌機也會這樣。所以以繪圖順暢度來說真的沒得挑了,所以我依然給5*。

Step7.

再來搞點看得到[動]的軟體,那就是EV3啦!

EV3可能不一定所有人都知道,但LEGO應該就是眾所皆知吧,EV3就是LEGO機器人的控制程式。

照片可能比較難看出運轉情形,但有看到左下方的輪胎有點模糊吧!

當然這只是個小動作,沒理由達不成的,既然完全順利,那順暢度當然是5❊了。

 

Step8

再來剩下的軟體不多了,來個簡單的,Scratch離線版吧!

連線版基本上是可以的,那離線版應該也不會有問題吧!所以完全通過,順暢度當然是5❊。

 

Step9

剩下的基本上都是微軟的東西,那我們就把三個文書的一起做作吧!

用WORD寫寫小文章OK的,很合理的動作。

我想這個動作正常的電腦都能完成(熊貓好像不算正常的電腦…..)

Excel既然是用來計算的,總不能沒計算功能吧! 來個萬年曆吧!

(這個簡單的表格是我自己改版多次後的結果,或許有人有學過,也或許有人有更精簡的寫法,也歡迎指教,改一個日期就能全部跟著動喔。)

看到上面函式視窗中的內容吧!這是個人喜歡的簡單寫法,看得懂的就送給各位吧!

PowerPoint剛好之前有用到,就直接拿來試試看,無論是編輯還是撥放都難不倒。

所以文書三人組也完全過關,順暢度5❊。

 

Step10

還剩下些什麼?只剩下兩顆冰凍的眼淚。不對…..那是歌詞,剩下的這個應該也算是熊貓的本業,可是說真的把它放在最後其實是有點擔心它。為啥呢!因為雖然它算本業,可它非常龐大阿,就算跑得動好了,可是我也怕空間被塞爆阿。

花了好多時間總算是安裝完成。

當然跑起來沒啥問題,畢竟阿吉之前就測過了嘛!不過說起順暢度嘛,我還是不能給滿分,為何呢?因為在轉換各個頁面的時候都會出現延遲狀態,或許是我已經安裝很多東西了,不過我想應該影響不大。所以順暢度只能給3❊。

好不容易測完了,可以說這些軟體都難不倒熊貓,這跟牠外觀可一點都不成比例。

雖然整理出來了,可是我還是要再強調一次,這是以文書電腦比較的結果,跟桌機還是比不了的。

或許有人對筆電的結構比較了解,有天可以製作出熊貓版筆電,還能控制周圍跟背板發光,我想會是個有趣的提案。

好了,熊貓燒完了,希望這篇文章能讓各位看官更了解熊貓的能力。

 

 

相關文章:

[課程成發]海洋機械Arduino課程期末專題展示

$
0
0
紀錄撰寫   曾吉弘 紀錄攝影 曾吉弘
課程講師   曾吉弘 上課地點 海洋大學
課程時間   2016 9月~ 2017 1月

阿吉老師在海洋大學的學期課程[Arduino微處理機課程(課程網站)] 順利結束了,感謝台灣英特爾公司贊助本學期所使用之Arduino 101開發板。2015年則是感謝聯發科技公司贊助的LinkIt ONE物聯網開發板(期末展示請點我)

一學期的課程中,同學要學會使用Arduino進行基礎I/O控制、App Inventor 藍牙控制這兩大主題,期末也要做一個專題出來。評分標準是這樣的:

  • 出席:10%,無故缺席每次扣學期總分2分,扣完為止。請務必親自請假,不接受代請。
  • 回家作業/課堂競賽:30% (5% x 6),取高分
  • 期中專案報告:20%,至少有一個完整的功能可運作
  • 期末專案展示:30%
  • 自評5%
  • 組員互評5%

我對於學生的要求很簡單:用心做,少找藉口。但即便這樣到了學期中還是退選了接近一半的人(10多位…),這件事總之就是教一個算一個囉,不經意找到Facebook回顧兩年前我對於學生期末專題的一些總括性意見,列於文末,想看的朋友請耐心看完吧。

專題製作列表:

  • 手持穩定架
  • 寵物自走餐車
  • Axi draw 寫作業機器人(但是要寫很久…)
  • 變形手機多功能座車
  • 遠端探險遙控車
  • 紅外線遙控自動避障掃地機器人
  • 無用盒子

 

手持穩定架

運用Arduino 101 上的加速度計與陀螺儀做出的手持穩定架,相當不錯

遠端影像遙控機器人

遙控功能使用 App Inventor BLE 控制 Arduino 101,影像串流則使用7688 Duo (學生自己去買的,願意自己去找資源這點還挺欣慰的

學生專題常見的狀況,電路板沒有固定,電線長度嚇死人…   除了容易脫落遭成機器人出問題之外,甚至有可能短路而失火

 

紅外線掃地機器人

壓克力自己切的,但您可以發現馬達安裝孔位太外面了,很容易讓壓克力裂開。另一方面,馬達轉速太高其實很難把灰塵掃起來

無用盒,按下搖頭開關會伸出一隻手(servo帶動) 來把按鈕推回去,可以無限次數一直推推推,適合有強迫症的人使用

Axi draw 學生自己畫圖3D列印出來的寫字機器人,可以把要寫的字轉成G code 之後寫出來,目標是可以幫忙寫作業,但是要寫非常久… (還是自己寫比較快…)

以下是demo照片,各組作品的文件與程式碼都會放在本課程專題頁面




demo 完就吃pizza(當天基隆狂風暴雨,辛苦去拿的同學了),阿吉老師的課就是有棍子也有胡蘿蔔,好好做老師不會虧待大家的啦~

 

阿吉老師2014年寫的感言

以下是我對於這學期某堂課,給同學的評語。我衷心期待每位同學都能在認真學習之後有所收獲。文長慎入…

=======================================

各位同學辛苦了,希望這學期大家都有學到東西。以下是我對於各位在本學期表現的講評:

遲到問題:如果您是習慣性遲到的人,這個特性應該多少也會反映在您的待人接物與專題品質上。

上課態度:這…不用我多說,您自己最知道自己上課是怎麼回事。老師不是媽媽,老師不需要也不應該去一再提醒上課要認真這件事。

專題製作:

基本上大家的文件除了第9組上算完整之外,其他各組的東西都有一定程度上的缺點。包括以下:

  1. 格式不一
  2. 沒有參考資料或說明不清楚(最好都不用查資料就會做)
  3. 甘特圖看不出進度規劃
  4. 組員分工不清楚
  5. 看不出學期專題等級和課堂作業等級的差異(到底有沒有好好檢查過啊!)

至於文件準備方面,我希望大家可以先看看這份投影片(http://www.slideshare.net/mwhan/99-29808114)。文件是讓大家對於專案的進度得以參考與回顧,不是拿來應付。機器人會拆掉,但文件卻能留下來。

有時候您專題做得很好,但文件不完備,這樣學弟妹要參考的時候才有承先啟後的價值。再者,日後您要推甄研究所時,我也希望這學期的東西可以派上用場。如果文件中錯字連篇或是格式不一,您很難去說服別人說這份文件是有認真過的。

我之所以要求一定要現場demo,原因很簡單。電機系的同學對於 presentation 的訓練是稍微缺乏的,這樣您才知道反覆演練,顧到每一個環節之後,才懂得珍惜在台上的每一秒鐘。例如,我明明就有說報告當天要將 word 檔「雙面列印」,幾乎沒有一組做到…當別人知道您卻不知道的時候,我想您需要更謹慎。

有時候,不一定都會有第二次機會。如果您今天去研究所口試,要demo的機器人不會動…

再者,您有好的內容,別人還不讓您有機會說,或是只有非常不足的時間。這時如何「講重點」就很重要。我都讓大家講完,從各位報告的內容當中,我就可大約得知各位在本學期中所付出的程度。

衷心各位在本學期課程中都能有所收穫。

吉弘 2014/01/14

 

 

相關文章:

Viewing all 678 articles
Browse latest View live