Tag Archives: 程式教學

[App Inventor 教學] 成績管理系統 V1.5

本範例可讓同學明白簡易的資料結構定義方式,並使用 list 搭配 for each 迴圈來計算以下項目。
.aia 原始檔請由本頁下載:http://www.appinventor.tw/score_v2

1. 計算國文平均分數

2. 計算英文平均分數
 
3. 列出兩科的不及格名單
 
4. 列出全班名單
 
5. 承接4. 取出指定人名的email
 

Designer頁面
 

Blocks 程式說明
 
首先,我們把成績的資料結構 score 這樣定義:(人名, email, 國文分數, 英文分數),目前是 4 x 4 的二維清單。
在這樣的架構下,您可以自由新增更多欄位。score_sum 是用來計算成績總和用的變數。temp 則是用來產生暫存用的清單。
 
2. 計算國文平均分數
 
 
當然啦,計算英文平均分數也是一樣的做法,只是欄位3要改為欄位4。
 
 
3. 列出國文不及格名單
 
只是在上述迴圈中加入一個 if 去檢查 score [number] [3] 就是國文分數是否 <60,如果 <60 就把該項目加入 temp 清單中,最後顯示在
 
 
英文不及格名單做法也一樣囉,記得把欄位3改為欄位4就可以了。
 



 
4. 列出全班名單


 
點選之後,則根據所點選項目來取出 score 該項目的 2 號。使用兩次 select list item 指令之後,二維清單就會降維度兩次變成一筆純量就是 email,您成功了嗎?
 

執行畫面


  

    
 



 

151002 程式設計教學實驗課程,使用 Scratch Tools 互動板記者會@台北市西湖國小

教育局今年開放各中小學申請「程式設計教學實驗課程」,益登公司特別捐贈了3000套Scratch Tools,將發送給78所中小學,10/2當天西湖國小舉辦記者會,由教育局長湯志民代表接受,並頒發感謝狀。

IMG_20151002_095957

IMG_20151002_102540 IMG_20151002_102405

啟動儀式使用Arduino結合樂高及各類感測器,讓車子通過層層關卡

IMG_20151002_102125

用Scratch Tools當成吉他來彈,真的很酷喔,一旁還有打鼓樂器呢!!

IMG_20151002_103312 IMG_20151002_103258

電流急急棒的梗做起來也是很有趣的!!

IMG_20151002_103231 IMG_20151002_103153

利用超音波感測前方是否有物體通過,藉此讓擋板升起。

IMG_20151002_103148 IMG_20151002_103139 IMG_20151002_103134

教育局長頒發感謝狀給益登董事長,還有我們喔,感到光榮!!

IMG_20151002_101728 IMG_20151002_101651 IMG_20151002_101618 IMG_20151002_101604 IMG_20151002_101329 IMG_20151002_100439 IMG_20151002_100150

10/3 樂高機器人進階班招生中,地點機器人王國

課程名稱:機器人進階班

開課時間:10/3  13:00 ~ 15:00

地點:機器人王國(也是CAVEDU大本營),台北市中正區中華路2段165號 1F

招生對象:國小中、高年級,有玩過 NXT/EV3 機器人的小朋友優先錄取,有興趣的家長請來信或來電與預約面談時間喔:02 23062900 / service@cavedu.com

IMG_9177

各位老師好,Scratch 20堂課表看這邊

針對學校教學的 Scratch 課程設計

學校老師看過來,您只需要 Scratch Tool 周邊開發板就能用 Scratch 完成一整學期的課程,後續還可銜接 Arduino 進行更多有趣的專題設計。以下是我們為您準備的 20 堂課課表,歡迎來信索取相關教學檔案。 service@cavedu.com

軟體:Scratch 單機版或網頁版皆可

硬體:Scratch Tool 互動板 / Arduino 微控制器與所需電子元件

建議教學書籍 [Scratch 數位互動我最行],鄭之婷, 賴國安, 徐豐智, 邱文盛, 郭皇甫。馥林文化,2015

本書程式檔下載

未命名


Scratch Tool / Scratch for Arduino 之 20堂課程規劃

軟體:Scratch 單機版或網頁版皆可

硬體:Scratch Tool 互動板 / Arduino 微控制器與所需電子元件

課程名稱
Scratch+Scratch ToolScratch+ArduinoArduino
1.Scratch環境建置9.S4A環境建置17.使用Arduino開發環境
2.電流急急棒10.Arduino基本介紹18.LED燈亮、LED 呼吸燈
3.射擊遊戲(一)11.LED閃爍-LED亮暗19.控制機械手臂(一)
4.射擊遊戲(二)12.LED呼吸燈20.控制機械手臂(二)
5.小小音樂家(一)13.七彩LED
6.小小音樂家(二)14.光感應燈
7.英勇消防員(一)15.控制機械手臂(一)
8.英勇消防員(二)16.控制機械手臂(二)

CAVEDU 9月份新課程招生中

課程分類

創意造型積木  適合五至六歲幼兒培養學員觀察力、加強平面轉換三度空間的能力、作品的平衡和結構對稱,以及手指細動作的強化練習,包含塞、擠壓、零件位置微調等動作。

簡易機械班  適合六至七歲幼兒以直覺的堆疊構建成機械模型,從創建過程中,體悟物理與機械的原理與運用。藉由實驗與競賽交織而成的課程活動,加強孩子對科技的認知及興趣。

動力機械班  適合國小中低年級 這是專門為學齡孩童設計的機械科學課程,使用丹麥樂高公司所研發的機械積木教具,從動手做中學習物力原理。(~ 需自備PF電池盒/馬達 ~)

機器人班  適合小學中高年級、學習過動力機械並檢測通過的學員。

~ 需自備EV3教育/電腦,課程中不再浪費時間組裝機構,充實學寫程式 ~

機器人專題班  適合小學中高年級、學習過機器人並檢測通過的學員。

~ 需自備電腦,充實學寫程式 ~

Arduino創作班   適合國中以上學員、學習過程式語言進階課程並檢測過關。

~ 需自備電腦,須另購買Arduino材料包 ~

西洋棋班   適合國小二年級以上學員


 

CAVEDU合作教室 (紅色字為暑假營隊)(藍色字為寒假營隊)

 開課地點開課課程/時間
機器人王國(02)2306-2900

臺北市中正區中華路二段165號

動力機械課程班-常態班每週五   18:30~20:00
機器人班( EV3) -常態班每週五   19:00~21:00
Arduino/LabView創作班-常態班每週五   19:00~21:00
機器人專題班( LabView )-常態班每週六   16:00~18:00
茱莉亞幼兒園(02)2581-2220

臺北市萬華區西藏路176號2樓

簡易機械班-常態班每週三   16:30~17:30
Otto 2古亭教室(02)2365-9467

臺北市大安區羅斯福路三段171號7樓

簡易機械班-常態班每週三   18:30~20:00
機器人專題班(Scratch for Arduino)-常態班每週三   19:00~20:30
動力機械課程班-常態班每週五  19:00~20:30
3D課程成人班~敬請期待
救國團敦化教室(02)2713-0902

臺北市松山區敦化北路214號(敦化財金大樓)

冬令營~敬請期待
諾仁美語(02)8789-8118

臺北市士林區永平街9巷8弄11號1 樓

動力機械課程班-常態班每週一   18:30~20:00
冬令營~敬請期待
  開課地點開課課程/時間
小領袖語文補習班(02)8789-8118

臺北市信義區莊敬路239巷12號2樓

動力機械班~常態每周六(9月份秋季班)
機器人班( EV3) -常態班每週六(9月份秋季班)
救國團景美教室(02)8663-3516

臺北市文山區羅斯福路六段136號4樓

創意造型積木班-常態班每週三   10:00~11:00(9/9秋季班開課)
動力機械課程班-常態班每週六   09:00~10:30(9/12秋季班開課)
機器人班( EV3 )-常態班每週六   10:40~12:10(9/12秋季班開課)
冬令營~敬請期待
 聖心幼兒園(02)2557-8119

臺北市大同區民生西路245號

創意造型積木班-常態班每週二 17:00~18:00(9/8秋季班開課)
創意造型積木班-常態班每週五 16:00~17:00(9/11秋季班開課)
立群幼兒園(02)2682-8810

新北市樹林區千歲街108號

動力機械課程班-常態班每週六   10:30~12:00(9月份秋季班開課)
冬令營~敬請期待
南山學園教育基金會(02)2245-3000

新北市中和區廣福路41號

動力機械課程班-常態課每週四   17:00~18:30 (9/10秋季班開課)

[新書預報]Scratch 數位互動我最行

來囉來囉,CAVEDU 的 Scratch 新書下個月就會出版,各種好玩又有趣的小遊戲當然有,還可以結合 Scratch 周邊開發板來製作有趣的互動專題。

本書囊括了十多個有趣的互動專題,包含煙火秀、對戰遊戲以及多媒體影音應用等,小朋友可以從中學到重要的程式邏輯概念,非常適合各級教學單位使用。搭配 Scratch Tools (MIT 稱為 Picoboard)互動開發板,以按鈕、滑桿、麥克風、與鱷魚夾接點來讓互動方式更豐富,學員可以自行操作這片板子來控制Scratch來產生各種有趣的互動效果。快點來玩吧!

感謝賴國安老師、鄭之婷老師與邱文盛老師一開始就熱情支援,能得到第一線教育者的支持實在是最好的鼓勵。cover_0822

作者:賴國安、鄭之婷、徐豐智、邱文盛、郭皇甫

以下是本書內容
第1章   入門篇 相見歡-認識哥倆好Scratch & Scratchboard
第2章   基礎篇 Scratchboard的能耐-認識Scratchboard上的5種感測器
第3章   應用篇-1 環保煙火秀
第4章   應用篇-2 十十乘法擂台賽
第5章   應用篇-3 大戰吸血鬼
第6章   進階篇-1 神奇彈奏樂器
第7章    進階篇-2 英勇消防員
第8章   進階篇-3 眼明手快
第9章  綜合篇-1 黃色小鴨歷險記
第10章  綜合篇-2 花仙子-無尾鳳蝶的一生
第11章  綜合篇-3 電流急急棒
第12章   綜合篇-4 抽獎
第13章  綜合篇-5 感應手指-小小音樂家

 

 

 

TQC+ 的 App Inventor 認證指南出版了,歡迎各位老師申請排考

TQC App Inventor 認證要開考啦,認證指南也出版了。有興趣的老師請與電腦技能基金會聯絡排考喔

之前的種子教師研習請看:台北場 / 台中場 / 高雄場

松崗出版 / 碁峰出版

XC15690_cover_OL
XC15690_cover_OL

 

Continue reading

[App Inventor 教學] 數字進位轉換

本範例說明如何使用 math 指令中的 convert number 指令來自動轉換進位,很方便的功能喔。程式碼請點我下載

程式說明

1. 在 ListPicker 點選之前,設定其內容為 (二進位 十進位 十六進位) 這三個字串
2. 根據所點選的內容,進行轉換~   就這麼簡單

 
操作
 
請在上方 Textbox 中輸入數字,再點選 ListPicker 選擇這個數字的進位制,就會自動轉換成其他兩個進位制。目前沒有加入數字檢查功能,所以不要選錯囉
 
 
十進位 14 轉二進位 (1110) 與十六進位 (E)


 
十六進位 (F2) 轉二進位 (11110010) 與十進位 (242)
 
 
二進位 (11111011) 轉十進位 (251) 與十六進位 (E)

 



 

App Inventor 改版說明 nb144 (150630)

App Inventor 6/30 發佈的 nb144 更新

  • 在 Designer 頁面重新命名某個元件時,所有相關的已收疊 (collapsed) 指令也會重新命名。
  • Screen1 現在可以隱藏畫面最上方的 “狀態 (Status)” 與 “標題 (Title)” 列。
  • ListView 元件的選曲項目會被強調
  • Activity Starter 元件新增  “Activity Canceled” 事件
  • 修正 Player元件 ,它不再會於電話或是其他插播之後自動播放
  • 修正 ImageSprite  元件的 rotation, 之前在某些裝置上可能會破圖
  • 新增數學指令,同一數值可轉換十進位、十六進位與二進位了!

螢幕快照 2015-07-07 上午12.20.02

  • Clock 元件現在可以自行定義時間與日期格式,如下圖的 pattern 欄位。

螢幕快照 2015-07-06 下午11.59.09

  • 您可同時設定某元件的背景圖與背景顏色,皆可正確顯示
  • TextToSpeech元件現在有下拉式選單來選擇國家(Country)與語言(Language)。新增的指令可自動抓到您所用裝置所支援的國家與語言

[Untiy3D]使用Arduino光敏電阻控制Unity

本篇介紹使用Arduino光敏電阻來控制Unity。簡單來說,Arduino當成輸入端;Unity當成輸出端,同樣是使用序列通訊SerialPort來當作溝通橋樑。

準備材料:

1.Arduino板一塊

2.麵包板一塊

3.光敏電阻一顆

4.500k可變電阻一顆

5.跳線數條

6.色碼電阻220紅紅棕一顆

Step1:先將光敏電阻與可變電阻、色碼電阻接在麵包板上,電路圖如下:

5

Step2:打開Arduino IDE編寫如下程式碼:

4

a.設定類比腳位為0

b.設定變數sensorValue

c.設定公式:sensorValue = 0.5*sensorValue+0.5*analogRead(analogInPin)  將測到的數值做平均值計算

上述程式的概念是將光敏電阻測到的值顯示出來。先把光敏電阻測到的值利用可變電阻來調整敏感度後,再設立條件如果測到的值大於100,表示手沒有遮住光敏電阻,則傳一個為0的值;否則表示手遮住了光敏電阻,傳一個為11的值,程式碼新增如下:

7

新增之後請將前二行的Serial.println(sensorValue);和delay(100);註解掉。

Step3:打開Untiy,在Asset中建立一個C#腳本,命名為read,程式碼如下:

6

程式的概念是當讀取到Arduino傳來的值為0時,則方塊向右跑;若傳來的值為11時,方塊向左跑,在Unity中讀取Arduino傳來的值使用ReadLine()指令。

Step4:建立一個物件,並將腳本拖進物件後執行程式。執行後即可看到如下結果喔!

[Unity3D] Arduino for Unity控制Led燈亮滅

今天要來跟大家分享如何使用Unity(輸入)來控制Arduino(輸出),在這邊我們會使用到序列通訊(SerialPort)的指令,您可以把序列通訊的角色看成是翻譯,作用在於充當Arduino與Unity之間溝通的橋樑。當然,這一切都只有簡單的幾行程式就能夠做到了喔!(使用Arduino UNO、Untiy5.0)

準備材料:

1.Arduino一塊

2.麵包板一塊

3.Led一顆

4.色碼電阻:紅紅棕

5.跳線

Step1:將Led接在13號腳位,再接一個電阻。

Step2:在Arduino IDE編寫如下的程式碼並上傳至Arduino。

2

在Arduino使用序列通訊會用到的幾個指令

1.Serial.begin():設定鮑率

2.Serial.read():讀取值

3.Serial.print():寫值

程式的架構很簡單,分為二部份:1.讀值;2.Led亮暗。由於我們將Led做為輸出,所以要先設定pingMode(腳位,OUTPUT),接著當Untiy傳過來的值為1時,Led亮digitalWrite(腳位,HIGH);反之值為0時,Led暗digitalWrite(腳位,LOW)。

Step3:在Untiy的Asset下建立一個C#腳本,命名為write,編寫如下程式碼。

3

在Untiy中要與Arduino溝通,同樣要使用到序列通訊SerialPort的指令。

1.using System.IO.Ports:調用控制序列埠的類別。

2.SerialPort 變數 = new SerialPort(“COM8”,9600):設定連接埠與鮑率,請與Arduino實際連接情況一致。

3.變數.Open();變數.IsOpen:開啟序列埠連線,是否開啟。

4.變數.Read();變數.Write():讀值、寫值。

Step4:建立一個空物件,並將write腳本丟進物件。

Step5:設定。在file->Build Settings->Player Settings->Other Settings展開後往底下找到Api Compatibility Level,將.Net 2.0 Subs改為.Net 2.0。如此一來,在調用控制序列埠時才不會出錯。

1

Step6:執行。在Unity遊戲執行畫面中分別按下a、b,我們就可以看到Led的燈亮、燈滅囉!

Scratch Extension for Arduino – Scratch + Arduino 的新方案

Arduino.cc 的 blog 有個有趣的消息: Scratch Extension for Arduino。之前的作法大多是使用本機執行的 S4A 小軟體。這一版的亮點是支援 Grove 系列感測器, 搭配 Grove Base shield 之後就能控制 Grove 的數種感測器 與 servo,另外也可以使用 picoboard 與 wedo。

英文教學: http://khanning.github.io/scratch-arduino-extension/

操作方式如下:

1. Arduino 端一樣要安裝一個小程式 : Standard Firmata,負責回應來自 Scratch 的所有呼叫。如果要使用 Processing  來控制 Arduino 也需要它喔。請確認這隻程式已經上傳到您的 Arduino 並執行。

2. 安裝瀏覽器 plugin 檔名為 ScratchDevicePlugin.msi 或 ScratchDevicePlugin.dmg, (目前有 Windows 與 MAC)。安裝完成之後開啟  http://scratchx.org/?url=http://khanning.github.io/scratch-arduino-extension/arduino_extension.js 瀏覽器會詢問是否要起動外掛, 在此要同意才能使用.

  • Firefox:

 fox1

fox2

npapi

3. 順利完成的話, 會看到畫面中間的 Arduino 字樣旁邊的小圓圈變成綠色, 代表連線成功.

005

指令來看是差不多的, 在[更多積木] 之下有Arduino 相關的指令, 之後會專文介紹

 

005

這就是讓 #D13 LED 亮滅的小程式, 您完成了嗎?

006

 

[Processing] 5 x 5 小球隨機顏色閃爍

Processing 在控制顏色與形狀上有相當好的效果,PC 端執行的好處是很容易整合各種 PC connected 裝置,例如搖桿、Kinect、Webcam 與 Arduino 等等,輸入訊號不再只限於鍵盤滑鼠而有更豐富的呈現。

本範例的每一個小球都會獨立隨機改變顏色,使用兩層 for 迴圈就可以控制每一行每一列要有多少顆球。您可以一口氣擴大到更多的數目,數大就是美嘛!

請參考先前的文章:

[Processing] ASWD 移動方塊   與  Processing 隨機五小圓

螢幕快照 2015-05-13 上午12.58.57

程式碼如下:

int r, g, b;
int x = 20;
int y = 20;
int t;
int k = 0;
int i = 0;
void setup() {
  size(300, 300);
  smooth();
  background(255);
  noStroke();
}
void draw()
{
  for (k = (int)random(5); k < 5; k++)
  {
    for (i = (int)random(5); i < 5; i++)
    {
      r = (int)random(255);
      g = (int)random(255);
      b = (int)random(255);
      fill(r, g, b);
      ellipse(x, y, 25, 25);
      x += 30;
    }
    x = 20;
    y += 30;
  }
  x = 20;
  y = 20;
  t = (int)random(100, 1000);
  delay(t);
}

150509 TiC100智能城市與物聯網經營模式競賽LinkIt ONE研習@CLBC

今年的 TiC100創業競賽有智能城市與物聯網經營模式競賽兩個項目,5/9 與 5/16 是LinkIt ONE 的培訓課程,來參加的同學都是想運用手邊的硬體設備來達到各種智能服務,聽到很多有趣的想法呢。當天下午下起超大的雷雨,不過幸好在五點下課前結束了。

競賽項目分為:

  1. 企業命題競賽:由台灣微軟、全家便利商店、行政院農委會、資策會創研所、MediaTek Labs、及研華科技,針對未來最有潛力的產品或服務真實出題。參賽團隊需在出題企業設定的條件下,發揮創意,為企業解決難題,形成最佳創新提案。
  2. 校園自命題競賽:參賽團隊自行尋找、創造與「智能城市及物聯網」相關的議題,並提出創新商業模式。

詳細規則請參考以下網址:http://www.tic100.org.tw/rules/

由於 LinkIt ONE 是 Arduino 相容板,且具備完整的聯網功能,因此早上快速介紹過電子電路基礎之後,就帶到連網功能(Wi-Fi、GPRS、藍牙與 GPS定位等)。下午則是專注於 MediaTek Cloud Sandbox 雲端服務,可以用網頁與 Android app 來控制開發板。對於開發者來說,可以專心在如何取得資料這件事,而不用去煩惱複雜的通訊協定。

LinkIt ONE 相關文章請點我

IMG_20150509_163030

講師:葉難老師(知名 Raspberry Pi / Arduino 技術作者)

2015-05-09 09.45.53

IMG_20150509_155225 IMG_20150509_155233

Ardublock 圖形化Arduino – 電位計 PWM 控制LED

使用 ArduBlock 來寫一寫個簡單的小程式,這是一個需要另外安裝(.jar)於 Arduino IDE 的圖形化程式,拉拉方塊就可以寫好 Arduino 程式,還可以回到 Arduino IDE 微調,非常方便喔。

.jar 請由 ArduBlock 網站下載。接線很簡單,請將電位計接到 A0腳位,LED 接到 D9腳位(PWM)。執行程式之後,轉動電位計就可以控制LED漸明漸暗。如下圖:

螢幕快照 2015-04-21 上午12.11.18

安裝環境請參考:Ardublock : Arduino中的圖形化環境

點選 ArduBlock 的 上傳(Upload)按鈕後,會先轉成 Arduino code 之後再準備上傳,您可以在此微調之後再上傳。

螢幕快照 2015-04-21 上午12.00.43