orangepi——HC-SR04超声波测距

本文介绍了使用OrangePi配合HC-SR04超声波传感器进行测距的原理和接线方法。通过发送10us高电平触发信号,根据Echo返回的高电平时间计算距离。文中提供了测试代码,展示了如何利用gettimeofday()函数获取时间差,并分析了由于CPU资源竞争导致的结果差异。
摘要由CSDN通过智能技术生成

原理:

        根据时序图可知,给trig至少10us高电平进行发波;echo从0变为1表示已经发波,echo从1变回0表示接收到返回的波。根据echo维持高电平的时间来计算距离。

接线:

        超声波模块——orangepi

        vcc——vcc

        gnd——gnd

        trig——接0口

        echo——接1口

时间函数:

#include <sys/time.h>

int gettimeofday(struct timeval *tv, struct timezone *tz)


struct timeval
{
    long tv_sec;//秒
    long tv_usec;//微秒
}

gettimeofday()会把目前的时间用tv结构体返回,当地时区的信息则放到tz所指的结构中

1、前期测试代码:计算出cuttest函数运行的时间差

#include <stdio.h>
#include <sys/time.h>

void cuttest()
{
        int i,j;
        for(i=0;i<100;i++)
                for(j=0;j<1000;j++);
}
int main()
{

        struct timeval timestart;
        struct timeval timestop;

        gettimeofday(&timestart,NULL);
        cuttest();
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值