超声波传感器测距

分享一个树莓派超声波测距教程。非常基础的小制作,可以激发一下树莓派或其它基础嵌入式开发兴趣。
首先准备一个超声波传感器(这里是HC-HR04型)、树莓派及连接排线。

参考对照表将传感器引脚与树莓派连接,连接方式不唯一,一定仔细连接。传感器VCC引脚连接树莓派5V引脚,GND连接0V接地引脚,Trig、Echo根据具体代码连接,我这里是Trig引脚连接GPIO3,Echo连接GPIO4。
在树莓派正确路径下创建文件并写入代码,我这里创建为“ranging.c"
编译ranging.c

$ gcc ranging.c -o ranging -lwiringPi

执行ranging

$ ./ranging

此时便可以看到执行效果。
具体代码如下:

#include <wiringPi.h>
#include <stdio.h>
#include <sys/time.h>  #define Trig    3
#define Echo    4 void ultraInit(void)
{  pinMode(Echo, INPUT);  pinMode(Trig, OUTPUT);
}  float disMeasure(void)
{  struct timeval tv1;  struct timeval tv2;  long start, stop;  float dis;  digitalWrite(Trig, LOW);  delayMicroseconds(2);  digitalWrite(Trig, HIGH);  delayMicroseconds(10);      //发出超声波脉冲  digitalWrite(Trig, LOW);  while(!(digitalRead(Echo) == 1));  gettimeofday(&tv1, NULL);           //获取当前时间  while(!(digitalRead(Echo) == 0));  gettimeofday(&tv2, NULL);           //获取当前时间  start = tv1.tv_sec * 1000000 + tv1.tv_usec;   //微秒级的时间  stop  = tv2.tv_sec * 1000000 + tv2.tv_usec;  dis = (float)(stop - start) / 1000000 * 34000 / 2;  //求出距离  return dis;
}  int main(void)
{  int a=0;float dis;  if(wiringPiSetup() == -1){                                      printf("setup wiringPi failed !");  return 1;   }  ultraInit();  while(a<10){  dis = disMeasure();  printf("distance = %0.2f cm\n",dis);  delay(1000);a++;  }  return 0;
}

树莓派C语言超声波传感器测距相关推荐

  1. 超声波传感器测距c语言编程,超声波传感器和stc89c51单片机的c语言代码

    #include         //器件配置文件 #include #define  RX  P1_1 #define  TX  P1_2 #define LCM_RW  P0_6 //定义LCD引 ...

  2. 树莓派4B之超声波传感器模块(python3)

    背景 本人最因工作原因接触到各种电路板,传感器,而自己又是一个小白,随意在其他朋友的推荐下决定从树莓派开始玩传感器:本例子为树莓派控制红外避障传感器 材料 1.树莓派4b 2.火焰传感器模块 3.导线 ...

  3. 基于超声波传感器的液位测量及控制系统设计(STM32)

    一.引言 随着工业的发展,计算机.微电子.传感器等高新技术的应用和研究,液位仪表的研制得到了长足的发展,以适应越来越高的应用要求.液位的测量在工业生产过程中已经起着相当重要的作用,其类型大概可以分为接 ...

  4. 超声波测距系统(stc89c52单片机+lcd1602+srf04超声波传感器+DS18B20温度传感器+无源蜂鸣器)

    求赞,它是我写博客的动力,请鼓励鼓励我,谢谢 基于超声波测距的倒车报警系统. 计划通过超声波传感器测距,温度传感器校正误差,lcd1602显示结果,距离小于某一值时将蜂鸣报警. 总体设计思路 HC-S ...

  5. 树莓派超声波模块测距

    参考:树莓派超声波模块测距及C语言demo 作者:一只青木呀 发布时间: 2020-07-22 16:54:16 网址:https://blog.csdn.net/weixin_45309916/ar ...

  6. 树莓派控制超声波传感器

    看到大二的时候有写过关于树莓派控制HC-SR04超声波测距模块的教程,当时并未给出代码(也不知道是什么原因,估计初写博客并不熟悉吧),所以在三年后的今天贴代码出来,给大家参考下. //树莓派控制超声波 ...

  7. 使用Arduino和超声波传感器实现简单测距

    使用HC-SR04超声波传感器和Arduino MEGA 2560实现简单测距 一.一个超声波传感器的使用 1.接线部分 2.代码部分 3.在串口看测到的数据 二.两个超声波传感器的使用 1.接线部分 ...

  8. US100超声波测距传感器linux,US100超声波传感器手册

    US100超声波传感器手册 (2011-08-13 17:42:47) 标签: 杂谈 US-100 超声波测距模块 1. 概述 US-100 超声波测距模块可实现2cm~4.5m 的非接触测距功 能, ...

  9. stm32f429+超声波传感器HC-SR04 -- 测距

    工具 1. 开发板stm32f429(f4系列的应该都可以) 2. 超声波传感器,型号为HC-SR04 HC-SR04接线 HC-SR04 stm32f4 VCC VCC(5V) GND GND Tr ...

  10. 使用超声波传感器实现检测和测距的RADAR雷达原型

    在本篇文章中,我们使用Arduino开发板和超声波传感器设计了一款雷达模型,用于检测和测距.RADAR是一种物体检测系统,它使用无线电波来识别物体的范围.高度.方向和速度.雷达天线发射的无线电波脉冲会 ...

最新文章

  1. SpringMVC怎么获取前台传来的数组
  2. tensorrt动态输入分辨率尺寸
  3. Python机器学习--回归
  4. vsim生成VCD波形文件(verilog)
  5. 使用 husky 和 lint-staged 检查 Node.js 的代码一致性
  6. 海量服务 | 论服务器极致化海量运营交付的未来
  7. linux c之在终端如何依赖.o文件(静态链接库)运行C文件的命令
  8. 虚拟化服务器类型,虚拟化服务器类型
  9. css-3秒(大概吧...)快速撸出YY游戏页面(三)
  10. DAC0832_简易函数信号发生器_按键控制波形and步进
  11. python dbf 修改_在Python中将数据写入dbf时出错
  12. 亏了1000万,卖房卖车也要坚持梦想,值吗?
  13. react build后直接从浏览器打开
  14. 剑指offer面试题39. 数组中出现次数超过一半的数字(数组)(摩尔投票法)
  15. Agile入门系列-1
  16. 2021-09-1017. 电话号码的字母组合
  17. 高效获得准确的中国地图数据并进行可视化
  18. FPGA视频拼接项目LVDS视频传输数据接口介绍
  19. ASR - OpenAI whisper
  20. 16张图详解计算机网络协议(万字)

热门文章

  1. 杭州五大湖风景名胜区
  2. centos7搭建hexo+nods.j个人博客
  3. 用tbtools基因家族分析《一》
  4. bochs镜像java模拟器_bochs WIN7 IMG镜像文件
  5. win10屏幕文字模糊不清
  6. SAP在采购和销售中的税务处理-增值税
  7. 第7周 项目6—停车场模拟
  8. Jinja2 入门教程、基本概念、简单使用及使用 Jinja2 生成 H3C 交换机配置举例
  9. ipadpro画流程图_流程图制作软件,这款软件让你5分钟就能搞定流程图
  10. axure能做剪切蒙版吗_二手车销售好做吗?没经验能做二手车销售吗?