#include <wiringPi.h>
#include <stdio.h>
#include <sys/time.h>
#define Trig 4
#define Echo 5
void ultraInit(void)
{
pinMode(Echo, INPUT); //设置端口为输入
pinMode(Trig, OUTPUT); //设置端口为输出
}
float disMeasure(void)
{
struct timeval tv1; //timeval是time.h中的预定义结构体 其中包含两个一个是秒,一个是微秒
/*
struct timeval
{
time_t tv_sec; //Seconds.
suseconds_t tv_usec; //Microseconds.
};
*/
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); //获取当前时间 开始接
基于树莓派的智能家居系统(六)——超声波测距
最新推荐文章于 2024-09-09 12:06:25 发布
本文是基于树莓派构建智能家居系统的第六部分,主要介绍如何使用超声波传感器进行测距,以此实现更智能的环境监测和控制。通过编程和硬件接口的结合,树莓派能够精确测量物体距离,为家居自动化提供关键数据。
摘要由CSDN通过智能技术生成