看到一些东西漂浮在空中或自由空间中,这正是反重力项目的意义所在,这是非常令人兴奋的。物体(基本上是一小块纸或热胶)放置在两个产生声波的超声波换能器之间。由于这些似乎是反重力的波浪,物体漂浮在空中。这不仅是一个看起来很酷的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主要用于测量距离。在这个项目中,我们将换能器从模块中焊接出来。
根据数据表,该超声波换能器的工作频率为 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 板、螺母螺栓和胶水。您可以通过钻机制作两个孔以完美地安装换能器。在支架上,您可以悬挂超声波换能器装置。
在这种情况下,我使用了两块纸板,然后在胶枪的胶水的帮助下固定了超声波换能器。后来,为了制作支架,我使用了一个简单的接线盒,并用胶水固定了所有东西。
这是一些超声波悬浮的图片,展示了该项目的工作情况。
如果一侧安装有超声波换能器,超声波悬浮或声学悬浮也可以工作,但在这种情况下需要一个反射器作为障碍物,以便它可以在未来的悬浮滑板和反重力运输中使用。
这里还没有内容,您有什么问题吗?
电子电路资源推荐
- STM32F103ZET6官方原理图和PCB.
来源:下载中心
- 大功率变频器及交流传动
来源:下载中心
- 石群电路视频
来源:大学堂
- 模拟电子技术基础
来源:大学堂
- 单片机运行原理的一点点总结
来源:电路图
- 常用的13种半导体功率器件介绍
来源:电路图
推荐帖子 最新更新时间:2024-11-13 15:04
- 求个单片机问题
- 求个单片机编程问题,可简化为:用3号键控制1、2灯 按下3号 1、2两灯谁亮灭谁 抬开恢复原先状态 这个怎么编 求个单片机问题 这是个歧义句,可以理解为: 1、把亮度较高的灯熄灭。 2、把已被点亮的灯熄灭。 如是后者,3号键就是个灯的电源总开关而已。 谁亮灭谁? 假设你的按键子函
- kk910104251单片机
- 2V的电压一旦接到STM32的ad输入口上,电压就会被拉低到0点几v
- 是AD输入口坏了吗 2V的电压一旦接到STM32的ad输入口上,电压就会被拉低到0点几v 你的GPIO确定配置没问题么 weizhongc 发表于 2015-7-20 10:18 你的GPIO确定配置没问题么 模拟输入模式 weizhongc 发表于 201
- wanghladystm32/stm8
- 运放构成的压控恒流源的问题
- 本帖最后由 paulhyde 于 2014-9-15 03:19 编辑 这是我用OP07构成的简单恒流源,第一个运放是隔离输入端对恒流源的影响,但是发现当负载端接上电阻,无论输入端电压 怎么调,J4端电压都没改变,而且负载电阻变化时,J4端电压变化,达不到恒流源效果,请问是为
- 炎魔1206电子竞赛
- 【零基础学习STM32】第四讲:UART通讯实验——控制LED
- 一、概述 1、UART简介 UART:(UniversalAsynchronous Receiver/Transmitter),通用同步/异步串行接收/发送器,由 时钟发生器、数据发送器和接收器三大部分组成。 UART是一个全双工通用同步/异步串行收发模块
- kkhkbbstm32/stm8
- QuartusII管脚分配的问题?
- 我在做的东西是由两个8位数运算,箱子上只有四个电平开关,有个4X4键盘,我设计中运算器都带有寄存器,我能直接用键盘进行输入吗?还有箱子上的键盘是一个管脚地址,在QuartusII里如何给这8位数组分配一个管脚地址呢? QuartusII管脚分配的问题?
- bingfo嵌入式系统
- 疯壳AI开源无人机飞控整机代码走读、编译与烧写
- 一、代码架构 飞控的整体代码工程由8个工作组组成,分别是Ctrl、Driver、VL53L1X、STM32_LIB、USB、USB/Lib、StartUP以及Drv_Point,如下图所示。 各个组的具体的代码功能如下表所示。 组 功能 Ctrl 包含飞控控制类的
- fengke创意市集
- PIC和430哪个更好
- MSP的问题(新手)
- 超级电容器贴近我们生活吗?
- 模拟电路的频率响应
- 【转帖】科普之加速度传感器原理与应用
- 【显摆MSP430作品】获奖名单!
- 将Altium转换成99se的问题
- 电磁感应式无线充电与磁耦合谐振无线充电的区别
- 学模拟+《运算放大器噪声优化手册》
- 希望各位大佬能帮忙解决我在温湿度检测程序中始终无法正常运行的问题
- 【设计工具】Virtex-5 PCB 设计指南
- 2016年安徽电赛
- 程序问题
- 选型一个升降压的方案
- 机器崛起:遗失的控制论历史
- wince不支持ReadString,用什么替代它呢?
- DSP2812资源整理贴----9.2更新
- 基于ESP32路标识别智能车
- 什么是单片机呢?
- 中国标准的电波钟信号模拟器