#include <Wireh>
#include "MPU6050h"
#include <Ultrasonich>
#include "I2Cdevh"
#define LED_PIN 13 //指示灯
//MPU6050陀螺仪
//MPU6050 my_gyro(3);
//使用ax, rx来获取二轮车姿态
//x轴加速度 & 偏转角
short ax,rx;
//short = int16_t
//HC-SRO4超声波传感器
//TRIG_PIN & ECHO_PIN
Ultrasonic my_hcsr(5,6);
float distance;
int startTime;
void setup() {
pinMode(LED_PIN,LOW);
//加入I2C总线
Wirebegin();
//初始化串口通信频道
Serialbegin(9600);
//初始化模块
//my_gyroinitialize();
my_hcsrmeasure();
startTime = millis();
//初始化完成后指示灯常亮
pinMode(LED_PIN,HIGH);
}
void loop() {
//获取车身姿态
//ax=my_gyrogetAccelerationX();
//rx=my_gyrogetRotationX();
//获取前方障碍物距离
my_hcsrmeasure();
distance=millis()-startTime;
distance/=1000;
distance=my_hcsrget_cm();
Serialprint(distance,3);
Serialprintln("cm");
delay(50);
}
只不过是单片机上接了三个模块,是不可能同时控制的,写程序时,分别对三个模块进行测量,因单片机的速度是非常快的,从外观上看就好像是同时测量的,可程序是不可能同时执行的,只是互相间隔的时间极短,表面上就同时了。确切说,从微观上是分时控制,从宏观上看是同时了。
以上就是关于这是我在arduino上用hc-sr04超声波测距的代码,但是结果一直都是0.00,不知道哪里错了,求大神解答全部的内容,包括:这是我在arduino上用hc-sr04超声波测距的代码,但是结果一直都是0.00,不知道哪里错了,求大神解答、一个单片机同时控制三个超声波测距模块,程序怎样实现呢、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)