若您覺得文章寫得不錯,請點選文章上的廣告,來支持小編,謝謝。
用了四個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的韌體才有可能做到吧。
程式設計可以改變您的未來(Programming can change your future)。 雲林SONG 全名為雲林軟體工程(SOftware eNGineering),目標致力於軟體人才的培養並推廣開源軟體落實於資訊教育。程式設計的觀念是軟體產品的基礎,程式碼就像沙子一樣,要紮實,所建立出來的高塔才會穩固。本站也提供資訊教育相關的教學資源。 YunlinSONG stands for Yunlin SOftware eNGineering, offering tutorial for computer programming and promoting open-source software. Teaching resources in information technology education are provided here.
Scratch 3 遊戲:選出文字顏色
若您覺得文章寫得不錯,請點選文章上的廣告,來支持小編,謝謝。
首先請讀者念出下圖中文字上的顏色。
例如:
「紅」要念藍,因為紅字是用藍色來顯示。
「綠」要念藍,因為綠字是用藍色來顯示。
「綠」要念綠,因為綠字是用綠色來顯示。
「紅」要念綠,因為紅字是用綠色來顯示。
此遊戲加上計分與計時的功能後,就可以電腦來設計遊戲了。
遊戲玩法:
1. 按下綠旗開始遊戲。
2. 使用滑鼠點選文字上的顏色。
3. 答對繼續玩。
4. 答錯就結束。
身為高手的您能得幾分呢?
所需要的觀念:
1. 迴圈
2. 全域變數
3. 角色的造型編號
4. 廣播訊息
做法:
1. 設計名稱為文字的角色,文字角色包含空白、紅、藍、綠、紅、藍、綠、紅、藍、綠,十種造型,在程式積木中會用到造型編號來當答案用。
2. 設計三個長方形按鈕角色,顏色分別為紅色、藍色、綠色。
3. 使用全域變數來記錄分數、時間等資訊。
程式積木部分請讀者參考:https://scratch.mit.edu/projects/152316109/
延伸練習:
1. 將三個按鈕角色合併成一個角色,並使用角色分身的功能來做程式積木的設計。
2. 增加文字顏色。
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 猜單字遊戲,此次用分身的方式來設計程式積木。
2. 區域變數
3. 全域變數
4. 清單
5. 角色的造型名稱
2. 有時候會同時移動兩個字母,如何改進此問題呢?
3. 想一個不一樣的操作方式,並實現它,可參考此影片:Dabble - the Fast Thinking Word Game Gameplay。
接續之前的 Scratch 遊戲:Dabble 猜單字遊戲,此次用分身的方式來設計程式積木。
所需要的觀念:
1. 迴圈2. 區域變數
3. 全域變數
4. 清單
5. 角色的造型名稱
6. 分身與分身編號
找單字的網站:http://wordfinder.yourdictionary.com/index/,筆者是使用這個網站找出字母長度為4的單字,只使用415個單字,沒有將該網站長度為4的單字全部納進來。
遊戲玩法:
按下綠旗開始玩。
以滑鼠拖曳字母到按鈕上。
若按鈕上有字母時,無法放入新字母,須將按鈕內的字母移出。
按下空白鍵檢查單字是否在字庫清單裡。
遊戲可以改進的幾個方向:
1. 目前16個隨機字母有可能會組不出在字庫裡的任何一個單字,也就是根本組不出字庫裡的單字,要如何改進呢?2. 有時候會同時移動兩個字母,如何改進此問題呢?
3. 想一個不一樣的操作方式,並實現它,可參考此影片:Dabble - the Fast Thinking Word Game Gameplay。
Scratch 3 遊戲:Dabble 猜單字遊戲
若您覺得文章寫得不錯,請點選文章上的廣告,來支持小編,謝謝。
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 這篇文章,我們可以製作出英語單字的賓果遊戲卡,當然也可以製作出中文或其他語言用的賓果遊戲卡。不過,筆者想的是用賓果造句的玩法,首先從動詞 、形容詞、名詞、副詞、代名詞各選五個
然後從這25個單字任意填到賓果卡的25格子內,例如:
每位玩家填好後,輪流依序念出自己所選的單字,然後有五條連線的人獲勝,獲勝的人就請輸家來造句,例如有一條連線如下:
根據 Games for Education - Making BINGO cards using a spreadsheet 這篇文章,我們可以製作出英語單字的賓果遊戲卡,當然也可以製作出中文或其他語言用的賓果遊戲卡。不過,筆者想的是用賓果造句的玩法,首先從動詞 、形容詞、名詞、副詞、代名詞各選五個
例如:
動詞 | run | eat | jump | are | kick |
形容詞 | fat | white | beautiful | tall | lonely |
名詞 | time | money | car | August | |
副詞 | always | above | aloud | enough | finally |
代名詞 | anybody | everyone | they | that | who |
然後從這25個單字任意填到賓果卡的25格子內,例如:
eat | that | everyone | tall | finally |
white | jump | beautiful | who | are |
fat | run | enough | kick | August |
car | above | anybody | time | |
always | money | aloud | they | lonely |
每位玩家填好後,輪流依序念出自己所選的單字,然後有五條連線的人獲勝,獲勝的人就請輸家來造句,例如有一條連線如下:
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.球程式積木。
4. 磚塊程式積木(用分身的方式)
假設方塊編號一的座標為(-200, 200),
方塊編號一先產生自己的分身,
接著將方塊編號一往右移動(X座標 + 100)後,產生自己的分身得到方塊編號二,
接著將方塊編號一往下移動(Y座標 - 100)後,產生自己的分身得到方塊編號三,
依上述方式就可以產生多個的磚塊分身了。
方塊編號一先產生自己的分身,
接著將方塊編號一往右移動(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結果圖:
中文正常顯示了!
參考阿玉老師的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結果圖:
心得:中文會有亂碼的問題。
參考竹林資訊站【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
移動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
- 快樂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
- 連線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
狀態機的應用:紅外線遙控 mBot 的三色燈
若您覺得文章寫得不錯,請點選文章上的廣告,來支持小編,謝謝。
狀態機的全名是有限狀態機,在很多的應用場合會看到它的存在,例如紅綠燈、自動販賣機等。
上個月的元宵節讓筆者想到用紅外線遙控器來控制 mBot 上的三色 LED 燈,於是設計兩個版本的程式。
版本一(有限狀態機):
狀態機的全名是有限狀態機,在很多的應用場合會看到它的存在,例如紅綠燈、自動販賣機等。
上個月的元宵節讓筆者想到用紅外線遙控器來控制 mBot 上的三色 LED 燈,於是設計兩個版本的程式。
版本一(有限狀態機):
紅外線按鍵
|
D
|
A
|
B
|
C
|
E
|
狀態
|
控制車子行走
|
控制紅色燈
|
控制綠色燈
|
控制藍色燈
|
控制三色燈
|
狀態一:控制車子行走
紅外線按鍵
|
↑
|
↓
|
←
|
→
|
車子行進方向
|
前進
|
後退
|
左轉
|
右轉
|
狀態二:控制紅色燈
紅外線按鍵
|
↑
|
↓
|
紅色燈
|
亮度增加
|
亮度減少
|
狀態三:控制綠色燈
紅外線按鍵
|
↑
|
↓
|
綠色燈
|
亮度增加
|
亮度減少
|
狀態四:控制藍色燈
紅外線按鍵
|
↑
|
↓
|
藍色燈
|
亮度增加
|
亮度減少
|
狀態五:控制三色燈
紅外線按鍵
|
↑
|
↓
|
三色燈
|
亮度增加
|
亮度減少
|
版本二(只有一種狀態--等待紅外線的指令):
控制車子行走
紅外線按鍵
|
↑
|
↓
|
←
|
→
|
車子行進方向
|
前進
|
後退
|
左轉
|
右轉
|
控制紅色燈
紅外線按鍵
|
1
|
4
|
紅色燈
|
亮度增加
|
亮度減少
|
控制綠色燈
紅外線按鍵
|
2
|
5
|
綠色燈
|
亮度增加
|
亮度減少
|
控制藍色燈
紅外線按鍵
|
3
|
6
|
藍色燈
|
亮度增加
|
亮度減少
|
控制三色燈
紅外線按鍵
|
A
|
D
|
三色燈
|
亮度增加
|
亮度減少
|
給小朋友試了之後,他們都說第二個版本比較好用,那麼我們幹嘛用有限狀態機呢?!
訂閱:
文章 (Atom)