乡下人产国偷v产偷v自拍,国产午夜片在线观看,婷婷成人亚洲综合国产麻豆,久久综合给合久久狠狠狠9

  • <output id="e9wm2"></output>
    <s id="e9wm2"><nobr id="e9wm2"><ins id="e9wm2"></ins></nobr></s>

    • 分享

      第一個Phyphox-ESP32測距實驗

       新用戶5228KeDY 2021-10-10

      第一個Phyphox-ESP32測距實驗

      前些天得到Phyphox的BLE藍牙擴展庫,一直想找一點兒時間嘗試個例子。Phyphox自身有測量距離的功能,即聲吶(Sonar)測距實驗。不是太準確,但基本也可使用。

      不使用手機傳感器而使用外接傳感器,測量距離的,首選激光飛行時間傳感器(Tof),其次超聲波傳感器(UltraSonic)。但不論哪種傳感器,不使用濾波和限幅,這些傳感器都不易直接使用。這里作為一個測試,用的超聲波傳感器,開發(fā)板是ESP32。

      測量結(jié)果,緩慢在傳感器前方移動日記本,粗測移動速度,每秒1.4cm,和實際情況差不多:

      很簡單的代碼創(chuàng)作的實驗,不設(shè)置緩存數(shù)據(jù),數(shù)據(jù)是不能導出的。估計以后能夠把實驗文件以.phyphox文件導出來,接著再導入到phyphox editor編輯器里面去,再進行一些專門的設(shè)置:

      實際實驗使用的器材,超聲波是常見的HC-SR04,性能最弱的一種:

      ESP32程序燒錄比Arduino UNO燒錄要麻煩一些,時間也要久。Arduino IDE燒錄log:

      程序代碼:

      #include <phyphoxBle.h> 

      int TrigPin = 12;
      int EchoPin = 14;
      float dist;

      void setup()
      {
         Serial.begin(115200);
         pinMode(TrigPin, OUTPUT);
         pinMode(EchoPin, INPUT);
         
         PhyphoxBLE::start("MyDevice");

         //Experiment
         PhyphoxBleExperiment plotDtValues;   //創(chuàng)建一個實驗實例

         plotRandomValues.setTitle("Distance Number");
         plotRandomValues.setCategory("Arduino Experiments");
         plotRandomValues.setDescription("phyphox-ESP32-HCSR04 Distance");

         //View
         PhyphoxBleExperiment::View firstView;
         firstView.setLabel("FirstView"); //Create a "view"

         //Graph
         PhyphoxBleExperiment::Graph firstGraph;     
         firstGraph.setLabel("Distance over time");
         firstGraph.setUnitX("s");
         firstGraph.setUnitY("m");
         firstGraph.setLabelX("time");
         firstGraph.setLabelY("Distance");
         firstGraph.setChannel(0,1);

         firstView.addElement(firstGraph);
         plotRandomValues.addView(firstView);
         PhyphoxBLE::addExperiment(plotDtValues);

      }


      void loop()
      {
        digitalWrite(TrigPin, LOW);
        delayMicroseconds(5);
        digitalWrite(TrigPin, HIGH);
        delayMicroseconds(10);
        digitalWrite(TrigPin, LOW);
        dist = pulseIn(EchoPin, HIGH) / 58.00;  
        float DisValue = dist/100.0;

        PhyphoxBLE::write(DisValue);
        delay(500);

        PhyphoxBLE::poll();
      }

        轉(zhuǎn)藏 分享 獻花(0

        0條評論

        發(fā)表

        請遵守用戶 評論公約

        類似文章