Arduino传感器05.Arduino 超声波传感器

HC-SR04超声波传感器使用声纳来确定物体的距离,就像蝙蝠一样。它提供了非常好的非接触范围检测,准确度高,读数稳定,易于使用,尺寸从2厘米到400厘米或1英寸到13英尺不等。

其操作不受阳光或黑色材料的影响,尽管在声学上,柔软的材料(如布料等)可能难以检测到。它配有超声波发射器和接收器模块。

超声波传感器
超声波

技术规格

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

必需的组件

你将需要以下组件:

  • 1 × Breadboard 面包板
  • 1 × Arduino Uno R3
  • 1 × 超声波传感器(HC-SR04)

程序

按照电路图进行连接,如下图所示。

电路图

草图

在计算机上打开Arduino IDE软件。使用Arduino语言进行编码控制你的电路。通过单击“New”打开一个新的草图文件。

Sketch

Arduino代码

const int pingPin = 7; // Trigger Pin of Ultrasonic Sensor
const int echoPin = 6; // Echo Pin of Ultrasonic Sensor

void setup() {
   Serial.begin(9600); // Starting Serial Terminal
}

void loop() {
   long duration, inches, cm;
   pinMode(pingPin, OUTPUT);
   digitalWrite(pingPin, LOW);
   delayMicroseconds(2);
   digitalWrite(pingPin, HIGH);
   delayMicroseconds(10);
   digitalWrite(pingPin, LOW);
   pinMode(echoPin, INPUT);
   duration = pulseIn(echoPin, HIGH);
   inches = microsecondsToInches(duration);
   cm = microsecondsToCentimeters(duration);
   Serial.print(inches);
   Serial.print("in, ");
   Serial.print(cm);
   Serial.print("cm");
   Serial.println();
   delay(100);
}

long microsecondsToInches(long microseconds) {
   return microseconds / 74 / 2;
}

long microsecondsToCentimeters(long microseconds) {
   return microseconds / 29 / 2;
}

代码说明

超声波传感器有四个端子:+5V,Trigger,Echo和GND,连接如下:

  • 将+5V引脚连接到Arduino板上的+5v。
  • 将Trigger连接到Arduino板上的数字引脚7。
  • 将Echo连接到Arduino板上的数字引脚6。
  • 将GND连接到Arduino上的GND。

在我们的程序中,我们通过串口显示了传感器测量的距离,单位为英寸和厘米。

结果

你将在Arduino串口监视器上看到传感器测量的距离,单位为英寸和厘米。

发布者:suiyublg,转转请注明出处:https://huibian.net/1505-2/

(0)
suiyublg的头像suiyublg
上一篇 2017年4月23日 17:06
下一篇 2017年4月25日 17:10

相关推荐

  • Arduino电机控制02.Arduino 伺服电机

    伺服电机是一种有输出轴的小型设备。通过向伺服发送编码信号,可以将该轴定位到特定的角度位置。只要编码信号存在于输入线上,伺服将保持轴的角位置。如果编码信号改变,则轴的角位置改变。实际上,伺服用于无线电控制的飞机中来定位控制面,如升降舵和方向舵。它们还用于无线电控制的汽车,木偶,当然还有机器人。 伺服在机器人中非常有用。电机体积小,内置控制电路,相对于它们尺寸来…

    2017年4月27日
    87500
  • Arduino教程11.Arduino 字符串

    字符串用于存储文本。它们可用在LCD或Arduino IDE串口监视器窗口中显示文本。字符串也可用于存储用户输入。例如,用户在连接到Arduino的键盘上键入的字符。 在Arduino编程中有两种类型的字符串: 在本章中,我们将学习Arduino草图中的字符串,对象和字符串的使用。在本章末尾,你将学习在草图中使用哪种类型的字符串。 字符串字符数组 我们要学习…

    2017年3月27日
    65100
  • Arduino教程15.Arduino 算术运算符

    假设变量A为10,变量B为20,则: 运算符名称 运算符简写 描述 例子 赋值运算符 = 将等号右侧的值存储在等号左边的变量中。 A = B 加号 + 两个操作两个操作数相加 A + B将得出30 减号 – 从第一个操作数中减去第二个操作数 A – B将得出-10 乘号 * 将两个操作数相乘 A * B将得出200 除号 / 用分母除…

    2017年3月23日
    44600
  • Arduino进阶02.Arduino 脉冲宽度调制

    无法量产的亮银版,价格据说10万元都搞不定。

    2017年4月6日
    55100
  • Arduino进阶04.Arduino 中断

    中断(interrupt)停止Arduino的当前工作,以便可以完成一些其他工作。 假设你坐在家里和别人聊天。突然电话响了。你停止聊天,拿起电话与来电者通话。当你完成电话交谈后,你回去和电话响之前的那个人聊天。 同样,你可以把主程序想象成是与某人聊天,电话铃声使你停止聊天。中断服务程序是在电话上通话的过程。当通话结束后,你回到你聊天的主程序。这个例子准确地解…

    2017年4月8日
    55501

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信
欢迎大家来到大雄学编程!