2008年5月23日 星期五

第一屆 研發養成所 線上機器人比賽結果公告

http://4rdp.blogspot.com/2008/05/blog-post_23.html

不好意思,讓我囊括各項冠亞季三軍名銜!不知道是不是題目出的太難,大家都不會,沒人貢獻作品。

這裡附上我的 NXC 程式供大家參考。

Port 1 Touch Senser, Port 3 Light Senser
無論是按橘色鍵或是觸控感測器,都可以聽到響聲或是看到亮光。


#include "NXCDefs.h"
 
#define PRESSED 1
#define FREQUENCY 880
#define DURATION 100
 
task main(){
 
SetSensorTouch(S1); // SENSOR_TYPE_TOUCH + SENSOR_MODE_BOOL
SetSensorLight(S3); // SENSOR_TYPE_LIGHT_ACTIVE + SENSOR_MODE_PERCENT
 
while (1) {
if (SENSOR_1 == PRESSED || ButtonPressed(BTN4, true)) {
SetSensorType(S3,SENSOR_TYPE_LIGHT_ACTIVE);
PlayTone(FREQUENCY, DURATION);
} else {
SetSensorType(S3,SENSOR_TYPE_LIGHT_INACTIVE);
 
}
}
}


這個程式當然可以改成 LEGO MINDSTORMS NXT 軟體設計,不過需要技巧,寫不好的話,程式是無法順暢執行的,留給聰明的玩家試看看。

2008.06.03 邱老師的探奇自然科學教室有補充討論 NXT-G 程式設計
2008.06.05 邱老師補充NXT摩斯電碼電報機的挑戰一文

6 則留言:

  1. 請問這兩個條件間不用加or,可行嗎
    SENSOR_1 == PRESSED ButtonPressed(BTN4, true)

    回覆刪除
  2. 謝謝您的指正,這兩條件之間,必須加 || ,我的原始 NXC 程式檔上是有的,但不知為何在部落格文章不見了?現在已經加入了。

    回覆刪除
  3. Bridan,請問您「第一屆 研發養成所 線上機器人比賽」的題目是什麼?我想練習一下?thanks.

    回覆刪除
  4. 薛老師您好,

    第一屆線上比賽的題目是,製作一個摩斯電碼發報機,http://4rdp.blogspot.com/2008/05/apply-lego-mindstorms-nxt-to-simulate.html。

    我是以碰觸開關以及橘色按鈕來控制燈光與響聲,歡迎您試看看。

    回覆刪除
  5. Hi,Bridan:
    這幾天我試著用Labview 8.5 for nxt toolkit去製作摩斯電報機,請撥冗參閱與指教!
    網址:http://cmackimo.blogspot.com/2010/02/nxt-morse.html

    回覆刪除
  6. 薛老師您好,

    透過您的網頁,很清楚看到作品,另外透過聯結,發現這個專題被 nxtprograms 改編收錄,無論如何 NXT 的玩家們有福氣。

    回覆刪除