×

将HC SR04与Arduino一起使用

消耗积分:0 | 格式:zip | 大小:0.15 MB | 2023-01-04

刘艳

分享资料个

描述

HC-SR04是一种超声波传感器,最常用于距离检测/距离测量。它使用 SONAR 机制进行工作,可以检测 (1-13) 英尺的障碍物。

超声波独立于:

  • 抽烟
  • 灰尘
  • 颜色
  • 材料(柔软表面除外,即羊毛,因为表面吸收超声波而不反射声音。)

具有不同表面特性的目标的远距离检测 。

超声波传感器优于红外传感器,因为它们不受烟雾或黑色材料的影响,但是,不能很好地反射声纳(超声波)波的软材料可能会导致问题。它不是一个完美的系统,但它很好而且可靠。

电路设置:

传感器的技术规格是:

  • 电源 - +5V DC
  • 静态电流 - <2mA
  • 工作电流 - 15mA
  • 有效角度 − <15°
  • 测距距离 − 2cm – 400 cm/1″ – 13ft
  • 分辨率 - 0.3 厘米
  • 测量角度 - 30 度

让我们了解使用 Arduino Genuino/Uno 的工作原理:

const int pingPin = 9; // Trigger Pin of Ultrasonic Sensor
const int echoPin = 10; // Echo Pin of Ultrasonic Sensor
void setup() {
   Serial.begin(9600); // Starting Serial Terminal (baud rate)
}
void loop() {
   long duration, inches, cm;
   pinMode(pingPin, OUTPUT); //tells the sensor to send a signal from trigger pin
   digitalWrite(pingPin, LOW);
   delayMicroseconds(2);
   digitalWrite(pingPin, HIGH); //sending the signal
   delayMicroseconds(10); // waiting 
   digitalWrite(pingPin, LOW);
   pinMode(echoPin, INPUT); //receiving back at the echo 
   duration = pulseIn(echoPin, HIGH); // we measured the duration by calculating the time difference for which the echo pin received the signal back from the trigger pin after reflection from the obstacle. This mechanism is also referred to as echolocation.
   inches = microsecondsToInches(duration); //called the function we created below
   cm = microsecondsToCentimeters(duration);
   Serial.print(inches); //printing to serial monitor
   Serial.print("in, ");
   Serial.print(cm);
   Serial.print("cm");
   Serial.println(); //command to invoke the serial monitor.
   delay(100);
}
long microsecondsToInches(long microseconds) {
   return microseconds / 74 / 2;
}
long microsecondsToCentimeters(long microseconds) {
   return microseconds / 29 / 2;
}

上传代码后按 ctrl+shift+M。串行监视器将开始显示厘米和英寸的值。访问   HC-SR04的工作

 

 


声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

评论(0)
发评论

下载排行榜

全部0条评论

快来发表一下你的评论吧 !