在Arduino上模拟水悬浮



晚上好 在本出版物中,我将谈论我已经计划了很长时间的自制产品。 但是现在才实施。

我第一次在儿童时期看到这种效果。 我被要求在汽车发动机的飞轮上用闪光灯来帮助,保持和发光。 电动机启动,然后我在旋转的飞轮上看到一个几乎不可移动的缺口,当飞轮旋转时,该缺口位于一个位置。 之后,这个想法诞生了,制造了风扇并用频闪仪将其停止。 一段时间后,我意识到了这个想法,我在IFK-120灯上,用带捆扎带的KU202晶闸管玩,把它扔到了最远的角落,但是大约6年前,我看到了一部日本录像带的悬浮水。 因此诞生了用悬浮降落来重复这一技巧的想法。 长期以来,人们的双手没有实现,最后,梦想成真了……

观看我得到的视频:




如何运作


YouTube上有一些视频,他们尝试使用扬声器或动感头将水从硅胶软管中分解为水滴。 但是这种方法有几个缺点。

1-结构庞大(柱,放大器,频率发生器,频闪)
2-低频扬声器由于其机械设计而无法再现曲折,并且在输出端看起来像是正弦波。 结果,水不会切成滴,而是像蛇一样蠕动。
3-频率发生器每次必须适应选通频率。 频率将浮动。

在我的设计中,一切都简单而廉价。 在家中任何人都可以重复这种设计。

它是这样的:

来自汽车继电器的闪光灯和电磁铁以相同的频率工作。 电磁体将水流分解成水滴,然后频闪仪在特定点照亮这些水滴。 由于液滴以等于频闪的频率下降,因此获得了悬挂在空中的液滴的效果。

方案


我手头有KT972晶体管,因此我进行了设置。 您可以提供额定电压至少为30V且电流至少为2A的任何其他晶体管。 晶体管基极中的电阻将电流限制为40mA,以免损坏控制器输出。 我使用的LED元件来自失效的旧LED灯。 为了将元件的电源电压降低到24V。我将元件分为两部分,切割了一条轨道,并使这两个LED阵列并行化。 由于LED元件由短脉冲供电,并且电源电压等于LED上的压降电压,因此我没有限制电流。 与电磁铁并联的二极管可防止电磁线圈产生负辐射。 您可以在拆卸的同一颗LED灯中放一个二极管。 电磁体由汽车继电器制成。 我已经拆除了继电器,所以我不得不将其用于原样。 如果我有一个正常工作的继电器,我将首先尝试将中国魔杖连接到继电器锚。 要在永磁体和电磁体之间留出空隙,可以在它们之间放置一块泡沫,或者将带有磁体的棒移到侧面。 和我一样



电路中使用的组件:


Arduino nano -1个
编码器 -1个
开发板 -1个
旧LED灯-1个
KT972晶体管-2个
汽车继电器-1个
120欧姆电阻-2个

Arduino代码详细信息


我使用Arduino Nano是因为我有很多它们,而且它们完全安装在试验板上。 但是您可以使用任何Arduino控制器甚至Digispark。 编码器使用INT1中断。 如果不按而旋转编码器,则频闪灯的频率和电磁铁的频率将以0.1 Hz的增量进行调整。 如果按进行旋转,则将调整LED闪烁的持续时间,对于摄影师来说,这就是曝光时间。 在这种情况下,频率不变。 为了方便在D13上进行调试,我连接了LED元件控件,但是您可以将所有连接引脚更改为任何其他引脚。 只有您不能更改编码器的引脚D3(INT1)。

Arduino的草图
//   #define CLK 3 // Clock   INT1,   #define DT 4 //    #define SW 5 // switch   #define led_pin 13 //   #define coil_pin A0 //  #define Min 1 //   #define Max 20000 //  #define step_freq 1 //     0,1 #define step_freq_rough 10 //     1 #define step_timelght 100 //     volatile int freq = 250; //      10,     volatile uint32_t paus, time_light=2000; //        uint32_t oldcount; boolean DT_last; //    void setup() { pinMode(CLK,INPUT_PULLUP); // Clock   INT1,   pinMode(DT, INPUT_PULLUP); //    pinMode(SW, INPUT_PULLUP); //   pinMode(led_pin, OUTPUT); //   pinMode(coil_pin, OUTPUT); attachInterrupt(1, encoderTick, CHANGE); //    DT_last = digitalRead(CLK); //   CLK Serial.begin(115200); //   } void loop() { paus=5000000/freq; digitalWrite(coil_pin, 1); digitalWrite(led_pin, 1); oldcount = micros(); while( (micros() - oldcount) < time_light){} //    digitalWrite(led_pin, 0); while( (micros() - oldcount) < paus){} //   digitalWrite(coil_pin, 0); oldcount = micros(); while( (micros() - oldcount) < paus){} //  } //********************  ******************************* void encoderTick() { uint8_t DT_now = digitalRead(CLK); //    CLK if (DT_now != DT_last && digitalRead(SW)) //       ,    { if (digitalRead(DT) != DT_now) //  DT   CLK,      { if( freq < Max ) freq += step_freq; //  } else { //  DT  CLK,     if( freq > Min ) freq -= step_freq; //  } } else if (DT_now != DT_last && !digitalRead(SW)) //      { if (digitalRead(DT) != DT_now) //  DT   CLK,      { if( time_light < paus ) { time_light += step_timelght; } //   } else if( time_light > 0 ) time_light -= step_timelght; //    / } DT_last = DT_now; //   CLK    } 



振子调谐


主要设置是调节水流量。 必须调节水的流量,以便电磁体可以稳定地将水打碎成水滴。 我认为这很简单,您将立即在视觉上理解黄金分割线的位置。 另外,将闪光灯闪光频率设置为对眼睛更舒适。 闪光频率会影响
液滴之间的距离,如果液滴开始破裂而没有同步,则重建水流。 如果要在相机上拍摄视频,则需要将频闪调整到相机频率,以使相机上没有闪烁

接下来是什么?
我打算购买一个脉冲泵,并在此基础上用喷头喷出雨水。 因此,还有另一篇关于“水的悬浮”的小文章和视频。
订阅,以免错过新文章和视频。

提出问题,不要害羞。
我很乐意回答他们

Source: https://habr.com/ru/post/zh-CN411221/


All Articles