顯示包含「MINDSTORMS」標籤的文章。顯示所有文章
顯示包含「MINDSTORMS」標籤的文章。顯示所有文章

2021年6月18日星期五

喔咿喔咿喔一書的部分程式圖片

本頁是給喔咿喔咿喔一書的讀者,如果您看不清楚書中的程式,本頁有清楚的原圖可供參考,但沒有列出全部的圖式。



第一篇 基礎知識篇

017 圖15 此為歡迎機器人發明家專案的程式碼

020 圖20 SPIKE系統架構圖

024 圖24 寫程式的畫面

033 圖32右 頭磚方向與六面示意圖

033 圖33右 頭磚的三軸加速方向

033 圖34右 頭磚的三軸轉彎方向

034 圖35右 頭磚的陀螺儀速率

035 圖36左 變數與變數清單的指令顯示區

035 圖36右 變數與變數清單的內容視窗


第二篇 頭磚輸出篇

045 圖51 燈光區的圖形編輯視窗

047 圖57 動畫編輯器視窗解說

050 圖62左 控制單一像素亮起

052 圖64 利用兩個迴圈輪流點亮燈光區每一個像素的程式

052 圖65左 燈光區的25個像素燈亮起的順序

053 圖67 利用燈色變數來控制中央鈕的燈光顏色

054 圖70 鍵盤與蜂鳴聲區塊參數的對應視窗

055 圖72 小蜜蜂的頭一段音樂程式

057 圖74 播放清單Keys與Lengths內容所記載音樂的程式

061 圖83 聲音編輯器

062 圖84 聲音編輯畫面

063 圖88 越來越小聲的程式

064 圖89 越來越高調的程式

064 圖90 設定左右聲道的程式


第三篇 感應器篇

069 圖94 向左走的程式

069 圖96 向左走或向右走的程式

070 圖97 採取輪詢典範的向左走或向右走的程式

071 圖98 採取輪詢典範的向左走或向右走的簡化版程式

072 圖99 移動燈光區單一燈光的程式

075 圖103 使用輪詢典範撰寫的敲擊樂器程式

076 圖104 測試方向變數

076 圖105 讓文字永遠向上的程式

077 圖107 圖形永遠向上的程式

079 圖110 依據輪詢典範所寫的指針程式

080 圖112 條件式是如何練成的?

080 圖113 依據事件驅動與處理典範所寫的指針程式

081 圖114 決定誰是東家的程式

081 圖115 利用冠名計時器的簡單鬧鐘程式

082 圖116 使用無名的計時器一樣能當鬧鐘

083 圖117 冠名計時器與多個無名計時器同時運作的程式

083 圖118 顯示冠名計時器內容秒數的程式

085 圖120 利用顏色感應器來設定中央鈕顏色

086 圖122 在反射率適當的情況下才判斷顏色

088 圖123 輪詢典範的倒車雷達音響程式

089 圖125 按鈕眨眼以及太近閉眼的程式

092 圖130 利用觸控螢幕上的遙控器視窗控制中央鈕燈光的開關與顏色


第四篇 馬達制動篇

097 圖139 讓指針永遠朝前的程式

099 圖143 取得十次的轉動總時間

101 圖147 馬達失速偵側程式

103 圖153 四輪車的大部分解

104 圖154 將大黑輪裝上馬達並且把馬達裝上頭磚的模樣

104 圖155 四輪車的側面照

105 圖156 四輪車照

105 圖158 初始化四輪車並且讓大黑輪滾動一圈

107 圖160 遙控四輪車的前進與後退

108 圖161 加上向左轉或向右轉功能的遙控車程式

110 圖163 後退十公分與接近物體時顯示動畫

111 圖165 原地旋轉的事件處理程式

112 圖167 原地旋轉的另一種事件處理程式

2021年1月22日星期五

【操作說明】連上電腦;手機

需要與電腦建立連接,才能讓51515的頭磚獲取電腦或是手機上的程式,可通過兩種方式建立連接:
1. 藍芽
2. USB傳輸線

使用藍牙連線,三個步驟:
1. 開啟主機
2. 按主機上的藍牙鈕
3. 等待搜尋主機

使用USB傳輸線連線,兩個步驟:
1. 將纜線插入主機
2. 將纜線插入裝置

當成功連線後,右上角的主機圖示會由,轉為

注意事項

每次要將頭磚連接轉移到其他裝置前,請將前一個裝置的連線做完全的退出、或中斷。避免頭磚被咬住,無法和下一個裝製作連線。
有時,可能需要將頭磚和欲連接的裝置先完成藍牙中斷,再重新連線。





【控制】[重複直到"條件"]

該區塊用來改變原本是線性執行的程式指令區塊堆疊。該指令區塊內的所有指令區塊都會重複直到指定的菱形積木語句為真為止,在這種情況下,將執行該塊下面的代碼(如果有)。此循環的性質類似於某些其他編程語言中的while循環。

圖示




參數說明

該菱形空格:填入判斷式。
當直到指定的菱形積木語句為真時,才讓程式碼堆叠繼續運作。

實作應用

該實作目的在計時600秒成立後,跳出該迴圈,給出damage聲響;600秒前,則執行迴圈內的螢幕顯示區塊。

影片

以製作頭磚定時器為例,比較幾種重複控制區塊的差異。


回【區塊類型
回【區塊清單

2021年1月7日星期四

【控制】[如果 "條件" ,則]

控制區塊

用來改變原本是線性執行的程式指令區塊堆疊。
例如增加判斷式指令區塊,當設定的條件符合時,才可以進入內部的程式指令堆疊區塊;如果設定的條件不符合時,就跳過內部的程式指令堆疊區塊。

【控制】[如果 "條件",則] 


  • 為控制區塊。
  • 當發生設定的條件為ture時,進入內部的程式指令堆疊區塊。

時作影片區:

【控制】[重複無限次]

該區塊用來改變原本是線性執行的程式指令區塊堆疊。由於存在無限循環,因此該塊的底部沒有凸起;具有凹凸將是毫無意義的,因為它下面的塊永遠不會被激活。
保留在該塊中的塊將處於循環狀態,就像[重複N次]和[等待直到"條件"]一樣,不同之處在於該循環永不結束,直到按下停止按鈕,或使用「停止全部」區塊中斷程式,才能停止迴圈。

圖示



實作應用

需要重複無限次數的指令,可以透過本指令區塊執行。但是本程式沒有堆疊的功能,所以必須透過外部的停止指令,或式內部增加控制區塊來執行[停止全部]。




影片

以製作頭磚定時器為例,比較幾種重複控制區塊的差異。

回【區塊類型
回【區塊清單

【控制】[重複N次]

該區塊用來改變原本是線性執行的程式指令區塊堆疊。該指令區塊內的所有指令區塊都會重複給定的次數,才可以進入下一個程式指令堆疊區塊。

圖示


該圖示:將控制區塊內的指令區塊,重複執行10次。

參數說明


第1個空格:
只可以填入整數。
當這個區塊中的所有區塊將在迴圈N次後,才讓程式碼堆叠繼續運作。

實作應用

凡是需要重複有限次數的指令,都可以透過本指令區塊執行。
例如提示音太短,不明顯的時後,可以利用重複N次和等待N秒,來加強提示音的效果。

影片

以製作頭磚定時器為例,比較幾種重複控制區塊的差異。


回【區塊類型
回【區塊清單








【控制】[等待N秒]

用來改變原本是線性執行的程式指令區塊,最簡單的一個做法就是等待,可以等待一個輸入的時間,或是等待一個條件的發生。

圖示


該圖示:停止1秒鐘。

參數說明

 
該參數:可以為小數點後一位。
小數點後兩位,已經看不出來有沒有執行。
可以為整數,到三位數字都可以,更多沒有時間測試。

實作應用

可以來做倒數計時器,參數設定的時間到,可以利用【燈光】或者【聲音】來完成提醒。

影片

以製作頭磚定時器為例,比較幾種重複控制區塊的差異。

回【區塊類型
回【區塊清單

2021年1月6日星期三

ROBOT INVENTOR-指令區塊清單

指令區塊清單

Scratch程式語言由不同類型的區塊組成,每個類型都以不同形狀或顏色表示。

 【馬達】區塊:可以讓馬達運轉,或從馬達取得資訊
向"左/右"轉"圈/秒"
【最短路徑】前往位置【0】
啟動馬達【右轉】
停止馬達
馬達轉速設為【%】
馬達【位置】
馬達【速度】

 【動作】區塊讓你能同步運轉兩個馬達。它們主要用來Driving Base 到處移動。只有同型的馬達可以同步(如:而個中型馬達)
向【前】移動【】
向【角度】移動【】
開始向【前】移動
停止動作
將速度設為【%】
動作馬達設為【PORTS】
將馬達旋轉一次距離設為【公分】

 【燈光】區塊:讓你能開啟與關閉不同元件的燈光 (如:主機上的5x5 Light Matrix 、距離感應器的燈光)
開始"動畫"
播放"動畫"直到結束
開啟編輯畫面,顯示N秒
開啟"畫面"
寫出"字串"
關閉像素
將像素亮度設為"%"
將位於"X,y"的像素設定"亮度"
旋轉方向
設定方向為"$"
距離感應器燈光設定

 【聲音】區塊:讓你能播放來自裝置或主機的聲音。
開始XX到結束
開始XX聲音
播放蜂鳴聲,秒
播放蜂鳴聲
停止所有聲音
聲音效果改變
聲音效果設定
聲音效果清除
音量改變
音量設定為
音量

 【事件】區塊由帽形區塊組成,也就是它們永遠都是程式碼堆叠的第一個區塊,其他區塊只能接在它們下面。
帽形區塊是開始程式碼堆疊的必要區塊,它們會在指定事件發生時觸發。
當程式開始
燈光感應器顏色為
距離感應器距離為
當主機方向"$"往上
控制器被搖晃
控制器的按鈕被按下
當運算子成立
當收到訊息
廣播訊息
廣播訊息並等待

 【控制】區塊:包含可以修改區塊執行線性流程的所有區塊,如:「等待」結構、迴圈,以及條件。
等待N秒
等待直到"條件"
重複無限次
重複直到"條件"
如果"條件",則
如果<條件>那麼,否則
停止其他堆疊
停止【全部】

 【感應器】:從感應器接收資料(如:顏色感應器、距離威應器、カ量感應器、陀螺儀)
顏色是【】嗎?(條件判斷)
顏色是甚麼(取得顏色度參數)
反射光小於【%】嗎?(條件判斷)
反射光是甚麼(取得反射光參數)
距離小於【】嗎?(條件判斷)
距離為多少(取得距離參數)
手勢(取得手勢參數)
控制器【動作】嗎?(條件判斷)
控制器【方向】嗎?(條件判斷)
控制器方向(取得方向參數)
控制器偏航角度設定為0
控制器按鈕被操作嗎?(條件判斷)
角度(取得角度參數)
計時器(取得時間參數)
控制器重置計時器
鍵盤】被按下?(條件判斷)

 【運算子】:負責處理由常數或是變數,以各種運算符號組合而成的運算式之運算結果。
算術運算-常見的指令區塊包括:
加、減、乘、除、餘數、四捨五入、絕對值、平方根
三角函數運算-該運算子和四捨五入、絕對值、平方根的指令區塊共用,可用下拉選單選擇。
對數與指數運算-該運算子和四捨五入、絕對值、平方根的指令區塊共用,可用下拉選單選擇。
關係運算-用來比較兩個運算元之間的大小關係,運算的結果用真【TURE】和賈【FALSE】表示。
邏輯運算-用來運算執行兩條件之間的邏輯運關係,運算的結果用真【TURE】和賈【FALSE】表示。
字串運算-該指令區塊,用來處理字串的組合或計算長度及提取的功能。
亂數-隨機取數
 【遙控器】

 【變數】:類別包含連結到變數、清單(陣列)與【我的區塊】的所有區塊。

【我的區塊】:這是你的區塊!它會執行你連接到「定義區塊」的任何東西。

【模型區塊】:


2020年12月31日星期四

【運算子】

運算子

負責處理由常數或是變數以各種運算符號組合而成的運算式的結果,包含算術運算、三角函數、指數與對數、關係運算是、邏輯運算、與字串運算等。

【運算子】算術運算 

  • 這個區塊會將兩個值相加並回報結果。

  • 這個區塊會從第一個值減去第二個值並回報结果。

  • 這個區塊會將兩個值相乘並回報結果。

  • 這個區塊會將第一個值除以第二個值並回報結果。

  • 這個區塊會該帶入的數值四捨五入後並回報結果。

  • 這個區塊會將第一個值除去第二個值並回報餘數结果。

【運算子】三角函數 





  • 這個區塊有一個參數可以設定為三角函數運算:
    • 正弦函數 sin(輸入值)、
    • 餘弦函數 cos(輸入值)、
    • 正切函數 tan(輸入值)、
    • 反正切函數 asin(輸入值)、
    • 反餘弦函數 acos(輸入值)、
    • 反正切函數 atan(輸入值)等。
  • 本範例:將帶入的值經過三角運算後並回報結果。

【運算子】指數與對數

  • 本範例:將帶入的值取其自然對數後並回報結果。



  • 本範例:將帶入的值取其10為底的對數後並回報結果。


  • 本範例:將帶入的值取自然指數後並回報結果。



  • 本範例:將帶入的值取其以10為底的指數後並回報結果。

【運算子】關係運算

  • 當第一個數小於第二個數時,則回報結果為【真】。
  • 若不是,則回報【假】。

  • 當第一個數等於第二個數時,則回報結果為【真】。
  • 若不是,則回報【假】。

  • 當第一個數大於第二個數時,則回報結果為【真】。
  • 若不是,則回報【假】。

【運算子】邏輯運算

  • 當第一個條件和第二個條件都成立時,則回報結果為【真】。
  • 任一不成立,則回報【假】。
  • 該邏輯運算稱為且(AND)。

  • 當第一個條件或第二個條件任一成立時,則回報結果為【真】。
  • 都不成立時,則回報【假】。
  • 該邏輯運算稱為或(OR)


  • 當該條件不成立時,則回報結果為【真】。
  • 當該條件成立時,則回報【假】。
  • 該邏輯運算稱為反(NOT)

  • 當條件成立時,則回報結果為【真】。
  • 反之,則回報結果為【假】。  
  • 參數:
    • 1st 參數:必須為數字。
    • 2nd 參數:必須為數字。
    • 3rd 參數:必須為數字。

  • 當條件成立時,則回報結果為【真】。
  • 反之,則回報結果為【假】。 
  • 參數:
    • 1st 參數:可以為英數字特殊符號或中文。
    • 2nd 參數:可以為英數字特殊符號或中文。 

【運算子】字串運算

  • 合併第一個值和第二個值後,並回報結果。


  • 根據第二個值,擷取第一個字串的該字母後,並回報結果。





  • 算該字串的長度,並回報結果。

【運算子】隨機亂數



  • 在輸入的兩個數字中間隨機取數,並回報結果。
  • 參數:
    • 1st 參數:必須為數字。
    • 2nd 參數:必須為數字。

說明:

運算子類的區塊,有兩大類:
一類為邏輯運算,可以回傳真假。
一類為算術運算,可以回傳運算的數字或字串運算的結果。


2020年12月29日星期二

【聲音】[停止所有聲音]

頭磚的聲音

播放的聲音,可以讓他立刻停止嗎?有沒有甚麼條件呢?

【聲音】[停止所有聲音] 

  • 為堆疊區塊。
  • 這個區塊會停止目前播放的所有聲音(即蜂鳴聲與聲音 檔)。
  • 該圖示:停止目前播放的所有聲音。

說明:

因為該區塊是堆疊區塊,所以上方的區塊若為播放聲音,那就需要注意:
1. 如果上方區塊已經設定播放時間(例如[播放XX到結束]、[播放蜂鳴聲,秒],則需要等待上方區塊執行完畢,此時該[停止所有聲音]可以說是沒有任何執行上的意義。
2. 如果上方區塊是沒有設定播放時間(例如[播放XX聲音]、[播放蜂鳴聲]),則幾乎會是立刻讓聲音播放停止,像是[播放蜂鳴聲]會完全聽不到。


影片實作區:




回【區塊類型
回【區塊清單





【事件】[當程式開始]

頭磚介紹

頭磚是51515中的靈魂磚塊(控制中心),如何指揮他動作呢?事件系列是用來標記程式方塊序列的開頭,可以透過事件的觸法去啟動,每個帽型區塊的觸發事件都不太一樣。 程式可以具有多個序列具有開始區塊,這些有開始區塊的所有序列都會在事件觸發後自動開始,這些序列可以同時運行。(如果程式彼此沒有衝突)

【事件】[當程式開始] 




  • 所謂帽型區塊是用於事件驅動的開始程式,他們的頂部是弧形,上方不能再堆疊其他區塊,因此其他區塊只能接在他們底下
  • 該帽型區塊被驅動後,會從頭到尾連續執行它連接的所有區塊。
  • 如果再串流模式中,按下應用程式的「執行」鈕即可開始程式;
  • 如果不在串流模式中,按下主機上的中央鍵。
  • 該圖示:當使用者按下「執行」,執行下方每一行的指令區塊。

說明:

同時可以有多個[當程式開始],頭磚會同步執行多個序列程序。
頭磚中央的按鈕,是該頭磚的電源開關器,也是執行的按鈕。



影片實作區:

測試多重開始。




影片製作中

回【區塊類型
回【區塊清單






【聲音】[播放蜂鳴聲]

頭磚的聲音

頭磚除了有燈光還有聲音,除了預設的聲音,錄製的聲音,還有沒有其他聲音??

【聲音】[播放蜂鳴聲] 



  • 為堆疊區塊。
  • 這個區塊會在你的主機(控制器)播放蜂鳴聲。
  • 它會持續播放, 直到程式中有指令讓它停止。
  • 該圖示:持續播放中央do的音。

參數說明:









  • 蜂鳴聲音涵蓋5個八度音階。
  • 提供視覺化的音階選擇,包含白鍵和黑鍵。

需要注意:

  1. 蜂鳴的聲音太小,可以考慮用[播放XX聲音]中的錄製聲音,自行錄製Do Ra Mi。
  2. 因為執行完本區塊會立刻執行下一個區塊,所以如果你要演奏和弦音,可以利用本區塊,同時播放多個單音。

影片製作中

回【區塊類型
回【區塊清單

【聲音】[播放蜂鳴聲,秒]

頭磚的聲音

頭磚除了有燈光還有聲音,除了預設的聲音,錄製的聲音,還有沒有其他聲音??

【聲音】[播放蜂鳴聲,秒] 


  • 為堆疊區塊。
  • 該區塊會在你的主機播放持續指定秒數的蜂鳴聲。
  • 該圖示:播放中央do的音,0.2秒。

參數1 說明:







  • 蜂鳴聲音涵蓋5個八度音階。
  • 提供視覺化的音階選擇,包含白鍵和黑鍵。

參數2 說明:

  • 可以支持小數點一位,0.1 秒,再少有點聽不出來。
  • 可以支持整數為三位,再多沒有時間做測試了。

需要注意:

蜂鳴的聲音太小,可以考慮用[播放XX聲音]中的錄製聲音,自行錄製Do Ra Mi。
影片製作中

回【區塊類型
回【區塊清單

偶裝風(TM)

在幸福快樂的日子裡,凍結住可愛的樂高積木人偶,用魔法將甜蜜的時光風裝在透明的水晶當中,小道具凝結住那一刻的迷戀。如果願意讓腳下的刻章代替話語,每一次的蓋印都述說著人偶的故事,一遍又一遍地圓滿了每一天的小確幸。      如何訂作您的轉角心情故事? 訂做偶裝風(TM)的變身辦法(2...