查看: 3263|回复: 2

超声波测距

[复制链接]

该用户从未签到

发表于 2013-6-12 13:14:55 | 显示全部楼层 |阅读模式
分享到:
前面有人写过测距程序(https://www.cirmall.com/bbs/thread-11401-1-1.html),没注意到,自己从头写了一个,发现精度很好,发上来给大家玩玩

买板子的时候在淘宝买了个人体探头和超声探头,非常便宜:
http://item.taobao.com/item.htm?id=18046651946

本程序用gpio 1除非trip管脚,用adc 3采样,输出如下:
Usage ./dist trig(gpio 0~13) echo(adc 2~5)
Trig GPIO: 1, Echo ADC: 2
distance: 322cm
distance: 11cm
distance: 11cm
distance: 3716cm

这个程序从Echo上升沿开始计时,到下降沿结束作为具体计算: Echo时间*声速340/2
源代码:
  1. /*
  2. * Distance test program
  3. */
  4. #include <core.h>

  5. int trig_pin = 1; //2nd pin of GPIO
  6. int echo_pin = 2; //3rd ADC pin, 12bits, 4096 max

  7. void setup()
  8. {
  9.     if ( argc != 2)
  10.     {
  11.         printf("Usage %s trig(gpio 0~13) echo(adc 2~5)\n", argv[0]);
  12.     } else if(argc==2) {
  13.         trig_pin = atoi(argv[1]);
  14.         echo_pin = atoi(argv[2]);
  15.     }
  16.     printf("Trig GPIO: %d, Echo ADC: %d\n", trig_pin, echo_pin);
  17.     pinMode(trig_pin, OUTPUT);
  18. }

  19. void loop()
  20. {
  21.     unsigned long time;
  22.     int value;
  23.     digitalWrite(trig_pin, HIGH);
  24.     while(1) {
  25.         value = analogRead(echo_pin); // get adc value
  26.         if (value > 2048) { // send out
  27.             time = micros();
  28.             break;
  29.         }
  30.     }
  31.     while(1) {
  32.         value = analogRead(echo_pin); // get adc value
  33.         if (value < 2048 ) { //echo stop
  34.             printf("distance: %lucm\n", (micros() - time) * 340/2/10000 );
  35.             break;
  36.         }
  37.      }
  38.      digitalWrite(trig_pin, LOW);
  39.      delay(100);
  40. }
复制代码
库中pulsein函数应该很好用,但是看了下源码,貌似不对。


回复

使用道具 举报

  • TA的每日心情
    奋斗
    2023-9-15 06:28
  • 签到天数: 3747 天

    连续签到: 60 天

    [LV.Master]伴坛终老

    发表于 2013-6-12 15:19:11 | 显示全部楼层
    支持一下,端午快乐!
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    慵懒
    2015-8-5 08:38
  • 签到天数: 12 天

    连续签到: 1 天

    [LV.3]偶尔看看II

    发表于 2013-7-1 10:00:38 | 显示全部楼层
    MARK,向楼主学习
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 注册/登录

    本版积分规则

    关闭

    站长推荐上一条 /3 下一条

    手机版|小黑屋|与非网

    GMT+8, 2025-1-20 19:19 , Processed in 0.126945 second(s), 19 queries , MemCache On.

    ICP经营许可证 苏B2-20140176  苏ICP备14012660号-2   苏州灵动帧格网络科技有限公司 版权所有.

    苏公网安备 32059002001037号

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.