SPIKE 樂高機器人

我的網頁

2009-02-15

Loop迴圈控制範例-- 等待兩顆觸碰感應器

大家是否已經熟悉上次所說明的Loop迴圈控制

這次探奇教室將針對兩顆觸碰感應器的反應做一說明。

還記得Wait for Touch指令?!這是很直覺的命令方塊。



我們也說明這就是迴圈的條件控制,這裡的條件就是『壓下一號觸碰感應器』(如下圖)



其實應該有比較簡潔的寫法,我們可以學習使用Sensor--Touch 指令,這種Sensor相關的指令專門用來處理感應器的狀態。感應器狀態的值可以藉由資料線傳達,這些值可以拿來作為控制程式的條件。



兩個感應器的值就需要經過處理才能使用,我們可以利用邏輯運算,將感應器的邏輯值合併處理。

下圖使用『AND』邏輯運算。A,B兩方都必須為真值,運算之後才會出現真值。

只要AB感應器有一方條件不是真值,那麼就無法跳出迴圈。



最後是一個應用範例,一開始執行程式後,NXT LCD先顯示一個笑臉,接著不斷地叫著GOOD,
程式進入迴圈中不斷循環,同時壓下兩個觸碰感,
邏輯運算後的結果是真值,程式必須跳出迴圈,繼續執行後面的步驟,說Good Bye!



這樣是不是就能等待兩個觸碰感應器同時壓下的狀況。

上一篇Loop迴圈控制利用直覺的方法完成程式,

當理念清楚之後,就可以使用抽象的概念撰寫簡潔快速的程式。

希望大家玩得愉快!


沒有留言:

張貼留言

探奇歡迎大家留言討論!謝謝分享你的意見。