2017/04/13


NXT 電腦積木新課程. 這個階段會著重在初階的計概觀念, 邏輯與程式編寫.  

2017/2/18, 第七堂課. 


上一堂課做了一個體重計(羅貝瓦勒秤), 能偵測角度的變化, 並轉換角度變成數值. 


上一堂課做的羅貝瓦勒秤.
能偵測角度的變化並轉換成數值.

今回的課程要加碼, 除了能測重量(角度變化), 還要能輸入單價, 計算出 [重量x單價] 的乘積. 也就是一般水果行或菜攤在使用的電子磅秤的概念. 



該怎麼做這個電子磅秤呢? 
來考慮電子磅秤的功能要素: 量測重量, 選擇單價, 計算總價. 



(1) 量測重量

這部份就是上週做的體重計(羅貝瓦勒秤).  


這兩組是上週課程做的羅貝瓦勒秤.

(2) 選擇單價


概念上就是有多個按鈕, 各相對應一個單價. 按到哪個按鈕, 就用那個單價. 比較簡單的作法, 是用一個按鈕(觸踫感應器), 每按一下就將單價加一, 一直按到目標的單價為止.  

兩兄弟都採用後者的作法, 都在各自的作品增加了觸踫感應器. 




(3) 計算總價

程式演算法說明:
[i] 使用兩個公事包程式格, 一個記錄重量, 另一個記錄單價 (記得要將公事包歸零). 
[ii] 第一個迴圈, 偵測角度的變化, 轉換成對應的數值後, 記錄在 "重量"公事包程式格裡. 再按 NXT 程式盒上的特定按鈕跳出迴圈.
[iii] 第二個迴圈, 計算壓按觸踫感應器的次數, 轉換成對應的單價, 記錄在 "單價"公事包程式格裡. 並按 NXT 程式盒上的特定按鈕跳出迴圈.
[iv] 第三個迴圈, 偵測按了 NXT 程式盒上的特定按鈕後, 才計算 "重量" 與 "單價" 的乘積, 並顯示在螢幕上.


Willie 的程式碼


Kenny 的程式碼


這次課程算是歷來程式比重最高的一次. 

觀察 Willie 的狀況, 貌似能理解程式的邏輯, 清楚知道自己在寫什麼東西與遇到問題時該怎麼除錯.



弟弟 Kenny 這邊, 對程式邏輯的理解與編寫, 貌似有點應付不來.


兩兄弟的作品合照





[萊恩大兵的其它文章]

LEGO NXT 機器人 學習記錄

學習記錄, LEGO NXT 機器人, (20) 伸縮毛毛蟲 (LEGO, NXT)
學習記錄, LEGO NXT 機器人, (26) 母雞帶小雞之排隊機器人 (LEGO, NXT)
學習記錄, LEGO NXT 機器人, (27) 小雞找母雞之雷達機器人 (LEGO, NXT)
學習記錄, LEGO NXT 機器人, (28) 高爾夫球機器人 (LEGO, NXT)
學習記錄, LEGO NXT 機器人, (30) 會闖迷宮的機器人 (LEGO, NXT)
學習記錄, LEGO NXT 機器人, (31) 線控車 (LEGO, NXT)

或請參考



0 意見:

張貼留言