2010年1月30日 星期六

倒車雷達 with NXT

http://4rdp.blogspot.com/2010/01/with-nxt.html?m=0

應飛狼大大的需求,出一題給大家動動腦:

利用 NXT 超音波感應、顏色感應燈及喇叭,設計一倒車雷達,LED 燈當警示使用,五秒鐘一個週期閃滅顯示,當車子距離牆壁─
0~ 30 cm,燈光恆亮
30~ 60 cm,燈亮四秒
60~ 90 cm,燈亮三秒
90~120 cm,燈亮兩秒
120~150 cm,燈亮一秒
150 cm 以上,燈不亮

另外螢幕顯示距離,車子越接近牆壁,警示聲音的音頻越高。注意,只要距離 150 cm 以內,警示音必須一直發出聲響,超過 150 cm 以上燈光及聲音立即關閉,不限程式工具。

這回我可能沒時間參與設計,寫出程式的朋友,請上傳至研發養成所論壇,如果照片或影片分享更棒,大家加油。

已上傳程式範例
Jerry 的 leJOS Java,倒車雷達之解
雲林大大的 NXT-G,Back ultrasonic sensor.rar and Back Ultrasonic 2.rar

5 則留言:

  1. 已經解題,程式碼在研發養成所論壇中。

    回覆刪除
  2. 繼續當第二名,看到Jerry大大的Java果然比NXT-G簡潔多了,不過基於以後還要教小孩,所以還是勇於挑戰NXT-G來完成,至少在小孩國小6年級前還不趕著學C.

    花了一天的時間完成了這個程式
    用counter來完成時間的計算,但是NXT-G效率太差,燈亮的時間超過實際該亮的時間,主要再練習概念所以懶的調準了.
    撰寫過程中最大的問題是NXT-G在同一個畫面下用太多loop或switch會出現錯誤訊息,嚴重的還會當機,過程中重寫了好幾次.

    Back ultrasonic sensor.rar
    裡面包含
    back Ultrasonic.rbt 主要程式loop
    Ultrasonic Value.rbt 偵測距離並秀出
    Range_30.rbt ~ Range_120.rbt 各距離的判斷
    Flash_Light_pro2.rbt 響聲並按照時間閃燈
    大略測試過應該沒什麼大問題.

    接下來應該會挑戰計算機,輸入就用兩個Motor的角度偵測來做輸入,一個判斷數字,一個判斷運算子,小數點就先放大運算最受要顯示時在做處裡,大概就是這樣,實際做了才會知道困難在哪裡.
    希望能夠觀摩到其他大大的NXT-G寫法,總覺得還不太上手,要是用NXC應該簡單很多.

    回覆刪除
  3. 拜讀了Jerry大大的code後讓我受益良多,我想的太複雜了.
    Back Ultarsonic 2.rar是我改寫後得NXT-G程式,小多了一個檔案解決,當然反應也變快了.

    感謝Jerry大大.

    回覆刪除
  4. Jerry還沒到大大的地步啦, 他現在還在念高一呢. Jerry是阿吉的學生, 不過如您所見他的實力是相當不錯的. 每周5晚上是我們固定的討論時間, 教學相長, 阿吉自己也學到很多.

    Jerry的專長是java, 我們正在final我們的Java for NXT, 希望年中可以出版唷.

    (Bridan打擾了, ccc)

    CAVE阿吉

    回覆刪除
  5. 哇!這幾天較忙沒上線,又見大家搶先留言。不過說真的,Jerry 高一有這種程式設計程度,相當厲害,讓我想起以前玩 CASIO FX-700P 的日子,成立研發養成所,就是想提供一些練習機會給大家練兵,很久以前學生時代,我就是經常自己出題目,自己解問題,設計的功力自然會精進,等出社會也不會有就業問題。

    感謝雲林大大繼續捧場,文字型的程式確實比圖塊型程式效率佳,因為每個圖塊相當於一個程式模組,會包含沒用到的功能,因此專業程式設計師都是用文字型,對入門者當然用圖塊比較方便簡單,不過程式順序、邏輯安排需要巧思,這方面可能比文字型困難,是很好的練習。

    聞道有先後,術業有專攻,日後有需要 Java 向你們請益,也期待阿吉你們的新書上市,謝謝。

    回覆刪除