顯示具有 Scratch 標籤的文章。 顯示所有文章
顯示具有 Scratch 標籤的文章。 顯示所有文章

2018年8月3日 星期五

小玩 Scratch 3.0 之 micro:bit 篇

Scratch 3.0 Beta 終於在美東時間 8月1日正式上市(Try the Scratch 3.0 Beta today!),網路上也有許多大師紛紛介紹,提供我們學習。讓我們來看看吧!

  1. Scratch 3.0的3大重點(Cavedu)
  2. Scratch 3.0 beta 版正式開跑!(邱信仁老師)
  3. Scratch 3.0 版本比較(易心科技)
  4. 當 SCRATCH 3.0 遇上 MICRO:BIT


Scratch 的好玩與好處,我就不多介紹了!接下來,跟大家分享一下用 Scratch 3.0 Beta 玩 micro:bit 原版玩法。

連結 Scratch 3.0


  • 進入編輯介面


連接 micro:bit
連結 micro:bit 必須先下載並安裝 Scratch Link。


  • 安裝Scratch Link


  • 連接 micro:bit (連接micro:bit,需先下載 Scratch-microbit.hex 檔;並將 HEX 檔存放入 micro:bit )


新增 micro:bit 的【擴展】積木

  •  點選添加擴展
  •  新增 micro:bit 積木
  • 連接 micro:bit 成功 (會顯示micro:bit 裝置名稱)
  •  新增 micro:bit 積木成功

顯示橘色驚嘆號,表示未連接裝置。點選橘色驚嘆號可以進行重新連接!

顯示綠色打勾符號,表示已連接 micro:bit


Scratch 3.0 Beta 的 micro:bit 積木
  • 積木功能介紹



2017年4月16日 星期日

Motoblockly Sensor board學Blockly (閃耀的彩色LED燈 (Loop & For... 迴圈))

在 S4A Sensor Board 上有三顆,分別是D10(綠色)、D11(紅色)、D12(黃色);在這個Section開始,我們將學習如何一次控制三顆LED,進而學習迴圈的進階應用。

Step 01. 一閃一閃彩色 LED 燈

說明:
  1. 這個 Step 將利用程式的時間差,同時控制D10、D11、D12三顆LED燈。
  2. 練習過程,請學習者自行調整不同腳位LED的順序與時間量,並觀察調整後的變化。
範例:
  1. 如圖一,依序啟動 (數位腳位為 ) 和關閉(數位腳位為 ) LED 數位腳位 D10、D11、D12,將積木方塊堆疊在程式開始棕色積木的【迴圈】中,觀察執行程式的變化。
  2. 範例檔:請選擇匯入 XML_ColorLED_01.xml ,可開啟本Step的範例,或利用 Arduino IDE 開啟 IDE_ColorLED_01.ino 執行程式的結果。

Step 02. 模擬紅綠燈

說明:
  1. 這個 Step 將利用程式迴圈與時間差,同時控制D10、D11、D12三顆LED燈。
  2. 模擬紅綠燈號時,須注意紅綠燈的變化順序,燈號長亮時間與閃爍時間,可以透過不同的時間輛進行控制。
  3. 練習過程,請學習者自行調整不同腳位LED的順序與時間量,並觀察調整後的變化。
範例:
  1. 如圖二,依序啟動 (數位腳位為 ) 和關閉(數位腳位為 低) LED 數位腳位 D10、D11、D12,將積木方塊堆疊在程式開始棕色積木的【迴圈】中,觀察執行程式的變化。
  2. 在這個Step有 XML_ColorLED_02.xml、XML_ColorLED_03.xml 兩個範例,XML_ColorLED_02.xml 這個範例是利用時間差依序執行所有的程式,XML_ColorLED_03.xml 則是利用了迴圈(for...)的概念,在程式迴圈中,將部分重複的程式,利用迴圈(for...),判斷執行次數,執行需要程式重複執行的部分,比較兩個範例可以發現,透過迴圈(for...)的應用,可以有效縮短程式的行列數與檔案大小。
  3. 範例檔:請選擇匯入 XML_ColorLED_02.xml、XML_ColorLED_03.xml 兩個範例,可開啟本Step的範例,或利用 Arduino IDE 開啟 IDE_ColorLED_02.ino、IDE_ColorLED_03.ino 執行程式的結果。從執行結果可以發現這兩個程式的執行結果是一樣,唯一的差別在程式的編輯差異,這也是程式因人而異與有趣的地方。
備註
在執行上列 Step 練習時,有一個小問題必須注意,S4A Sensor Board V2 擴充板因為批號的不同,D10、D11、D12腳位的 LED 燈號顏色不見得與本課程的範例一致。例如,以筆者的擴充板來說,分別有D10(綠色)、D11(紅色)、D12(黃色)和D10(紅色)、D11(黃色)、D12(綠色)兩種。為了解決類似問題或時間量變更的問題,方便程式的變更與程式版本的控制,我們在後續的課程 Session,將提到利用「變數」或副程式的概念來解決這類問題。

Motoblockly Sensor board學Blockly (點亮LED燈)

點亮LED燈
S4A Sensor Board V2 擴充板上有三顆,分別是D10(綠色)、D11(紅色)、D12(黃色);點亮LED燈是編程學習中較為簡易的入門課程,我們也從這個步驟作為學習開始。

Step 01. 點亮第一盞 LED 燈

說明:
  1. 這個 Step 是認識 motoBlockly 的第一步,在打開 motoblockly 時,會從「程式開始」進入程式編輯,您會在程式編輯區看見第一個積木【設定、迴圈】棕色積木。實際上,在 Blockly 的工作積木中,它是可以被省略;但是在 motoblockly 中,為了在學習過程更容易理解 IDE 編輯的邏輯,所以做了這個積木,方便學習比對與教學說明。
  2. 點亮第一盞 LED 燈這個步驟,我們將先點亮 D10 這一顆 LED 燈作為學習的開始。
範例:
  1. 點亮 LED D10:如圖三,LED位於數位腳位 D10,所以積木塊選擇設定【數位腳位 D10 為 高】,設定電位為高,啟動LED。
  2. 範例檔:請選擇匯入 XML_LED_01.xml ,可開啟本Step的範例,或利用 Arduino IDE 開啟 IDE_LED_01.ino 執行程式的結果。

Step 02. 讓 LED 燈閃爍(1)

說明:
  1. 讓 LED 燈閃爍,就必須在程式執行中加入時間控制,時間控制積木裡的時間量有【毫秒】與【微秒】兩種,1秒=1000毫秒=1000*1000微秒,依此類推。
  2. 在 motoBlockly 中,除了可以利用電子積木進行編程,使用者如果對於 C 語言熟悉,點選功能表列上【Arduino】欄位,可以直接進行 IDE 語言的編輯或修改。(如圖四)
範例:
  1. 將積木塊堆疊入【程式開始】的【迴圈】中,設定【數位腳位 D10 為 高】,加入時間量進行控制。觀察程式執行的結果。
  2. 範例檔:請選擇匯入 XML_LED_02.xml ,可開啟本Step的範例,或利用 Arduino IDE 開啟 IDE_LED_02.ino 執行程式的結果。


Step 03. 讓 LED 燈閃爍(2)

說明:
  1. 將 Step 02 【迴圈】中的程式積木,堆疊放入【程式開始】的【設定】中,觀察程式執行的結果。
  2. 比較 Setp 02 與 Setp 03 兩組程式堆疊的位置差異,觀察程式執行結果的不同。
範例:
  1. 將積木塊堆疊入【程式開始】的【迴圈】中,設定【數位腳位 D10 為 高】,加入時間量進行控制。觀察程式執行的結果。
  2. 範例檔:請選擇匯入 XML_LED_03.xml ,可開啟本Step的範例,或利用 Arduino IDE 開啟 IDE_LED_03.ino 執行程式的結果。

2017年1月2日 星期一

從 Scratch 學習運算思維

從 Scratch 學習運算思維

在 ScratchED 網站中對於Scratch 學習運算思維的定義:(1) computational concepts, (2) computational practices, and (3) computational perspectives。從程式編輯的角度,正是:(1)程式設計概念 (Concepts);(2)程式設計技巧 (Practices);(3)程式設計觀點 (Perspectives)。
Scratch是一種具有物件概念的積木式程式語言,透過角色、行為與時間的不同搭配方法,藉由使用迴圈、條件和變數的程式編輯觀念來完成指派的行為動作或任務。
接下來將進入本課程探討的焦點,如何利用 Scratch 培養運算思維 (Computational Thinking)?
我們將從 ScratchEd 這些資訊教育專家所設計的 Scratch 課程,讓學生在實作中,學會運算思維。基於上述對於Scratch 學習運算思維的定義,我們將更深入探討關於定義中:概念 (Concepts)、實踐(Practices)、觀點 (Perspectives),所發散出來的教學策略與學習技巧。
運算的概念 (Concepts)~程式設計概念
  1. 序列(sequence):對某一個任務,確定一系列的步驟 。
  2. 迴圈(loops):重複執行相同的序列。
  3. 平行(parallelism):在同一時間讓許多事同時發生。
  4. 事件(events):一件事引發另一件事的發生。
  5. 條件(conditionals):根據條件做決定。
  6. 運算子(operators):支援數學與邏輯的表達。
  7. 資料(data):儲存資料、讀取資料與更新資料。

實踐作法 (Practices)~程式設計技巧
  1. 反覆地增加(being iteratively and incrementally):
    發展了一點點,試試看,然後再發展一些。
  2. 測試與除錯(testing and debugging):
    確保事情能執行,發現錯誤並解決問題。
  3. 重複使用與混合(reusing and remixing):
    在現有的專案或想法上做點什麼。
  4. 抽象與模組化(abstracting and modularizing):
    探索整個問題與其他部分的連結。

建立觀點 (Perspectives)~程式設計觀點
  1. 表達(expressing):
    了解「電腦運算」是一種創作的媒介,「我可以創造」。
  2. 連接(connecting):
    體認到「與他人一起創造」和「為他人創造」的力量,「當我有機會接觸他人,我可以做不一樣的事!」。
  3. 質疑(questioning):
    有能力對世界提出問題,「我可以(運用電腦運算)提問,並理解(電腦運算)世界!」。



PS. 資料參考來源:
  1. 蔡淑玲老師 Coding for Fun
  2. 橘子蘋果 程式設計學苑
  3. 创意计算: Chinese Translation of the Creative Computing Curriculum Guide
說明:
ScratchED(http://scratched.gse.harvard.edu/) 是一個專門為 Scratch 教學者建立的線上社群,所有關於 Scratch 的教育工作者皆可以在這裡分享自己的資源,並取的相關的協助。
補充資源:

用 YwRobot Easy module Shield v1 學 Scratch 2.0

EMSV1_Scratch2

為什麼學編程?
2016~2020資訊總藍圖規劃,運算思維(computational thinking)成為課程發展的一項重要綱領。雖然,運算思維所要強調發展,並非僅止於程式編輯一項,反而更是一個解決問題的思維發展模式。但是,在資訊教育的課程發展中,利用程式編輯的學習經驗,是足以作為培養學生發展運算思維的媒介工具。

利用YwRobot Easy Module Shield學編程!
許多老師會利用Scratch 來作為學生學習編程課程的基礎,常見搭配 Scratch 課程的硬體也不少,主要有兩類:Picoboard 與 S4A(Scratch for Arduino)。在台灣,最常見也最知名的,不外乎由慧友科技所推出的 S4A Sensor Board (相關課程)和全佑電腦所代理的 MakeBlock(mBlock)
「用YwRobot Easy Module Shield 多功能實驗擴展板學編程」這個課程主要就是使用 YwRobot Easy Module Shield 這個 Arduino UNO的擴展板,利用它已經整合的各種模組(按鍵、LED、EGB、紅外線接收、亮度傳感器(光源)、LM35D溫度傳感器、無源蜂鳴器、電位器、DHT11溫濕度傳感器),搭配 S4A 學習Scratch與硬體的應用。

003.png

Easy Module Shield v1 是兼容UNO,內建蜂鳴器、可調電位器(可變電阻)、 DHT11溫濕度感測器、LM35溫度、光源感測器、紅外線接收器及一組紅色LED、藍色LED、RGB LED 的 Arduino 多功能擴展板。同時還能外接兩組數位輸入/輸出、一組類比輸入和藍芽、I2C連接埠。
高功能Sensor的整合,非常方便學生學習,避免短接、誤接的機率發生,同時也降低費用的支出與教師在教學現場管理的諸多麻煩,讓課程在進行時更加順利。
本課程主要是利用 Kodorobot Transformer 作為 Scratch 2.0、Arduino 與 YwRobot EMS v1 擴展板的轉譯程式,學習利用 Scratch 2.0 控制 Arduino。更多課程內容請點選下列連結。
  1. EduMakerLab 創客教室 Transformer Lesson
  2. Instructables:用YwRobot EMS v1 學Scratch2.0

2016年11月1日 星期二

用S4A Sensor Board玩Scratch 2.0:課程目錄

課程前言:
為什麼要用S4A Sensor Board玩Scratch 2.0
2016~2020資訊總藍圖規劃,運算思維(computational thinking)成為課程發展的一項重要綱領。雖然,運算思維所要強調發展,並非僅止於程式編輯一項,反而更是一個解決問題的思維發展模式。但是,在資訊教育的課程發展中,利用程式編輯的學習經驗,是足以作為培養學生發展運算思維的媒介工具。
認識S4A Sensor Board
S4A Sensor Board是由台灣 慧手科技 所出品的Arduino擴展板:S4A Sensor Board,必須結合Arduino UNO或其相容板的主板使用。本課程所使用的S4A Sensor Board擴展板,是第一代的擴展板。
認識 Kodorobot Transformer ~
Kodorobot Transformer是由台灣宇宙機器人公司所開發的Scratch與Arduino轉譯程式。什麼是轉譯程式呢?Transformer作為轉譯程式的主要功能是為了讓Scratch的電子化積木語言,可以透過轉譯程式將程式命令轉化為數位訊號,傳送至Arduino板並執行命令動作。
過去,這個角色一直都是利用S4A(Scratch for Arduino),對於利用S4A學習S4A Sensor Board有興趣的朋友,可以參考我們之前的課程:S4A Sensor Board
本課程主要是以Scratch 2.0作為程式編輯的工具,透過Kodorobot Transformer協助,讓學生藉由學習Scratch的經驗,進而控制Arduino及其相關感測器。

課程目錄:
  1. 用S4A Sensor Board玩Scratch 2.0:緒論
  2. 用S4A Sensor Board玩Scratch 2.0:認識 Arduino!
  3. 用S4A Sensor Board玩Scratch 2.0:用Kodorobot Transformer玩Scratch 2.0
  4. 用S4A Sensor Board玩Scratch 2.0:課前準備~課程進行之軟硬體環境確認!
  5. 用S4A Sensor Board玩Scratch 2.0:讓 LED 燈亮起來
  6. 用S4A Sensor Board玩Scratch 2.0:用按鈕控制 LED 燈
  7. 用S4A Sensor Board玩Scratch 2.0:請你利用鍵盤搭配 S4A 控制 Sensor
  8. 用S4A Sensor Board玩Scratch 2.0:讀取電位器(可變電阻)的偵測值
  9. 用S4A Sensor Board玩Scratch 2.0:讀取電位器(可變電阻)的偵測值,判斷數值的大、中、小
  10. 用S4A Sensor Board玩Scratch 2.0:「運算」與「變數」的應用
  11. 用S4A Sensor Board玩Scratch 2.0:使用光源感測器
  12. 用S4A Sensor Board玩Scratch 2.0:使用光源感測器控制燈光的開關
  13. 用S4A Sensor Board玩Scratch 2.0:偵測聲音的大小數值
  14. 用S4A Sensor Board玩Scratch 2.0:聲控開關
  15. 用S4A Sensor Board玩Scratch 2.0:控制舵機 (Servo) 角度
  16. 用S4A Sensor Board玩Scratch 2.0:製作停車場閘門
  17. 用S4A Sensor Board玩Scratch 2.0: 利用「變數」控制 Servo 的角度變化
  18. 用S4A Sensor Board玩Scratch 2.0:利用電位器(可變電阻)控制 Servo 的變化


重要訊息!
推薦有進階課程需求的朋友,請閱覽 黃文玉老師的 《阿玉Transformer+Scratch研究區,內容更加精采多元!

用S4A Sensor Board玩Scratch 2.0:利用電位器(可變電阻)控制 Servo 的變化

這個 Session 是這一堂課程的最後一單元,利用先前所學的電位器(可變電阻)控制方法,控制 Servo (舵機)的轉動角度。由於電位器(可變電阻)的讀取值是 0~1023,我們將把電位器(可變電阻)的讀取值分成大、中、小三段,作為控制 Servo (舵機)角度的值。
Step 1:(範例:S4A_Sensor_Board_23.sb2)
利用變數設定 Servo (舵機)的起始位置是 90 度,「角度」 作為 Servo (舵機)轉動角度位置的變數,範例設定當電位器(可變電阻)變數的讀取值大於 612 時,Servo (舵機)的角度隨讀取值增加而增加。 反之,當電位器(可變電阻)變數的讀取值小於 412 時,Servo (舵機)的角度隨讀取值減少而角度變小。
Step 1:(範例:S4A_Sensor_Board_23.sb2)

Step 2:(範例:S4A_Sensor_Board_24.sb2)
承Step 1,利用副程式的概念,設計警示燈號,當 Servo (舵機)的角度達最大值時,亮綠色(D11)燈號。當 Servo (舵機)的角度達最小值時,亮紅色(D10)燈號。
設計一副程式語法關閉程式。
Step 2:(範例:S4A_Sensor_Board_24.sb2)


練習 (Worksheet) 02

請你利用前面所學過的程式經驗,設計一個光感應自動開啟或關閉窗簾的裝置。
Step 1:(範例:S4A_Sensor_Board_25.sb2)
利用光感應器(A1)感測光源的大小,當光線的亮度大於 612 時,關閉燈(D11),並且打開窗簾(motor 4),直到設定條件停止(角度=179)。
當光線的亮度小於 200 時,打開燈(D11),並且關閉窗簾(motor 4),直到設定條件停止(角度=0)。
Step 1:(範例:S4A_Sensor_Board_25.sb2)


用S4A Sensor Board玩Scratch 2.0: 利用「變數」控制 Servo 的角度變化


這個 Session 將利用變數來作為 Servo 角度的變化,控制 Sevo 的轉動。
Step 1:(範例:S4A_Sensor_Board_22.sb2) 
預設 Servo 的角度起始位置是 0 度,每隔 0.01 秒增加 1 度(時間的設定值可以控制 Servo轉動的平順度)。由於 Servo 的轉動角度只有 180 度 (SG90 或 MG90),當舵機依序從 0 度轉動到 180 度時,回到 0 度,重複步驟轉動。
Step 1:(範例:S4A_Sensor_Board_22.sb2) 

用S4A Sensor Board玩Scratch 2.0:製作停車場閘門


Step 1:(範例:S4A_Sensor_Board_21.sb2)
結合 Servo (舵機;D4)與按鍵 (D2) 的程式指令積木,設計一個類似停車場出入口的閘門,透過按鍵 (D2) 控制閘門的開關。 當閘門關閉時,Servo (舵機;D4)的角度位置是在 20 度。
當按下開關,閘門開啟時,Servo (舵機;D4)的角度位置是在 90 度。開啟閘門後,於 10 秒鐘後自動關閉閘門。
Step 1:(範例:S4A_Sensor_Board_21.sb2)

用S4A Sensor Board玩Scratch 2.0:控制舵機 (Servo) 角度

這個 Session ,我們將學習控制外接的傳感器:Servo(舵機),透過指令調整舵機的角度變化。(範例舵機型號 SG90 或 SG90)
Step 1:(範例:S4A_Sensor_Board_20.sb2) 
透過動作指令的程式積木,設定不同的轉度角度位置 (範例:20、60、90、180),讓 Servo (舵機;D4)依序重複變換轉動的角度位置。
Step 1:(範例:S4A_Sensor_Board_20.sb2) 

注意:連接 Servo (舵機)時,要注意接線與 S4A Sensor Board上的腳位位置:S(訊號;黃線)、V (5V電源;橘紅線)、G (地線;棕色線)。

用S4A Sensor Board玩Scratch 2.0:聲控開關

延續上一個單元 (偵測聲音的大小數值),利用麥克風偵測的聲音值,判斷值得大小,作為啟動 LED 燈的開關。
Step 1:(範例:S4A_Sensor_Board_19.sb2) 
利用麥克風 (A2) 偵測聲音的大小,當聲音大於開燈預設值 (範例:300) 時,讓LED (D10) 燈亮起來。
利用麥克風 (A2) 偵測聲音的大小,當聲音小於關燈預設值 (範例:200) 時,讓LED (D10) 燈熄燈。
Step 1:(範例:S4A_Sensor_Board_19.sb2) 

用S4A Sensor Board玩Scratch 2.0:偵測聲音的大小數值

在 S4A Sensor Board 的 A2 腳位,設有一個類比埠的麥克風,可以透過麥克風的聲音輸入,偵測聲音值得大小。
Step 1:(範例:S4A_Sensor_Board_18.sb2)
讀出麥克風 (A2) 的偵測值,將麥克風偵測的聲音大小數值顯示在舞台區。
Step 1:(範例:S4A_Sensor_Board_18.sb2)

用S4A Sensor Board玩Scratch 2.0:使用光源感測器控制燈光的開關

承接上一個 Session (使用光源感測器) 的課程內容,這個Session 將利用「運算」與「變數」的執行結果,將讀取值作為判斷值。透過光源的明暗變化,控制 LED 燈的動作與開關。
Step 1:(範例:S4A_Sensor_Board_16.sb2)
利用光源感測器(A1)的偵測值,判斷光線的明暗,當亮度大於620時,說:你好。當亮度不足(小於400)時,閃爍紅色 LED 警示。
Step 1:(範例:S4A_Sensor_Board_16.sb2)

Step 2:(範例:S4A_Sensor_Board_17.sb2)
利用光源感測器(A1)的偵測值,判斷光線的明暗,當亮度大於620時,關閉 LED燈。當亮度不足(小於400)時,開啟LED 燈。
Step 2:(範例:S4A_Sensor_Board_17.sb2)

用S4A Sensor Board玩Scratch 2.0:使用光源感測器

S4A Sensor Board 的光源控制器是透過 D3 或 A1 腳位引出,在這個 Session 的學習課程,光源感測器與電位器(可變電阻)一樣,都是利用類比埠輸出,輸出值介於0~1023。
Step 1:(範例:S4A_Sensor_Board_15.sb2)
讀出光源感測器 (A1) 的亮度偵測值,將亮度的偵測數值顯示在舞台區。
Step 1:(範例:S4A_Sensor_Board_15.sb2)

用S4A Sensor Board玩Scratch 2.0:「運算」與「變數」的應用

這個 Session 主要在練習應用「運算」與「變數」的執行結果,將讀取值作為其他感測器應用的輸入值。以本範例來說,就是利用電位器(可變電阻)的偵測值,作為判斷讓蜂鳴器聲音變大或變小的數據。
Step 1:(範例:S4A_Sensor_Board_14.sb2)
在 S4A Sensor Board 上,蜂鳴器的位置腳位是 D9 的PWM腳,可以透過電位器提供輸出的電壓值,控制蜂鳴器音量,電壓的計算公式為 V=(n/255)*5,所以當 n=0 時,電壓為 0 V;當 n=255 時,電壓為 5 V。
電位器本身透過電阻的大小,改變電壓的輸出值,取得不同的類比訊號。S4A Sensor Board 上的電位器是接在類比埠A0 ,電位器的類比輸入值是 0~1023;但是,PWM 的類比輸出值是 0~255,因為類比輸入數值與PWM的值不符,會出現錯誤提示。所以,通常會再將(類比訊號的值/4)之後取整數(四捨五入),再修正 >255設定為255,<0的值設定為 0,最後再將其值送出給PWM。
Step 1:(範例:S4A_Sensor_Board_14.sb2)

用S4A Sensor Board玩Scratch 2.0:讀取電位器(可變電阻)的偵測值,判斷數值的大、中、小

這個 Session 主要在練習「運算」與「變數」的條件式應用,透過操作練習,了解「運算」指令積木的功能,能夠運用「運算」指令在程式的數學運算。同時學習利用「變數」的功能來增加效率,讓重複的指令,透過變數的宣告,直接執行,簡化程式的架構。
Step 1:(範例:S4A_Sensor_Board_13.sb2)
利用變數作為宣告電位器(可變電阻)的偵測值讀取值,再透過「運算」指令的功能,判斷變數值得大小。
Step 1:(範例:S4A_Sensor_Board_13.sb2)

用S4A Sensor Board玩Scratch 2.0:讀取電位器(可變電阻)的偵測值

類比埠的輸出值是0~1023。在S4A Sensor Board 上,類比埠除了應用在RJ11的擴充腳位上,在板子上也預設使用3組類比埠,即 A0:電位器(可變電阻)、A1:光源感測器(也可透過D3 PWM)、A2:麥克風。從這個 Session 開始,我們要練習電位器的控制與應用。
Step 1:(範例:S4A_Sensor_Board_12.sb2) 
讀出電位器 (A0) 的偵測值,將電位器(可變電阻)的偵測值顯示在舞台區
Step 1:(範例:S4A_Sensor_Board_12.sb2) 

用S4A Sensor Board玩Scratch 2.0:請你利用鍵盤搭配 S4A 控制 Sensor


請您利用 S4A 中的「偵測指令」積木,操作 S4A Sensor Board的按鍵與LED燈。
Step 1:(範例:S4A_Sensor_Board_08.sb2) 
執行一次,按下鍵盤的「上移鍵」,啟動執行動作:按下按鍵(D2),啟動 S4A Sensor Board 的紅色 LED 燈(D10) 亮起來,等待3秒後熄燈。
Step 1:(範例:S4A_Sensor_Board_08.sb2) 

Step 2:(範例:S4A_Sensor_Board_09.sb2) 
重複執行,按下鍵盤的「下移鍵」,啟動執行動作:按下按鍵(D2),啟動 S4A Sensor Board 的綠色 LED 燈(D11) 亮起來,等待1秒後熄燈。
Step 2:(範例:S4A_Sensor_Board_09.sb2) 

WorkShop:
請將上面兩個練習範例,放在同一個執行緒中。
Step 1:(範例:S4A_Sensor_Board_10.sb2) 
按下鍵盤的「上移鍵」,啟動執行動作:按下按鍵(D2),啟動 S4A Sensor Board 的紅色 LED 燈(D10) 亮起來,等待3秒後熄燈。 按下鍵盤的「下移鍵」,啟動執行動作:按下按鍵(D2),啟動 S4A Sensor Board 的綠色 LED 燈(D11) 亮起來,等待3秒後熄燈。
Step 1:(範例:S4A_Sensor_Board_10.sb2) 

Step 2:(範例:S4A_Sensor_Board_11.sb2) 
重複執行動作,直到新的條件出現,判斷新條件後執行動作。
Step 2:(範例:S4A_Sensor_Board_11.sb2) 

提示:
  1. 執行緒中,需要有「條件」判斷式。
  2. 請比較範例中的差異。

用S4A Sensor Board玩Scratch 2.0:用按鈕控制 LED 燈

除了讓 LED 亮起來,這個Session 的課程內容,要學習如何透過按鈕,控制 LED 燈的開關。
Step 1:(範例:S4A_Sensor_Board_06.sb2)
按下綠旗執行程式,讓S4A Sensor Board 的紅色 LED 燈(D10) ,可以透過按鍵(D2)控制,讓燈亮起來。
Step 1:(範例:S4A_Sensor_Board_06.sb2)

Step 2:(範例:S4A_Sensor_Board_07.sb2)
按下綠旗執行程式,控制 S4A Sensor Board 的紅色 LED 燈(D10) ,按下按鍵(D2)控制,讓燈亮起來。否則紅色 LED 燈(D10)就不亮。
Step 2:(範例:S4A_Sensor_Board_07.sb2)

Workshop:
  1. 按下綠旗執行程式,可有透過按鍵(D2),啟動 S4A Sensor Board 的紅色 LED 燈(D10) 不斷閃爍。
  2. 請您設計一個程式,按下按鍵(D2)時,啟動 S4A Sensor Board 的紅色 LED 燈(D10) 和綠色 LED 燈(D11),交互不斷閃爍。

用S4A Sensor Board玩Scratch 2.0:讓 LED 燈亮起來

這一個 Session 開始,將要以 Arduino UNO 搭配 S4A Sensor Board 進行傳感器的控制與應用。
課堂的第一步~ LED 燈的控制,這個 Session 總共有三個範例,提供你練習。
Step 1:(範例:S4A_Sensor_Board_01.sb2) 
按下綠旗執行程式,讓S4A Sensor Board 的紅色 LED 燈(D10) 亮起來
Step 1:(範例:S4A_Sensor_Board_01.sb2) 

Step 2:(範例:S4A_Sensor_Board_02.sb2) 
按下綠旗執行程式,讓S4A Sensor Board 的紅色 LED 燈(D10) 亮起來,3 秒後再熄燈。
Step 2:(範例:S4A_Sensor_Board_02.sb2) 

Step 3:(範例:S4A_Sensor_Board_03.sb2) 
按下綠旗執行程式,讓S4A Sensor Board 的紅色 LED 燈(D10) 閃爍兩次。
Step 3:(範例:S4A_Sensor_Board_03.sb2) 

Step 4:(範例:S4A_Sensor_Board_04.sb2) 
按下綠旗執行程式,讓S4A Sensor Board 的紅色 LED 燈(D10) 和綠色 LED 燈(D11)輪流閃爍兩次。
Step 4:(範例:S4A_Sensor_Board_04.sb2) 

Step 5:(範例:S4A_Sensor_Board_05.sb2) 
按下綠旗執行程式,讓S4A Sensor Board 的紅色 LED 燈(D10) 和綠色 LED 燈(D11)重複輪流閃爍共十次。
Step 5:(範例:S4A_Sensor_Board_05.sb2) 

Workshop:
  1. Step 3 還可以用哪一種程式積木的方式呈現呢?
  2. Step 4 還可以用哪一種程式積木的方式呈現呢?
Related Posts Plugin for WordPress, Blogger...