创客+Arduino+飞行:使用Arduino和HCSR04超声波传感器进行简单的超声波悬浮

转载自:CSDN– 使用Arduino和HCSR04超声波传感器进行简单的超声波悬浮_acktomas的博客-CSDN博客_声悬浮arduino

英文原版:Arduino Levitation Project – Simple Ultrasonic Acoustic Levitation using Arduino and HCSR04 Ultrasonic Sensor (circuitdigest.com)


使用Arduino和HCSR04超声波传感器进行简单的超声波悬浮

ARDUINO项目

经过**尼兰詹·罗伊(Nilanjan Roy)** 2020年6月30日修改
在这里插入图片描述
使用Arduino的超声声悬浮

看到漂浮在空中或自由空间中的东西真是令人兴奋,这正是反重力计划的目的。将物体(基本上是一小块纸或热缩胶)放置在两个产生声波的超声换能器之间。由于这些似乎是反重力的波,物体漂浮在空中。这不仅是一个很酷的Arduino悬浮项目,而且还有许多实际应用。研究人员正在研究与之非常相似的超声波机器人抓取器,这些抓取器可用于移动物体而不接触它们。

所需组件

  • Arduino Uno / Arduino纳米ATMEGA328P
  • 超声波模块HC-SR04
  • IC或L239d H桥模块L239D
  • Vero董事会点缀Vero
  • 二极管4007
  • 电容器(PF)104

8v至12v电源的附加要求

  • 稳压器LM 7809
  • LED驱动器电源12V 2Amp

**附加材料:**一些连接线,公头,母对母跳线

超声波悬浮电路图

完整的Arduino悬浮电路如下所示,该电路的工作原理非常简单。该项目的主要组件是ArduinoL239D电机驱动IC和从超声传感器模块HCSR04收集的超声换能器。通常,超声波传感器会发送25khz至50kHz之间的频率信号的声波,在本项目中,我们使用HCSR04超声波传感器。我们之前已经建立了许多超声波传感器项目,其中HCSR04主要用于测量距离。在这个项目中,我们将换能器从模块中焊接出来。
在这里插入图片描述
根据[数据表](https://components101.com/sites/default/files/component_datasheet/HCSR04 Datasheet.pdf),此超声换能器的工作频率为40 kHz。因此,使用Arduino和这小段代码的目的是为我的超声传感器或换能器生成40KHz的高频振荡信号,并将此脉冲施加到双电机驱动器IC L239D的输入(Arduino的引脚2和6 A0和A1引脚)以驱动超声换能器。最后,我们通过超声波换能器上的驱动IC(通常为L239D IC的第8引脚上的8至12电压,Vcc2)施加此40KHz高频振荡信号以及驱动电压。结果是哪个超声换能器产生声波。我们以相反的方向面对面放置了两个换能器,以使它们之间留有一定的空间。声波在两个换能器之间传播,并使物体漂浮。

请注意,L293D具有双电压输入,一个用于为IC本身供电,该电压由该项目中的Arduino 5v供电,另一个Vcc2(第8个)应用于输出组件驱动电压,并且该VCC引脚可以接受高达36v的电压。该IC具有2个使能引脚,4个输入-输出引脚,4个接地引脚。使用该IC的概念来自使用微控制器和该芯片的概念,在该芯片中,我们只需提供来自微控制器的逻辑或数字信号就可以分别更改2个电机的方向和速度。

在此电路中,我们仅使用IC L293D的两个输入,即输入引脚1(2)和输入引脚2(7)。要启用这两个引脚,我们必须将IC Enable PIN 1保持为高电平,因此我们将此引脚连接到输入Vcc 1的IC引脚16上,要了解更多信息,请遵循[L293D数据表](https://components101.com/sites/default/files/component_datasheet/L293D Datasheet.pdf)。

可选地使用100nf电容器来保持IC电源,并且作为电源,我们使用12V 2Amp LED驱动器,然后使用稳压器IC LM7809将电压降至9v,并提供给具有公共接地的L139D的第8引脚。根据Arduino,Cc和Arduino论坛的说法,Arduino UNO板支持7到12伏的输入,但是放9V Max更为安全。

编程Arduino以实现超声悬浮

编码非常简单,只有几行。在计时器和中断功能的帮助下使用此小代码,我们使高电平或低电平(0/1)并向Arduino A0和A1输出引脚生成40Khz的振荡信号。

首先,从相移阵列开始。

第二个端口接收相反的信号。之后,在void设置下,我们使用此行代码将所有模拟端口定义为输出。

然后,我们初始化计时器1并禁用所有中断以将其设置为零。

通过此代码,

然后,将定时器一配置为以80KHZ触发比较中断时钟。Arduino以16000000 MHZ÷200 = 80,000 kHz的方波运行。

此后,此行激活,比较计时器中断。

最后,使用这段代码激活中断。

每个中断都会反转模拟端口的状态,从而将80 kHz方波信号转换为40Khz的全波循环信号。然后,我们将该值发送到Arduino输出A0和A1端口。

循环之下没有什么可放置或不需要运行的。

建立超声波悬浮设置

请注意,对于此项目,正确安装超声换能器很重要。它们应该在非常重要的相反方向上彼此面对,并且应该在同一条直线上,以便超声波可以在相反的方向上传播和相交。为此,您可以拿两小块木板或MD板,螺母螺栓和胶水。您可以在钻孔机上打两个孔,以使其完全适合换能器。在支架上,您可以悬挂超声换能器装置。
在这里插入图片描述

在这种情况下,我先用两块纸板,然后借助胶枪上的胶水固定超声换能器。后来,为了制作支架,我使用了一个简单的接线盒,并用胶水固定了所有东西。
在这里插入图片描述

在这里插入图片描述

这是一些超声波悬浮的照片,显示了该项目的工作情况。
在这里插入图片描述

在这里插入图片描述

如果一侧装有超声换能器,则超声悬浮或声悬浮也可以工作,但在这种情况下将需要一个反射器,该反射器将成为障碍,因此可以在将来的悬停板和反重力运输中使用。您也可以在下面查看完整的工作视频。

我希望您理解该项目并喜欢构建有趣的东西。如果您有任何疑问,请将其留在下面的评论部分,您也可以使用我们的论坛来解决其他技术问题。

代码

Comments

No comments yet. Why don’t you start the discussion?

发表回复

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