使用Arduino和HCSR04构建超声波悬浮装置

描述

看到一些东西漂浮在空中或自由空间中,这正是反重力项目的意义所在,这是非常令人兴奋的。物体(基本上是一小块纸或热胶)放置在两个产生声波的超声波换能器之间。由于这些似乎是反重力的波浪,物体漂浮在空中。这不仅是一个看起来很酷的Arduino 悬浮项目,而且还有许多实际应用。

所需组件

Arduino Uno / Arduino Nano ATMEGA328P

超声波模块 HC-SR04

IC 或 L239d H 桥模块 L239D

Vero 板点缀 Vero

二极管 4007

电容器 (PF) 104

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

稳压器 LM 7809

LED驱动电源12V 2Amp

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

超声波悬浮电路图

完整的Arduino悬浮电路如下图所示,电路的工作原理非常简单。该项目的主要组件是一个Arduino,L239D电机驱动IC,以及从超声波传感器模块HCSR04收集的超声波换能器。一般超声波传感器发射25khz到50kHz之间频率信号的声波,在本项目中,我们使用的是HCSR04超声波换能器。我们之前做过很多超声波传感器项目,其中HCSR04主要用于测量距离。在这个项目中,我们将换能器从模块中焊接出来。

Arduino

根据数据表,该超声波换能器的工作频率为 40 kHz。因此,使用 Arduino 和这段小代码的目的是为我的超声波传感器或换能器生成40KHz 高频振荡信号,并将此脉冲应用于双电机驱动器 IC L239D 的输入(来自 Arduino 的引脚 2 和 6 A0 & A1 引脚)来驱动超声波换能器。最后,我们将这个高频 40KHz 振荡信号与驱动电压一起通过超声换能器上的驱动 IC(通常在 L239D IC 的第 8 引脚上给出的 8 到 12 电压,Vcc2)施加。因此,超声波换能器产生声波。 我们将两个换能器以相反方向面对面放置,这样它们之间就会留出一些空间。声波在两个换能器之间传播,使物体漂浮。

请注意,L293D 有双电压输入,一个是为 IC 本身供电,在这个项目中由 Arduino 5v 供电,另一个 Vcc2 (8 th ) 用于输出组件驱动电压,该 VCC 引脚可以接受高达 36v 的电压。该 IC 有 2 个使能引脚、4 个输入输出引脚、4 个接地引脚。使用该 IC 的概念来自使用微控制器和该芯片的概念,我们可以通过从微控制器提供逻辑或数字信号来单独改变 2 个电机的方向和速度。

在该电路中,我们仅使用 IC L293D 的两个输入,输入引脚 1 (2) 和输入引脚 2 (7)。要启用这两个引脚,我们必须保持 IC Enable PIN 1 为高电平,因此我们将此引脚发射到 IC 引脚 16,即输入 Vcc 1,要了解更多信息,请遵循L293D 数据表。

使用 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 的振荡信号。

首先,从相移阵列开始。

字节 TP = 0b10101010;

每隔一个端口就会接收到这个相反的信号。之后在 void 设置下,我们使用这行代码将所有模拟端口定义为输出。

DDRC = 0b11111111;

然后我们初始化定时器 1 并禁用所有中断设置为零。

通过这段代码,

无中断();

TCCR1A = 0;

TCCR1B = 0;

TCNT1 = 0;

然后,将定时器 1 配置为在 80KHZ 触发比较中断时钟。Arduino 以 16000000 MHZ ÷ 200 = 80,000 kHz 的频率运行,使用此函数生成方波。

OCR1A = 200;TCCR1B |=

(1 《《 WGM12);

TCCR1B |= (1 《《 CS10);

之后,这条线激活,比较定时器中断。

TIMSK1 |= (1 《《 OCIE1A);

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

中断();

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

ISR(TIMER1_COMPA_vect)

{

端口C = TP;

TP = ~TP; // 为下一次运行反转 TP

}

并且没有任何东西可以放置或需要在循环下运行。

构建超声波悬浮装置

请注意,对于这个项目,正确安装超声波换能器很重要。它们应该在相反的方向上彼此面对,这一点非常重要,它们应该在同一条线上,这样超声波就可以在相反的方向上传播和相交。为此,您可以取两小块木头或 MD 板、螺母螺栓和胶水。您可以通过钻机制作两个孔以完美地安装换能器。在支架上,您可以悬挂超声波换能器装置。

Arduino

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

Arduino

这是一些超声波悬浮的图片,展示了该项目的工作情况。

Arduino

如果一侧安装有超声波换能器,超声波悬浮或声学悬浮也可以工作,但在这种情况下需要一个反射器作为障碍物,以便它可以在未来的悬浮滑板和反重力运输中使用。

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

全部0条评论

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

×
20
完善资料,
赚取积分