具備濾波功能的倒車雷達 ver1.0 by 力維

程式下載請按我

這是力維寫的簡易倒車雷達程式, 將超音波感應器值轉換為發音頻率, 和NXT內建的 Try Ultrasonic功能是一樣的。
但在距離極小以及極大的時候, 超音波感應器本身的雜訊還不小, 所以我們用8個變數來存放距離值後取平均, 這樣可以讓整組data圖表平滑一點。 各位朋友可以實際操作看看。
還有第二個使用陣列的版本, 請按我
============================================
import lejos.nxt.*;
import lejos.util.Delay;
class radar_v1_0
{
   public static void main(String args[])
   {
   Button.ESCAPE. addButtonListener(new ButtonListener()
     {
     public void buttonPressed(Button b){System.exit(1);}
     public void buttonReleased(Button b){}
     }); //定義NXT灰色鍵可中斷程式
  
   UltrasonicSensor us = new UltrasonicSensor(SensorPort. S1); //宣告1號超音波感應器
   int distance1=0,distance2=0, distance3=0,distance4=0, distance5=0,distance6=0,  distance7=0,distance8=0;     
   while(true)
   {
    distance8 = distance7;
    distance7 = distance6;
    distance6 = distance5;
    distance5 = distance4;
    distance4 = distance3;
    distance3 = distance2;
    distance2 = distance1;
    distance1 = us.getDistance();
    Sound.playTone((distance1+ distance2+distance3+distance4+ distance5+distance6+distance7+ distance8)/8*10,100); //將8個距離值平均後轉為發音頻率
    LCD.drawInt((distance1+ distance2+distance3+distance4+ distance5+distance6+distance7+ distance8)/8,0,0); //顯示平均值
    Delay.msDelay(100);
    LCD.clear();
    }
  }
}

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *