探奇教室利用大型數字顯示替代了NXT的小字型,解決一些看不清楚的情形。
(請參考NXT螢幕大型數字顯示(Big Digits for NXT LCD Display))
在投籃機,吃角子老虎以及SIMON GAME都充分利用。
以下是顯示大型數字的原理及使用方法:
大型數字的圖形編輯
使用nxtRICedit,很容易就可以進行RIC圖檔的編輯,還可以輸入中文字。
我們利用這個圖形編輯程式,製造NUM0.ric~NUM9.ric
共十個圖形(數字0~9),所佔的記憶體大約為0.1Kx10=1K
下圖:nxtRICedit很貼心地自動將圖片存到NXT-G軟體的目錄下。
下載大型數字圖片至NXT
我已經編輯好大型數字的圖片,你也可以編輯更大的數字。
跟我索取程式的使用者必須將NUM0.ric~NUM9.ric等十個圖檔複製到你的NXT-G軟體目錄,
大部分是C:\Program Files\LEGO Software\LEGO MINDSTORMS Edu NXT\engine\Pictures
(也可以直接利用NXT-G的NXT Window下載到NXT主機)
如果你是放在Pictures子目錄,可以在你的NXT程式前面加上這個MY BLOCK,
Input Big Num,這個MY BLOCK很單純地顯示0到9的圖片,NXT-G就會自動將圖片下載到NXT。
下圖:MY BLOCK--Input Big Num
下圖:我們可以看到Display Block的設定就是顯示數字圖片。
顯示大型數字
我們做了兩個MY BLOCK,方便直接顯示大型數字。
第一個是Print_BF,我們直接利用資料線,配合文字的接合,直接讓NXT顯示相對應數字的圖片,當然也保留XY座標的輸入控制。所以可以隨意地在LCD螢幕的任何位置顯示單一數字。
第二個是print_xy_num
利用MathScript Block,將三位數的數字分解為百位數、十位數及個位數,連續分別顯示。
顯示位置直接利用X座標累加方式,就能一次顯示三位數字。
(關於MathScript Block,大家可以參考舊文章:超級好用的MathScript Block)
另一個大型數字使用的範例
下圖是一個簡單的範例,可以取代NXT主目錄的View--Reflected light的功能,將接在輸入埠3的光源感應器數值,直接使用大數字顯示,小朋友可以方便觀測光源感應器的讀值,不用盯著小小的數字觀看。
你可以試試看,將光源感應器改為超音波感應器,也就是模擬View--Ultrasonic cm的功能。
你也可以改進這個程式,讓它可以自由選擇哪一個輸入埠,哪一種感應器(這需要能監測NXT按鍵輸入,下一堂課再做介紹)
下課了!
歡迎討論,謝謝!
老師
回覆刪除請問一下 關於你print_xy_num的圖前面一開始的"小#"是怎麼叫出來的?
它有什麼功能呢?
[版主回覆03/26/2009 22:40:49]你好:
製作MY BLOCK時可以包含輸入及輸出的資料線,自動就會產生這個"#"符號。
這樣你就可以連結輸出入的資料線(Data wire)。
當你雙點擊MY BLOCK時,程式會另開分頁,顯示MY BLOCK的程式,就會有這些『#』。
所以如果你看到別人的程式有這種符號,表示他是一個MY BLOCK(自訂命令方塊)。
了解!謝謝老師的指導
回覆刪除[版主回覆03/30/2009 19:19:19]不客氣!歡迎討論,也祝你玩得高興!