在 S4A 軟體上玩 Arduino Esplora

若您覺得文章寫得不錯,請點選文章上的廣告,來支持小編,謝謝。

用了四個Scratch for Arduino軟體做初步的使用,結果如下:

mBlock
可與控制 RGB LED的三種顏色、Buzzer、Pin 13的 LED、Buzzer

S4A
可與控制 RGB LED的紅色與藍色兩種顏色、Buzzer、Pin 13的 LED、Buzzer

WFduino
連線不成功

Transformer-community
無法更新 Esplora 的韌體

以上軟體全部無法讀取到 Esplora 上的感測器,原因在於 Esplora 在Sensor電路設計時,利用多工器(型號為74HC4067DB)來處理的,並且將 analog pin A0 ~ A3當成數位輸入,這點從 Esplora 的程式碼可看出端倪。



而這四個S4A的軟體皆無法將Analog腳位設為數位腳位來使用,需用別的方式來使用,做 extension與修改Firmdata的韌體才有可能做到吧。

Scratch 3 遊戲:選出文字顏色

若您覺得文章寫得不錯,請點選文章上的廣告,來支持小編,謝謝。

首先請讀者念出下圖中文字上的顏色。
例如:
」要念,因為字是用藍色來顯示。
」要念,因為字是用藍色來顯示。
」要念,因為字是用綠色來顯示。
」要念,因為字是用綠色來顯示。


此遊戲加上計分與計時的功能後,就可以電腦來設計遊戲了。

遊戲玩法:
1. 按下綠旗開始遊戲。
2. 使用滑鼠點選文字上的顏色。
3. 答對繼續玩。
4. 答錯就結束。

身為高手的您能得幾分呢?



所需要的觀念:
1. 迴圈
2. 全域變數
3. 角色的造型編號
4. 廣播訊息


做法:
1. 設計名稱為文字的角色,文字角色包含空白,十種造型,在程式積木中會用到造型編號來當答案用。


2. 設計三個長方形按鈕角色,顏色分別為紅色、藍色、綠色。


3. 使用全域變數來記錄分數、時間等資訊。

程式積木部分請讀者參考:https://scratch.mit.edu/projects/152316109/

延伸練習:
1. 將三個按鈕角色合併成一個角色,並使用角色分身的功能來做程式積木的設計。
2. 增加文字顏色。
3. 將文字改成其他語言,例如英文、日文、韓文等。

Scratch 3 遊戲:簡易版Agar.io (Scratch Game: Simple Agar.io )

若您覺得文章寫得不錯,請點選文章上的廣告,來支持小編,謝謝。

If you like this post, please click the ads on the blog or buy me a coffee. Thank you very much.

Agar.io是一款網頁遊戲,遊戲的玩法很簡單:控制自己的細胞去吃比較小的細胞,並且不要被比自己大的細胞吃掉。本文介紹如何製作類似的小遊戲,只不過本遊戲只會吃別人,不會被別人吃掉。

分析 Agar.io 遊戲中的一些功能:
1. 玩家細胞會一直在畫面中間。
2. 玩家細胞會隨著滑鼠移動,滑鼠離得越遠,移動速度越快。
3. 玩家細胞越大,移動速度越慢。
4. 其他。

前三點功能是本篇要說明的,其他的功能留待不才筆者想出解法時,在說明吧(苦笑)。首先要說明一件事:「雖然在本遊戲進行中,看起來像是玩家細胞在移動,但其實不是,而是其他細胞在移動。

觀念說明:
1. 玩家細胞會一直在畫面中間。此點的程式積木:


2. 玩家細胞會隨著滑鼠移動,滑鼠離得越遠,移動速度越快。
3. 玩家細胞越大,移動速度越慢。
用變數(在此範例的變數名稱為大小)來記錄玩家細胞大小,然後再將移動的距離除以此變數就可辦到

2 與 3 此兩點的程式積木:


遊戲製作步驟:
步驟一:製作兩個角色【玩家】與【食物】,造型可自由設計。


步驟二:設計【玩家】角色程式積木。




步驟三:設計【食物】角色程式積木。





Scratch 3 遊戲:Dabble 猜單字遊戲(分身版)

若您覺得文章寫得不錯,請點選文章上的廣告,來支持小編,謝謝。

接續之前的 Scratch 遊戲:Dabble 猜單字遊戲,此次用分身的方式來設計程式積木。

所需要的觀念:

1. 迴圈
2. 區域變數
3. 全域變數
4. 清單
5. 角色的造型名稱
6. 分身與分身編號

找單字的網站:http://wordfinder.yourdictionary.com/index/,筆者是使用這個網站找出字母長度為4的單字,只使用415個單字,沒有將該網站長度為4的單字全部納進來。

遊戲玩法:

按下綠旗開始玩。
以滑鼠拖曳字母到按鈕上。
若按鈕上有字母時,無法放入新字母,須將按鈕內的字母移出。
按下空白鍵檢查單字是否在字庫清單裡。



程式積木變動最多為Letter(字母)角色,改成分身的方式:



遊戲可以改進的幾個方向:

1. 目前16個隨機字母有可能會組不出在字庫裡的任何一個單字,也就是根本組不出字庫裡的單字,要如何改進呢?
2. 有時候會同時移動兩個字母,如何改進此問題呢?
3. 想一個不一樣的操作方式,並實現它,可參考此影片:Dabble - the Fast Thinking Word Game Gameplay

Scratch 3 遊戲:Dabble 猜單字遊戲

若您覺得文章寫得不錯,請點選文章上的廣告,來支持小編,謝謝。

Dabble 是一款桌遊,可參考此影片的介紹:
本篇介紹如何製作類似的單字小遊戲。

所需要的觀念:

1. 迴圈
2. 區域變數
3. 全域變數
4. 清單
5. 角色的造型名稱

遊戲玩法:
按下綠旗開始玩,以滑鼠拖曳字母到按鈕上,按下空白鍵檢查單字是否在字庫清單裡。

遊戲設計方式:
製作兩個清單,一個用來存放英文單字字庫清單,一個用來存放玩家所猜的字母
 


製作四個按鈕角色,名稱以流水號依序命名(在程式中會用到,以流水號的方式命名時,程式可用變數+迴圈的方式設計)


製作一個角色名稱為Letter1,此角色內含有 A到Z 26個英文字母造型,造型名稱為 A到Z,需對應顯示的字母,例如字母A的造型名稱為A。


Letter1角色程式積木:


設計好Letter1角色的積木後,複製Letter1角色,複製出來的角色名稱應該會變為Letter2,此時需修改Letter2角色的程式積木,總共有三個地方,如下圖的紅色框框:

上圖中黑色圈圈裡的數字須根據有多少字母要給玩家用,筆者是設計16個,所以用16。

筆者將判斷玩家所猜單字是否在字庫裡,寫在背景的程式積木區裡:



語文用的賓果遊戲

若您覺得文章寫得不錯,請點選文章上的廣告,來支持小編,謝謝。

根據 Games for Education - Making BINGO cards using a spreadsheet 這篇文章,我們可以製作出英語單字的賓果遊戲卡,當然也可以製作出中文或其他語言用的賓果遊戲卡。不過,筆者想的是用賓果造句的玩法,首先從動詞 、形容詞、名詞、副詞、代名詞各選五個
例如:
動詞 run eat jump are kick
形容詞 fat white beautiful tall lonely
名詞 time money car Facebook August
副詞 always above aloud enough finally
代名詞 anybody everyone they that who

然後從這25個單字任意填到賓果卡的25格子內,例如:
eatthateveryonetallfinally
whitejumpbeautifulwhoare
fatrunenoughkickAugust
caraboveFacebookanybodytime
alwaysmoneyaloudtheylonely

每位玩家填好後,輪流依序念出自己所選的單字,然後有五條連線的人獲勝,獲勝的人就請輸家來造句,例如有一條連線如下:
fat        run   enough     kick      August

這條連線能造出什麼句子呢(先不用管文法和語意,這留後續討論,先開心娛樂啊!)?
August kick fat enough!  八月踢肥踢到夠!
August run fat enough!  八月跑肥跑到夠!

以上玩法也可在別的語言,如中文、日文等玩玩喔。

Scratch 3 遊戲:打磚塊 ( Scratch Game: A Block Breaker )

若您覺得文章寫得不錯,請點選文章上的廣告,來支持小編,謝謝。

本文為【Scratch 遊戲:乒乓球】的延伸,將介紹如何用 Scratch 設計打磚塊遊戲。

遊戲試玩


遊戲功能:
  1. 一顆球在舞台上來回移動,碰到(邊緣、板子、磚塊)其中之一就反彈。
  2. 舞台下方有一板子,板子會水平移動。
  3. 球碰到舞台下方藍色線,遊戲就結束。
製作步驟:(底下程式積木圖形僅供參考,設計方式不是只有一種。
1. 製作平台磚塊三個角色, 並在舞台背景畫上任意顏色的結束線



2.平台程式積木


3.程式積木

4. 磚塊程式積木(用分身的方式)


以下圖來說明分身產生的流程:

假設方塊編號一的座標為(-200, 200),
方塊編號一先產生自己的分身,
接著將方塊編號一往右移動(X座標 + 100)後,產生自己的分身得到方塊編號二,
接著將方塊編號一往下移動(Y座標 - 100)後,產生自己的分身得到方塊編號三,
依上述方式就可以產生多個的磚塊分身了

專案程式範例:https://scratch.mit.edu/projects/150308217/




TUNIOT與NodeMcu及紅外線動作感測器(PIR)

若您覺得文章寫得不錯,請點選文章上的廣告,來支持小編,謝謝。

參考阿玉老師的04TUNIOT +ITFFF +保全系統,看看在WFduino 保全系統一文中所遇到的中文解譯問題是否存在。

硬體材料:
1. NodeMcu 板子 x 1
2. Micro USB 連接線 x 1
3. 母對母杜邦線 x 3
4. HC-SR501 人體紅外線模組

硬體電路:


母對母杜邦線
HC-SR501 Out --> NodeMcu D6
HC-SR501 VCC --> NodeMcu 3.3V
HC-SR501 GND --> NodeMcu GND

完成圖:



程式積木:
(TUNIOT線上編輯器網址:http://easycoding.tn/tuniot/demos/code/)

示範影片:


Line結果圖:
中文正常顯示了!

簡易電路單元二:按鈕控制 LED 開或關

若您覺得文章寫得不錯,請點選文章上的廣告,來支持小編,謝謝。

If you like this post, please click the ads on the blog or buy me a coffee. Thank you very much.

此單元要介紹如何設計用按鈕控制一顆LED開或關的電路。
This tutorial uses a button to control a LED without any programming.

硬體材料(Materials):
1. LED燈 x 1
2. 兩腳按鈕開關 2-pin push button x 1
3. 400孔麵包板 Breadboard x 1
4. Arduino Uno板 x 1 (僅用來供電用)
5. 10K omh resistor 歐姆電阻 x 1

硬體電路(The circuit):

完成圖(The finished assembling):

示範影片(Demo video):

WFduino 保全系統

若您覺得文章寫得不錯,請點選文章上的廣告,來支持小編,謝謝。

參考竹林資訊站【WFduino第29課家電也會和你line】與【WFduino第十四課(人體紅外線感測器)】,可打造小型的保全系統。

硬體材料:
1. Arduino NANO 板子 x 1
2. Mini-B USB 連接線 x 1
3. 母對母杜邦線 x 3
4. Arduino Nano 擴展板 x 1
5. HC-SR501 人體紅外線模組

硬體電路:

母對母杜邦線
HC-SR501 Out  --> Nano D6-S
HC-SR501 VCC --> Nano D6-V
HC-SR501 GND --> Nano D6-G

完成圖:


WFduino程式積木:


Line結果圖:
心得:中文會有亂碼的問題。

Arduino Otto 指令說明 Otto Command List

若您覺得文章寫得不錯,請點選文章上的廣告,來支持小編,謝謝。

延續Arduino Otto 跳舞機器人一文,從Otto的Arduino程式可得到如下的指令:

移動Movement指令如下:(M 與數字之間有一個空白鍵)
  • 前進 ==> M 1
  • 後退 ==> M 2
  • 向左 ==> M 3
  • 向右 ==> M 4
  • 抖腳 updown ==> M 5
  • 月球漫步1 moonwalker ==> M 6
  • 月球漫步2 moonwalker ==> M 7
  • 擺動 swing ==> M 8
  • 雙腳搖擺 crusatio ==> M 9
  • 雙腳搖擺 crusatio ==> M 10
  • 跳躍jump ==> M 11
  • 合腳flapping ==> M 12
  • 合腳flapping ==> M 13
  • 墊腳尖tiptoeSwing ==> M 14
  • 左腳站立bend ==> M 15
  • 右腳站立bend ==> M 16
  • 抖右腳shakeLeg ==> M 17
  • 抖左腳shakeLeg ==> M 18
  • 抖腳jitter ==> M 19
  • 抖腳ascendingTurn ==> M 20
姿勢Gesture指令如下(H與數字之間有一個空白鍵)
  • 快樂Happy ==> H 1
  • 超級快樂SupperHappy ==> H 2
  • 不高興Sad ==> H 3
  • 睡覺Sleeping ==> H 4
  • 放屁Fart ==> H 5
  • 困惑Confused ==> H 6
  • Love ==> H 7
  • 生氣Angry ==> H 8
  • 煩躁Fretful ==> H 9
  • 魔法Magic ==> H 10
  • 波動Wave ==> H 11
  • 勝利Victory ==> H 12
  • 失敗Fail ==> H 13
唱歌 Sing指令如下(K與數字之間有一個空白鍵)
  • 連線connection ==> K 1
  • 斷線disconnection ==> K 2
  • 驚訝surprise ==> K 3
  • ㄡㄡOhOoh ==> K 4
  • ㄡㄡ2OhOoh2 ==> K 5
  • 可愛cuddly ==> K 6
  • 睡覺sleeping ==> K 7
  • 快樂happy ==> K 8
  • 超級快樂super happy ==> K 9
  • 快樂一下happy short ==> K 10
  • 不高興sad ==> K 11
  • 困惑confused ==> K 12
  • 放屁1 fart1 ==> K 13
  • 放屁2 fart2 ==> K 14
  • 放屁3 fart3 ==> K 15
於是筆者用App Inventor做了一個小程式來玩,所有的程式皆在此:https://goo.gl/yj11Cf

示範影片

狀態機的應用:紅外線遙控 mBot 的三色燈

若您覺得文章寫得不錯,請點選文章上的廣告,來支持小編,謝謝。

狀態機的全名是有限狀態機,在很多的應用場合會看到它的存在,例如紅綠燈、自動販賣機等。

上個月的元宵節讓筆者想到用紅外線遙控器來控制 mBot 上的三色 LED 燈,於是設計兩個版本的程式。

版本一(有限狀態機):

紅外線按鍵
D
A
B
C
E
狀態
控制車子行走
控制紅色燈
控制綠色燈
控制藍色燈
控制三色燈


狀態一:控制車子行走
紅外線按鍵
車子行進方向
前進
後退
左轉
右轉


狀態二:控制紅色燈
紅外線按鍵
紅色燈
亮度增加
亮度減少

狀態三:控制綠色燈
紅外線按鍵
綠色燈
亮度增加
亮度減少

狀態四:控制藍色燈
紅外線按鍵
藍色燈
亮度增加
亮度減少

狀態五:控制三色燈
紅外線按鍵
三色燈
亮度增加
亮度減少



版本二(只有一種狀態--等待紅外線的指令):
控制車子行走
紅外線按鍵
車子行進方向
前進
後退
左轉
右轉

控制紅色燈
紅外線按鍵
1
4
紅色燈
亮度增加
亮度減少

控制綠色燈
紅外線按鍵
2
5
綠色燈
亮度增加
亮度減少

控制藍色燈
紅外線按鍵
3
6
藍色燈
亮度增加
亮度減少

控制三色燈
紅外線按鍵
A
D
三色燈
亮度增加
亮度減少


給小朋友試了之後,他們都說第二個版本比較好用,那麼我們幹嘛用有限狀態機呢?!