2023年3月14日 星期二

Arduino 簡介

 Arduino 簡介

什麼是 Arduino?Arduino 就像一台沒接滑鼠、沒接螢幕跟喇叭的小型電腦主機板!

這一台小型的電腦主機,我們稱它做「控制板」(或稱開發板),

它還需要搭配專用的「輸入」與「輸出」裝置,

也就是所謂的擴充模組」。



Arduino控制板


我們課程要介紹的,是最常見的 Arduino Uno 這塊控制板



Sensor Board V2 擴充板


輸入輸出的模組,

我們選用搭配S4A Sensor Board V2「擴充板」,來做練習。





OSEP開發環境

準備好控制板及擴充模組,並安裝好相關的驅動程式後,

 還需要選擇一個的Arduino開發環境

我們選擇進入

以後我們的 Arduino 練習,都會透過它來完成。


下載Arduino擴充板檢測程式(下載後開啟檔案)

下載檢測角色(下載後要匯入角色)

以測試Arduino連線是否正常?




練習一:類比感測值轉換


利用擴充板上的滑桿(A0類比腳位)操控Scratch畫面中的角色。

轉換原理如下:


參考檔案



作業:調皮貓咪丟水果

1.調皮貓在空中飛,可利用滑桿操控

2.感應到投擲命令(聲音感測),就丟下水果。

3.丟下的水果若打到猴子,可得100分。

4.猴子在地上左右移動,移動速度隨機,碰到邊緣就反彈。
5.
資優挑戰設計猴子定時自動向上投擲棒球,攻擊調皮貓


基本範例


進階範例



參考程式






2023年2月14日 星期二

PoseNet人體姿態感測

 PoseNet人體姿態感測

~使用Scratch辨識人體姿態~


許多體感類型的遊戲,必須辨識出人體的姿勢。

你知道電腦如何判讀人體的姿勢呢?


電腦辨識人體姿態,

這樣的技術就稱為「人體骨骼關鍵點辨識( Pose Estimation )」,

透過機器學習將大量地人體姿勢資料進行分類,

製作出可以辨識人體關鍵點的效果!

包含肩膀、手肘、手腕、臀部、膝蓋、腳踝…等,

同時也可以辨識人臉器官的位置。


現在,我們就使用Scratch的擴充積木PoseNet,

來做辨識姿態的作品!

Scratch的PoseNet擴充功能,

包含辨識人體各個關鍵點的X與Y座標的積木,

利用這項辨識的功能結合WebCam就可以定位人體的各個關鍵的辨識點。

小朋友們發揮一下你的創意,來設計人體姿態的作品吧!


參考示例(一)


參考示例(二)




2022年11月21日 星期一

捕魚-模組化程式設計

 捕魚
~模組化程式設計~


模組化概念

模組就將全體分解成的某幾個功能完整的小部分,
就程式設計而言,
如果一個專案可以分為幾個完整的角色或程序
這個專案就可稱為模組化的設計。

1. 每個角色視為一個大模組

2. 角色內相關程序再區分成小模組.

以上述範例漁夫捕魚為例

1. 我們將整個程式分為以下幾個角色
並將重要角色再細分為若干函式

背景


模組一:遊戲時間設定

漁船


釣鈎


模組一:方向控制   
模組二:擊發與碰觸判斷
模組三:收回     

魚群


模組一:數量與定位(設定分身)
模組二:游動及速度      
模組三:釣中處理       

岩石


遊戲訊息







2022年9月20日 星期二

Scratch 程式與邏輯(二):事件與訊息、條件與偵測

 事件與訊息、條件與偵測運算

在Scratch 中提供了一些事件(啟動一系列程式動作)類型,如下:


另外,也提供廣播訊息的功能,來啟動事件


在Scratch中也提供條件控制的篩選判斷偵測運算


條件的判斷類型如下:


作業

完成幸運轉輪盤程式,累積幸運能量。



參考素材














2022年9月6日 星期二

Scratch 程式與邏輯(一)認識座標、方向與角度

 Scratch 程式與邏輯(一)

*認識座標、方向與角度


一.認識數線






二.Scratch 座標(X,Y)


Scratch座標操作示例





三.Scratch 角度表示



Scratch方向積木圖例



四.移動方向與旋轉角度程式示例




五.角度旋轉示例




隨堂作業

(一)請使用下列素材
利用移動積木
設計一個瑪莉歐走迷宮程式






角色模版下載


基本範例


程式參考





(二)請利用下列素材
設計一個幸運轉輪盤程式


基本範例-1


基本範例-2



2022年6月10日 星期五

2022年5月27日 星期五

2022年5月23日 星期一

二進位計數系統

 二進位計數系統

我們現在平常所用的數字系統,是十進位數字。

也就是從0,1,2、、、8到9,逢10就要進位,用十位數1來表示。



除了十進位數字系統外,生活中也還有其他的數字進位系統。

例如:時間(秒,分)的進位,是屬於六十進位

它是從0,1,2、、、58到59,逢60就要進位,用六十位數1來表示。



小朋友,那你知道電腦的運算,是用哪一種進位系統嗎?

猜猜看?

你猜對了嗎?


電腦運作時,只能利用電子物件的:

有電沒電

聲音高頻低頻

光線反射不反射、、、等,

來表示不同的兩個數值,我們可視為

在電腦的CPU中,最基本的訊號運作只有0和1,兩種狀態。

所以,電腦的運算,是二進位系統。


電腦裡的每一個運算單元,稱為位元(bit),

也就是二進位數字(binary digit)的簡稱。

大家可以想像一下,在電腦裡頭,資料的儲存運算,

就像下圖這樣,都只是0和1的存在。



接下來,我們就利用樸克牌(十進位)

二進位的數字卡,

來體驗一下,二進位的數字表示法吧!



請小朋友們把圖卡準備好,

我們一起來練習看看。


二進位數字

二進位數字,顧名思義,數到2就要進位,

因此只會用到兩個數字。


我們來看看十進位二進位有什麼差別?



若用4張二進位圖卡(二進位裡的4位數)來表示,

它最小和最大,各可以表達哪些數字呢?

若轉換成十進位,數字又是多少呢?

大家來試試看吧!




隨堂測驗

請利用下列這張密碼表,用二進位數字(4個數為一組)作為密碼,

發送一個HELLO(不分大小寫)的訊息。


請到下列網址作答