pythonarduino超声波测距(基于labview的超声波测距)

http://www.itjxue.com  2023-03-27 18:07  来源:未知  点击次数: 

这是我在arduino上用hc-sr04超声波测距的代码,但是结果一直都是0.00,不知道哪里错了,求大神解答

#include Wire.h

#include "MPU6050.h"

#include Ultrasonic.h

#include "I2Cdev.h"

#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总线

Wire.begin();

//初始化串口通信频道

Serial.begin(9600);

//初始化模块

//my_gyro.initialize();

my_hcsr.measure();

startTime = millis();

//初始化完成后指示灯常亮

pinMode(LED_PIN,HIGH);

}

void loop() {

//获取车身姿态

//ax=my_gyro.getAccelerationX();

//rx=my_gyro.getRotationX();

//获取前方障碍物距离

my_hcsr.measure();

distance=millis()-startTime;

distance/=1000;

distance=my_hcsr.get_cm();

Serial.print(distance,3);

Serial.println("cm");

delay(50);

}

Arduino 超声波测距+OLED+RGB

1、通过超声波测距模块进行距离测量

2、将测量的结果显示在OLED屏幕上

3、当测量距离 20cm 时,RGB模块显示红灯报警

arduino超声波可以干什么

测量传感器距离障碍物的距离,但能测的距离比较短,可用于避障小车之类的制作。超声波测距传感器由超声波发生器,接收器以及一块小芯片组成。

arduino向传感器芯片发出指令使超声波发生器发出超声波,arduino开始计时。超声波遇到障碍物会反射,超声波接收器接收到后芯片向arduino报告,arduino停止计时。再由

距离=声速*时间

算出距离,空气中的声速一般按340米/秒来算。

如果要测较长(1米以上)的距离,最好用激光测距传感器(有点贵就是了)。

树莓派通过C语言和python操作超声波测距模块

? ? 树莓派利用两个gpio来操作超声波测距模块,一个gpio操作发送超声波,另一个超声波接受返回的超声波,时间差与声音传播速度的积即为距离数值。模块可以测量 3cm – 4m 的距离,模块包括 超声波发射器、超声波接收器和控制电路三部分。 4 个引脚,由 2 个电源引脚(Vcc 、GND)和 2 个控制引脚(Trig、Echo)组成。Trig 引脚用来接收来自树莓派的控制信号,Echo 引脚用来发送测距结果给树莓派。

? ? V端口是5V供电,G是负极,T为板卡端口38(gpio28),E为板卡端口40(gpio29)。

? ? 原理为时间差乘以速率来计算距离。

gcc? distance_sensor.c -o? distance_sensor? -lwiringPi? #编译C语言

./distance_sensor? #运行程序

运行程序? python distance_sensor.py

最后试了试将程序改为labview通过LINX嵌入式部署到树莓派,最后测试有问题。感觉是时间控制方面有问题,夜深了,留待下次解决吧。

(责任编辑:IT教学网)

更多

相关淘宝营销文章

推荐淘宝营销文章