如何退出逃生室

本文部分是对假设的警告,但不排除开发人员可能会感到自己的所有弊端,部分是试图解释客户可能希望从您那里得到什么,部分是对错误的工作或对“愚弄自己”的认识。 警告:DotA前面的行话是:“我不是怪胎!”,以及在没有垫子帮助的情况下进行熟练的演示。 继续阅读,您可能会冒这样的风险,认为作者是一种绝对排斥的动物,不懂怜悯,恐惧和怜悯©。 只是想当然地认为,每个人都有不完美的权利,一切都会好起来的。 请,谢谢。

逃生室的自动化工作已经完成,按照惯例,将省略其详细信息。 这项工作持续了一年多,由于缺乏经验,最初确实存在明显的缺陷,但随后一切都变成了非最佳管理。 客户(称他们为Goodwin和Urfin)主要从事该项目的装饰部分,在我们专注于逻辑和实现本身之后,往返于此,因为门和对象本身已经准备好,因此我们必须确保他们感动了。 时间开始消磨,在某个阶段,我们每天睡了5个小时。

当然,为了保持机密性,有必要模糊细节,但这对我来说太难记住了,不会成功,因为我5个月前停止了任何工作。 每天有足够的工作要做,可以让我用钝刀打开带些刀鱼的铁皮罐头,而且茶袋非常紧凑,垃圾箱很高兴每两周见一次我。 我的房间变成了通风井,电影《异形》中的丽贝卡住在其中。 您也可以选择“异形2”。 如果有人不记得了,那么这里是一个屏幕,上面有很多垃圾:

丽贝卡the

触发事件; 令我在聊天和淋浴中写“ gg”的事实并非如此。 我刚被一个清晰明确的想法拜访:我需要长时间休息。 我手机上的发射器进入飞行模式已经四个月了。 面对面,联系方式和论坛的请求统计中的相同的4个月中,我的cookie数据可能以某种方式出现在该漏洞上。 没有人可以通过任何渠道与我联系。 我只是坐在一个嗡嗡声的房间里,一边吃炖汤一边滚滚滚来。 我知道犯规是职业,但我至少有时间实现完美。

总结整个项目,我可以立即指出其主要错误-缺乏系统的方法。 我知道太空漫游使用了特殊的接口板,该接口板提供了与TCP / IP的外围交互。 我没有这样的开发板,只有几个Arduino,最终需要一些完全简单的东西。 正如微控制器所说,我们试图将所有可能的事情减少到简单的0或1的组合。 这减少了在Mega2560上组装的中央服务器的负载,以便以最小的延迟在Web上接收和发布信息。 任务的逻辑从Wiring重写为JavaScript,但这导致了刹车,因为JS在非RTOS系统上运行,结果,逻辑随后被重写为其自己的格式(xml,指导Java应用程序),尽管通常天真地相信这一点。这提供了一些帮助,因为它仍在Windows环境中运行。 通常,在这项工作中通常会重做一些看似已调试好的东西,突然出现一些装饰物,最初是写这篇文章的。 但是现在,关于逻辑的实现是由Java中的应用程序执行的,更确切地说,是这样做的原因和先决条件。

为什么用Java而不用JS? 我不知道,它是由另一个人写的,显然他更熟悉这种乐器。 从Whatsapp小组收到有关我未能出庭澄清细节的消息后,此人用手将头颅的Picard图片发送给了小组,但如果他知道那一刻我绝对不在乎-我认为他可以理解。 我们将尝试弄清楚它是如何发生的。 现在,彼此之间可能的咆哮不再令人讨厌:“它们不足,不遵守要求,不符合操作标准和规则,将设备置​​于不可接受的模式,用每句话来质疑我的资格”,“他不足,不称职,无法完成项目也许会破坏截止日期,不断修改,某种不像其他人那样的自制产品,等等。

生气和足够。 古德温和乌尔芬仍然是食尸鬼,但我最后想到的最后一件事是故意破坏他们的生意。 我不会获得任何好处,但是尽管有这种伤害,但那不是为了共同利益。 那么为什么让世界变得更糟呢? 我认为,在为我着迷和安排反广告这一任务方面,他们的优先级并不是特别重要,因此没有人可以与我联系。 不太可能已经设置了这样的任务。 经验是一位严厉的老师,您需要找到继续前进的力量。 最重要的是利用这种经验。 这次体验的一部分,至少是我能记住的-敢于希望,我会传达给您,亲爱的读者。

我们很少用淫秽的东西互相掩饰,但心情还是很一般。 为了不发疯,我不得不使用所有可能遇到的最困难的工作-VJLink指南和Karina流。 是的,是的,我提醒您:我不是怪胎,我只是动物。 当然,我知道这两个是临床不良反应:不要以为其中之一是我的灵性导师。 itpedia更适合担任此角色。 但是,我们以某种方式分散了追求的兴趣,沿着思路的想法归结为“是的,在结束时尽可能多地再次看到它”。 通常,以最讨厌的方式反映出对任何项目缺乏热情。 当团队中的Slark为0-7时,谁需要出汗? 就是这样:如果每一项任务,每一个已实施的解决方案都在小故障中遇到您,那么所有希望都将化为乌有。 请坐下,我将分享一些有关如何防止这种情况的想法。 另外,我希望在评论中看到更多这些技巧。 任何经验都是主观的,但是大量的先例可以使他们进行概括和分析。 要学习。 我犯了很多错误,但并非所有可能。 可能是其中一位读者遇到了其他问题,但总的来说类似。 分享您的经验,一切都会感激您。

我的规则


  • 所有传感器都必须有指示。
  • 所有比较器必须具有迟滞。
  • 所有扭曲必须焊接。
  • 所有电源线必须较粗。
  • 所有信号线必须屏蔽。
  • 所有电压高于40 V的电线都应具有比仅钝线更好的绝缘性。 220双绞线或面条-Moveton。
  • 所有输出必须具有集电极开路/漏极开路。
  • 所有输入必须通过电流环路/光耦合器接收信号。
  • 所有执行异步接收和发送的设备都必须具有一个复位脉冲整形器和一个看门狗定时器,以便随时可以接收。
  • 所有开关设备必须具有火花抑制电路。 特别是继电器,粘性触点不好玩。
  • 任何重于公斤的机械师都喜欢变速箱。 那些不带变速箱就将发动机直接放在砖头上的人知道:撒旦的手会超越任何人。 只是该死的:3
  • 所有电感性负载必须具有反并联二极管,以抑制自感性EMF。 如果电流可以双向流动(自动执行器,电机等的开/关锁)-而不是二极管,则电容器为0.1F。
  • 电阻,晶体管和光耦合器并不是多余的。
  • 这种电阻并不是多余的,尤其是在有ISP连接器的地方。
  • ISP连接器必须不能倒置插入。
  • 电池不喜欢深度放电。 不管怎样
  • 废旧电池-特别是。
  • 像谢尔盖·西蒙诺夫(Sergei Simonov)一样,石英的稳定性很好且良好。 在时间紧迫的应用中激怒555是邪恶和消极的。
  • 电缆总是比收音机更好。

运动传感器,测距仪,簧片开关和传感器不是存在传感器


尽管它写在产品说明HC-SR501中,但不是。 它不会检测到存在。 它确定了干涉图样中的干扰,传感器通过菲涅耳透镜可以看到这些干扰。 此外,有人在某个区域中的存在是由红外光束的中断,狭窄的焦点以及随后的保留所决定的。 它最初打算使用超声波测距仪。 不幸的是,对于测距仪而言,房间的墙壁是用涂有底漆的聚苯乙烯制成的。 反射是可怕的,此外,在另一端,拐角处还有第二个测距仪(是的,阅读器,我们被限制使用标志系统并禁止两个传感器同时运行,但仍然可以)。 通常,这些传感器的读数只有通过有趣的偶然性,恩赐或“温室”条件才能接近事实,当时的辐射器不是指向工作室,而是指向侧面的某处,在背景中有一张木桌,一块软布或不光滑的东西,有效吸收。

不幸的是,没有时间购买红外测距仪进行购买或测试(尽管此时被告知)。 因此,一堵墙的IR接收器和另一堵墙的LED被围在房间的边缘。 没有开玩笑使它们可见的原因,因为它会破坏大气层,这就是为什么不使用障碍传感器(黄色,背面带有可变电阻)的原因,它们工作得很好,但前面的LED发出的红光如此红类似于IR,但不完全-短于808 nm。 大概是780。通常,您可以将它们视为相机中的背光。 此外,范围不足,通常只能确定45厘米以内的人,因此,我必须走自己的路。

VS1838(顺便说一句,仍然需要它们)和TSAL6200参加了会议,它们被插入了塑料销钉制成的管中。 它没有用。 在机器人飞机中(对不起,不考虑用于广告)出售了两个输出的红外光电晶体管,它们看起来像一个透明的LED,它们的价格为15卢布左右,当用780-1000 nm的稳定未经调制的光照明时,其电阻会急剧下降,因此有必要使用他们。 但是他们已经一年没有买了。 但是我有一堆VS1838,是从中国家用杂物间的家用灯具上扯下来的,他们不知道-这是TSOP1738的体积小,灵敏度低,便宜的类似物。 众所周知,1738包含一个解调器,一个滤波器和一个AGC。 因此,在它们中不可能散发出未经调制的光,因为传感器将仅仅是背景照明。 通常,将所需频率的脉冲突发发送到LED并不难,您只需要使用直接输出到端口(因为digitalWrite()对于这种情况来说太慢了)和delayMicroseconds(27)。 27μs约为传感器所载38 kHz载波的一半。 但是,不能仅仅以38 kHz的频率拾取和发光,这样的AGC信号被认为是噪声,因此,有必要将38 kHz分成脉冲猝发,以使信号不会截止。 奇怪的是,没有观察到相邻传感器的寄生照明(总共有六个传感器,它们之间的距离约为35厘米),亮度也没有特别下降,这也导致某些传感器的灵敏度被低估了,但是尽管如此。 不行 镭 伯 那一个 喂

我们可能会对此主题感到困惑,讨论该程序的非最优性(因为为什么然后为什么在其中选择了干扰传感器的诊断程序能够完美而完美地工作?),但这超出了本主题的范围。 我只能说我很少犯错误。 如果我将六根信号线捆扎成一束-我知道:它们的输出是集电极开路,在束中它们不会以任何方式相互影响。 我知道每个传感器都有一个与电源并联的0.1 F电容器,每个LED都有自己的独立电阻,几个LED并联悬吊在一个电阻上,只完成了一次。 因此,我们不再赘述,必须使用光电晶体管并将直流电施加到LED上。 仅此而已。 另外,每个管中都应避免杂散光斑。 它可以工作,只是在某个阶段没有做出必要的决定。

RFId不是永恒的,在思想上不是无限的


RFId接收器有自己很小的读取区域。 对于好的接收器,它约为7厘米;对于较差的接收器,它约为4厘米,线圈可以重新绕线(主要要考虑的是谐振频率与125 kHz的相距不会太远),但同样要注意-不能达到任何尺寸。 但是,可以将其直径增加2-2.5倍。 该动作涉及三个自治对象,这些对象可以位于需要标识的任何位置。 其中两个项目的大小分别接近ATX电源的大小,线圈直径的计算单位为几十厘米,因此我不得不拒绝使用RFId的选项。

同样,IR通道不仅没有使用如此强大的LED,而是更弱了(相反,有必要仅在接收器附近接收信号)。 在其中一个物体中,由于物体是圆形的,所以围住了11个LED,它们以各种角度发光。 另一个有一个木制手柄,因此只有三个LED,因为不需要朝着手柄的方向发光,所以它仍然会粘在没有接收器的地方。 第三个主题足够小,也许在他的情况下,甚至可以再次关注RFId,但是尺寸仍然与阅读区域无法比拟。

所有物品均由18650电池供电,容量为2000至3400 mAh。 凡2000年使用。 IR的原理很简单-我们等待很长一段时间(几秒钟),发出38 kHz方波的信号要比毫秒长一点,以便接收器工作并在输出端给出一个清晰的零。 重复品尝。 最初,这是由两个555x计时器完成的,当然时间爬到了无处可去的地步,当然他们忘记了将其关闭,但计时器始终想吃东西,而且他也不需要使用20 mA的电流,自然地,两个用过的银行都不喜欢它。

必须打开物品(是的,僵尸的硅树脂肢体,由铸铁制成的F1手榴弹,没有任何接缝,请自己考虑一下),尽管它并不需要花费很多时间。 好了,总共运输了一周。 计时器被atmega8取代,IRRemote代码不适合那里(尽管很有趣,经过一段时间我设法组装了一个发送的草图,并且编译器没有显示所选atmega8的任何错误-也许那时我已经有了该库的新版本)。 为什么是8? 好吧,便宜,再加上328无法使用。 该程序只是发出具有所需暂停的脉冲串,然后在7000秒后进入睡眠状态,将所有输出置于高阻抗状态,并关闭所有可能将电流消耗降低至数十微安的方法。 它可以解决问题。

在接收侧,三个传感器触发三个条件。 脉冲到达后,计数器开始计时并保存时间戳(毫秒)。 如果下一个脉冲到达同一传感器,并且计数器达到n1-第一项,n2-第二项,依此类推。 如果n足够大并且仍然缺少信号,则显然信号是随机的,计数器将复位。 我不认为这是某种巨型超级算法,但是它解决了一些问题:

  1. 对于一个菜鸟来说,将大量(即不止一个)红外接收器连接到一个控制器上并不是一项任务。 是的,即使在mega2560上也是如此。 是的,有一个IRRemote的多传感器货叉。 单个传感器和一个自制的条件系统-更容易。
  2. 在atmega8中编写IRRemote代码存在一些问题。 是的,您可以编写一个RAW数据包,从中形成一个数组,然后再次发出低级功能和微秒级延迟,但是有些事情太懒了。
  3. 传感器很长,您永远都不会知道。 长超过两米。

DC-05连接器(Arduino电源连接器)使您可以重置倒计时时间-如果将连接器插入其中,则三个触点中的两个会断开,从而切断电源。 第三项没有连接器(对此太过真实了),但是复位也没有引起任何问题-电池是从TP4056充电的,它具有CH引脚,其零表示充电过程-已连接到复位。 TP4056通过线圈无线接收能量-我们将其放在充电座上-就像插入连接器一样,一切都重置了。 已移除-放电未拉到地面,可以考虑使用脉冲。 数不清-长时间沉睡; 要禁用电池,您必须忘记为该东西充电一年。 然后,它是可折叠的。 这些项目是最成功的解决方案,尽管有一些舞蹈,但几乎立即就解决了。

kes! 无效的设备签名。 仔细检查连接,然后重试,或使用-F忽略...


我所有实践中最卑鄙的错误。 你不知道这是怎么回事。 这是我中出现的情况:

  1. 导线MOSI(D11),MISO(D12),SCK(D13)的顺序混合在一起。
  2. 代替22 pF的电容器,在石英附近焊接了其他东西。 曾经是一个1k电阻,而不是其中一个。 焊接题字下来。
  3. 所有六根电线必须完好无损。 务必随身携带测试仪(例如连接器),始终从连接器向右敲击控制器的脚(没有人可以消除板上的道路缺陷)。 甚至从主控制器(在编程器中)到从控制器的脚。
  4. , 12 7805. 7805 . , 6 , .
  5. .
  6. , . mega328 hardware\tools\avr\etc\avrdude.conf:

    # signature = 0x1e 0x95 0x0f; #tqfp32 # signature = 0x1e 0x95 0x14; #dip28 

    用我们的工作,然后不加评论。
  7. 保险丝安装在外部石英(大于8 MHz)上,实际上没有。 这里总是有一条围巾,上面有石英,两个电容器和三根电线。 另外,请始终在板上包含连接XTAL1和XTAL2的焊盘。 即使电池绝对处于8 MHz, 即使“仅闪烁一次,您也无法忘记它”。 尽可能地。
  8. 纯粹的███ing魔法? 另一块完全相同的板再次组装成功。

光的可信度


请勿使用三色胶带进行火焰燃烧。 火焰含有不同比例的黄光或红光。 仅此而已。 尝试结合使用R + G来获得黄色-火焰将变为绿色。 尝试通过添加“白色”蓝色来增加亮度-如果黄色足够,火焰将是蓝色,蓝色或紫色桃红色。 不必将冷色用作原色的组成部分,通常,在此磁带中,物理上不应有绿色和蓝色的LED。 完全不是这个词。 这个决定是最不成功的。 极有可能的是,固特温(Goodwin)和优尔芬(Urfin)固定装置中的胶带仍然决定更换。 那里有足够的通道,这也由atmega8自推进器控制,实际上是Pro mini板,它同时具有三个功率晶体管,用于兼容PWM的输出。 最多的是两条黄丝带和一条红色。 这三个都是随机的。 可惜的是,噪声二极管上的容忍RNG电路没有引起我的注意,尽管atmega8伪随机对象看起来是可以容忍的。 但是胶带中没有绿色。

频闪灯


在任何情况下,雷电都是一种高贵的现象,无论如何都会增加气压,但并不像看起来那样苛刻。 与用胶带以毫安电流脉冲的单个10 kV闪光灯点亮相比,用胶带(80米,在12伏,几乎为1.2 kW,96安培)粘合的1x1 m正方形通勤要容易得多。 怎么了 因为干扰是宽带的。 闪光灯闪烁时,频闪灯将尽可能地闪烁灰色,在整个光谱中将看到清晰的条带。 快闪 如何删除它尚不清楚。 通过电涌保护器连接的闪光灯将W5100和arduino安全悬挂。 关于这个主题的唯一成功的实验是使用电池。 有两种方法可以将频闪从主网络上解开。

方法一:

  1. 我们打开闪光灯,为工作电容器充电。 两个继电器,有必要从插座上切断两条电源线。
  2. 我们断开连接。
  3. 我们通过无线电或光耦合器向点火线圈施加电压。

第二种方式:

  1. 我们将选通电源重新建模为低电压,以使其完全不连接至插座。
  2. 我们通过无线电或光耦合器向点火线圈施加电压。

频闪仪必须仔细屏蔽。 为了防万一,通常在点火变压器周围焊接一盒箔材料。 而且事实也不会再挂在您身上。 同时,功能强大的现场工作人员可以在高达100 kHz的频率下正常工作,以100 µs的速度打开80米的磁带-可以,就像两个手指一样……嗯,总的来说,我不能选择正确的表达方式,主要是要收藏电容器,以防止PSU磨损。 并且干扰将是低频的,并且更容易过滤。 扼流圈,电解质很好,总的来说,您会明白的。 我知道这不是比闪光灯贵的示例,但它更容易使用。

调光器220


创作者可能没有遇到这种情况,或者他们只做过一个通道,而在网络上却以某种方式忘记提及来自一个相位调节器的电压可以流入第二个电压,如果它们在附近。 它由网络过滤器处理。 在微波炉中,它是如此铁,在外壳上写为EMI滤波器。

增压空气传感器


传感器很简单,它是由镀锡箔玻璃纤维制成的活动窗帘,其运动受到鱼胶的限制。 为什么不用橡皮筋赚钱呢? -钓鱼更持久。 空气通过直径约2厘米的管进入。也许,带有编码器/磁铁+霍尔传感器,压力传感器等的叶轮可能会进入此处,但无法使用(大声笑, 已经过去了一年 ,到目前为止,我正在燃烧它关于可用性的借口),好吧,我想将传感器制造得尽可能的像橡木,以便长线可以穿到它上面。 您知道,在本课中,“将SPI或i2c拖到距离公寓7米(七(七)米)的地方,这不是很愉快”。

我通常认为传感器是成功的,但是它有一个缺点。 可以说,此缺点在于信号的特殊的时间(即时间)分布,即ADSR包络。 有多种选择,空气将如何精确地进入传感器,如何吹入传感器。 您可以吹很长时间,也可以短暂,经常/很少等。 因此,我们需要一个准确的时间范围,将传感器的触发限制在那些情况下,并且仅将零触发的情况持续一段时间,在此之后零应该成为一个单位,并且不少于一段时间。 看起来似乎有两种情况,但实际上,选择这些帧非常困难,并且相差大约100毫秒会改变传感器的响应逻辑。 当然,在爆炸模型期间,没有示波器可以获取必要的读数,然后再为它们调整条件系统。 一种或另一种方式,设置需要花费两到三个星期的时间,并且那里没有特殊的技巧。 即使电线也没有撕裂。

讲电线


在大多数情况下,这是带有铜箔屏幕的镀铜铝双绞线STP。 以前有一对铜UTP,但是几乎所有的都被屏蔽了。 首先,由于某种原因,泄漏停止在传感器上,这先前导致了错误警报;其次,它是如此的平静。 真正的双金属,但是哦。 在我之前,与该项目合作的技术人员允许愚蠢的次数-他花了所有的时间与他的UTP对。 包括最初是220盏灯的电线,然后将长螺纹的灯放在那儿,消耗的电流很小,原则上,原则上,如果您不对安全性有所怀疑,那是允许的。 但是Goodwin装有Urfin灯的灯无法工作,我们用胶带代替它们,提供了12条而不是220条。由于已经安装了灯,所以有一个E27弹药筒,我们在mega8上做了几条围巾,被撕下的这些脚底被撕掉了。配有节能灯。 一切似乎都是这样,但是在墨盒的一堵墙中有一个极性,在另一堵墙中是另一个极性,当灯混合在一起时更换失效的7805很有趣。 从那以后,碑文就用烙铁烧在上面。 然后,Urfin和Goodwin想要控制这些灯,并且有趣的是,向他们解释了如何以及在两个电线上控制多少个通道的控制选项,其中两条是电源线。 他们以某种方式窃笑,但没有争论,这对他们的业障是一个加分。 我们将回到这一方面,但现在让我们继续进行讨论。

总的来说,许多有趣的决定都与它们相关,因为所有事物都是同时建立和关联的,我知道所有事物都是为了让房屋画家Petya(他不应该抽烟和愚蠢)来等待泥瓦匠Vasya的缘故,但更多假设可以提出更多的问题。 这样的职权范围是在工作过程中产生的,但是我们将其归因于贵族和缺乏经验。 其结果是:8米长的磁带,这是一分钟,几乎10安培,由UTP对的一个核心供电。 值得称赞的是,它可以承受这样的电流(破坏者:不是全部),甚至不能承受高温,而这只能归功于调制方式,以及真正的整体式铜,没有任何双金属。 但是,如果调制停止并且场快门上只有一个调制,则场无关紧要。 经过一个小时的处理后,绝缘层将融化,来自奥兹魔幻之地的家伙会很乐意捡起电线,因为它是地板上的混凝土。 好吧,他们不知道将来他们会决定在那里贴这么多的磁带,不会与他们发生这种情况。 当然,一切都需要从70厘米的强度中拉出来,但是...

后来发现有些电线根本没有必要。 电线的一部分是用于摄像机(当然不是IP)和麦克风的同轴电视电缆。 当我们决定稍微拖动DVR时,结果是需要增加摄像机和麦克风的电缆。 结果表明,试图将其强行推入波纹的电缆通常会在焊接处断裂。 一些双绞线在我面前离婚了,然后埃米特·布朗博士决定将一根电缆中的坏处做成蓝色和棕色对,将另一根电缆变成蓝色和绿色,这是很棒的。 我习惯于解绞双绞线,使所有白色线为负号,加号为所有彩色线。 好吧,您知道,很难混合极性。 后来发现悬空的被咬电缆的极性-那只是一首歌! 特别是当另一端连接的电阻为几欧姆的电动机时,无法通过电阻来区分短路与非短路...通常,一个月后,可以通过系统中所有电缆的电阻以及内部连接了颜色的电路进行口头测试。在一起。 这甚至没有写在表中,而是被驱赶到皮层下,因为他们开着士兵,然后在深夜,他们询问机器的序列号。

声音子系统


WTV-020SD16P未登录。 他没有读过任何TF卡,根本没有明显的迹象表明它可以工作,没有给出可理解的结果的例子。 另一种选择是带有TMRpcm库的atmega328自走炮。 我不喜欢信号的幅度,他们试图减小PWM输出上的电阻,减小后减小328,是的,吠叫。 他们说,通常将其连接到这样的放大器,然后再更改为这样的放大器。 不满意。 这些切尔尼克人中的一个甚至都说出了一个绝妙的主意,那就是将一个放大器(一个中文扬声器)串联到输出,在扬声器的输出上有两条线-第二个放大器,这是一项艰巨的任务:将一个简单的信息传达给它的头脑清晰“老兄,你只是烧毁入口。” 在漆黑的夜晚,噩梦折磨着我,我冷冷如汗地醒来,只有一个念头:如果他不相信我怎么办? 一桶幽默,我不在乎。

总共有6个声源,其中一个房间有1个低音扬声器和立体声,因此我们可以随意称呼这4个可听到声音的区域。 前三个仅代表各种5.1声道,并通过计算机发出声音;低音扬声器的最后一个声道不够。 有一台计算机,一个小扬声器和一个大扬声器,它们隔开2.0个不同的声道​​(立体声)。

当计算机启动时,Firefox在该页面(页面)上的Firefox上无限循环,并向同一计算机上服务器提供的PHP脚本发出AJAX请求。 应外部对PHP的请求,他应页面AJAX的要求向文件中写入一个数字-如果数字与前一个不同,他说该数字-AJAX(更确切地说是howler.js)播放声音。 取决于声音的地方,在右声道中的某些声音中,完全静音,是针对一个扬声器,在其他声音中,对于左扬声器,则是静音,对于另一个扬声器。

电脑很旧,忘记了一些使他可以在几个小时内通过WOL唤醒的事情。 也就是说,如果您将其关闭,并且即使在电话中(至少从另一台计算机)在可预见的时间内发送WOL数据包,计算机也将启动。 一天过去了,他不再这样做了,因此,必须将两根电线拖到他的电源按钮上。

其余的声音对我来说仍然是个谜,早些时候它也可以使用howler.js从HTML播放,然后一个新人将VLC播放器库改编为其Java应用程序,现在不知道。 我本着“有咆哮的服务器-拐杖解决方案,mp3防护罩在哪里?”的精神理解了这些评论,当时我还没有买主意,当时,除了“这里有5个WTV020播放器,这里是闪存驱动器”。 事实证明这是一个可行的解决方案,我认为这并不比mp3屏蔽更糟。

命令子系统


现在,它代表两个中央处理器,传感器/执行器通过长线连接到该中央处理器。 长-这意味着超过两米。 如果承包商-通过IRFZ48N或继电器板,或更强大的继电器(60A),则双向可控硅+ moc3021 / 3051上的电动机或相位调节器。 如果传感器通过光耦合器,则传感器的接地与Arduino的接地无关。 电线的长度最大为20 m,无论是电流回路还是绞线,以承受强大的负载。 为什么不马上为他们分开DMX / RS-485,对我来说这是一个谜。 但是,这就是事实。 以前,它们是由nRF24L01 +收发器网络远程控制的。 收发器协议包括一个设备代码,一个操作代码,甚至是一个该死的祖母,甚至没有任何冲突,但是它在以太网环路中正常工作。 请求经常出现,因为Urfin和Goodwin希望最好实时地查看操作员计算机上的状态,因此首先在HTML界面中放置了一个无限循环,然后在Java服务中不断地从两个控制器轮询状态。 自然,在控制器参与网络的那150毫秒中,他对收发器不感兴趣。

有两种方法可以使此子系统更好。
首先,您可以停止轮询周期并仅通过更改传感器读数来发送状态。 为此,您需要一个可以向计算机发送信号的发射器(例如,一个ESP8266串行wifi,它发送PHP请求)。
其次,可以将系统划分为单独的设备,每个设备都可以直接与计算机通信,但这需要从传感器到引擎的所有设备上的网络接口。 假设几个设备在地理位置上集中在某个门附近,但是它们将需要两个以上的设备。通常,从对“太空漫游”的追求中制作一个TCP / IP外围设备卡。 这样的板是最好的解决方案。

面向过程


这个理论不属于我,我什么都不坚持。 在我的想法中,没有人质疑Goodwin和Urfin的业务质量,但是他们做出的具体决定表明他们打算尽可能延迟项目的交付。 它主要涉及实施。 最史诗般的,这也许是直接将所有连接到arduino机械的迹象,这些都是40x2.54的塑料塑料销。 尚不清楚为什么在焊接到板上的焊接更可靠时执行此操作。 我提醒你,双绞线已焊接。 这实际上很困难,并且可能会跳出连接器。 请勿将其焊接到棉签的销钉上,否则会脱落,因此必须焊接酸。 那么在焊接处必须通过热收缩将其封闭,这是您永远不知道的。

以前,所有设备(或者几乎所有设备)以及连接器和光耦合器都位于交叉板上。 这是我做过的最大的木板,尺寸为305x405毫米。 不幸的是,锡纸是中文的,因此锡纸层只有18微米,镀锡只是一种职业。 由于尺寸巨大,需要进行任何改动才能完全抬起它,因为有40多个连接器,每个连接器至少具有三根电线,并断开所有连接器以将其卸下-最好立即咬住头部。 在那里焊接任何东西都非常不舒服,因为板子烙铁上方 。 此外,尽管已验证了所有接线,但连接器中仍存在错误。 不到一个月的时间,这个交叉板最终被废弃了,尽管将带有传感器的艺术家连接起来更为方便。 这是第二个最不成功的解决方案,第一个是并保持胶带中的绿色LED(模拟火焰的光)。

如果我们立即知道将所有逻辑都放置在路由器/计算机的紧邻处,并且仅将电线拖到终端设备上是更合乎逻辑的,那不应该为提供本地控制器而设想的-可以更早地完成工作。 但是,我们没有经验,很可能专注于流程-从逻辑上讲这是遵循的。 我不同意这种观点,我认为所有尝试和测试的选择都是一个或多个,因为它们揭示了许多不成功的解决方案。 如果我继续从事休息室逃生室的工作,那么我们的经验将对其他阅读本文的人有所帮助。

一方面,我根本无权谈论这个话题:没有我,我们敌人的宝座就被打破了。 但是,他们的某些决定使我特别烦恼,这违背了常识并且将成本降到最低。 如果您雇用我做一些决定,请不要争论和怀疑。 如果我说一个放大器的扬声器发出的信号不能反馈到另一个放大器的输入,那我就有理由了。 如果我说RFId的阅读区域不够,那么我有时间检查一下,我没有说什么。

我的工作被抛弃的那个人


在第八个月,另一个角色加入了我们的项目,我们将其称为伐木工人。 他可以使用一些工业传感器,并且某些设备的设计和逻辑都发生了变化。 到那个时候,已经开始把它彻底地交给我了,而我一般都需要他的干预。 相同的6个红外周长显然无法正常工作,却执行了存在传感器的功能。 与Urfin和Goodwin不同,至少可以与他进行对话,因为他将百叶窗与阻力区分开来,我两个人有时甚至敦促我不加麻醉地拔出他们所有的牙齿。 , , . , , , IRRemote. , - . , . , , .

— , , , . , , KY040 , - PighiXXX, step/dir. , , , , , 265 , . , , , , . , , . — . , — KY040 , - , 0.1 , , . . , , .

, , , - , . , , - (, , , HTTP- ). , - , pro mini, Serial0. , Serial1! , . - , -, (? ? ?), , . , , .

, . - , , — . , , , , . — , . , — , . 仅此而已。 , — - . — , .

错误处理


— . , :

  1. , ( , , ) PoE.
  2. . , , - . — - — — . , .
  3. . ? , / , . ? , , .

« » — , , — ? random() . .
, , . , /, , , . , SPI . -. — , .

因此,最重要的是使艺术家可以直接访问计算机,反之亦然。也许通过Modbus。也许是DMX。但是界面越近,将来的痔疮就越少。最本地的是TCP / IP。我建议您不要滥用ESP8266,即使您确实愿意。有机会铺设电缆-使用电缆。

, . , , . ( ), . , /. . . : - , , — , , . , , . , .

. ISP-, , MOSI/D12. , , , — . , . , , . . — 100-300 ? , . , . .

— . , , LM393. , , - , . , . / , — . , .

watchdog , . 4 . , , , ( , / . ., ) . , , . / , — , .

, :

0.1 . , . . , , 100 nRF24L01+, ESP8266, ENC28J60. , . — . , . , - . . atmega8, . Atmega8 Attiny85/2313.

LiIon NiMH — : TP4056 , , .

, (, , , , , - /), . , , , , . , / . , — 555 . RC- -.

— — . ISP, - optiboot.

Arduino突然有能力成为MIDI设备。如果您需要计算机上的声音,最好将其显示在VST播放器或乐器中,而不要出现在Java语言下的浏览器中。如果本地声音不可能/不舒服,就这样。VST犁和主机现在下地狱,包括免费。

心理方面


— . : — , . , — . , , , // . : « , ». , , .

, . . /, , - . , EEPROM, 1602 , .

, , - . , . .

. 100- 40- . , . , , . , . — , ?

, :

  1. . ? .
  2. . , , , . , .

, , . , , . , , , . .

FYI: , . . ISP , — , — , /. , , , , . , .

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


All Articles