zoukankan      html  css  js  c++  java
  • Wemos D1 超声测距

    HC-SRO4超声波模块

     

    四个引脚:VCC(正极),Trig(触发),Echo(回应),GDN(接地)

    #define Echo D2
    #define Trig D8
    long GetTime()
    {   
         digitalWrite(Trig,HIGH);
         delayMicroseconds(10);
         digitalWrite(Trig,LOW);
         return pulseIn(Echo,HIGH);
    }
    /*
     //pulseIn函数会等待引脚变为HIGH,开始计算时间,再等待变为LOW并停止计时
      //返回脉冲的长度
      
      //声速是:340m/1s 换算成 34000cm / 1000000μs => 34 / 1000
      //因为发送到接收,实际是相同距离走了2回,所以要除以2
      //距离(厘米)  =  (回波时间 * (34 / 1000)) / 2
      //简化后的计算公式为 (回波时间 * 17)/ 1000
    */
    void setup() {
        pinMode(Echo,INPUT);  
        pinMode(Trig,OUTPUT);
        Serial.begin(115200);
    }
    void loop() {
      float ECHO_temp=GetTime();
      float distance =ECHO_temp*17/1000; //回波时间换算成cm /58.8235;
              if(distance <10)
              {  
                 Serial.print("Near...");
                 Serial.println(ECHO_temp);
                 Serial.print(" )(...)(");
                 Serial.print(distance);
                // Serial.println(ds);
                 Serial.println("CM");
                 delay(1000);
               }
               else
               {
                 Serial.println("Far...");
                 Serial.print(distance);
                 Serial.println("CM");
                 delay(1000);
               }
    }

    实际测量效果不是很准,可能是我模块的问题。 

    作者:儒良设计

    -------------------------------------------

    个性签名:独学而无友,则孤陋而寡闻。做一个灵魂有趣的人!

    万水千山总是情,打赏一分行不行,所以如果你心情还比较高兴,也是可以扫码打赏博主,哈哈哈(っ•̀ω•́)っ✎⁾⁾!

  • 相关阅读:
    Java系列教程-Spring 教程目录
    python中如何给散点图上面的特定点做标记
    OpenCV:Python下OpenCV安装和入门最强详细攻略
    如何实现一个 windows 桌面动态壁纸
    学习C/C++的简单方法
    手眼标定
    python合并多个txt文件
    python qq发消息
    python获取当前天气情况
    程序代写、毕业设计
  • 原文地址:https://www.cnblogs.com/bymeet/p/15138948.html
Copyright © 2011-2022 走看看