在一个为所有问题提供现成解决方案的世界中,您的方式





我成为了新表的骄傲拥有者。用皮带而不是手表来调用带子的计算机可能更正确,但仍然如此。在床上方的卧室中,有一个LED灯带,该灯带由遥控器控制。像往常一样,当您需要它时,遥控器始终在任何地方,但并不在手边。“还有什么比手表更接近您的手的?” -我想着并开始像在玻璃上的苍蝇一样摩擦我的爪子。



这个故事不是关于如何逐步做到这一点的另一种说明。这个故事是关于您如何在众多的行进路径中找到自己的路,放弃了现成的说明和解决方案。



当有现成的答案或一切准备就绪时



在互联网上走来走去,我遇到了一个讨论,提出了创建自动储物柜的问题,当将手放在传感器上时,该储物柜会滑出。讨论的背景是解决与用手触摸柜子,然后洗手等相关的问题。是的,是今天的话题。令我惊讶的是,不仅提出了解决该问题的几种解决方案,而且还链接了组装说明,甚至是可以从中国以一分钱订购的现成套件。



顺便说一句,在阅读本次讨论时,我的脑海中出现了一种关于家具的新恐惧症,它故意(汽车起义等等)打开了下层搁板,使我用小手指敲打它们。



但是,我很快就想起了一个事实,那就是我生活在一个非常有趣的时代,因此,对于“自动滑动柜”已经有了很多说明和现成的解决方案,我并不感到惊讶。每个问题都已经解决了很多次,并且可以在短时间内以很少的钱获得信息和资源的时代。



我将从一些关于不必要的事情的题外话开始我的故事,因为 这个故事与话题直接相关。



不必要的事情



对于我的“宠物项目”之一,我需要几十个简单的Attiny45微控制器。选择这些特定控制器的原因,甚至项目本身的本质,都不会以任何方式影响叙述,因此,我不会在此赘述。既然我们谈论的是几十个,我不想多付钱,而是借此机会在一个受欢迎的中文站点上订购了我需要的硬件。自然地,“廉价滑板者支付两次”的规则并没有花很长时间,因此我想到了:



  • 15 Attiny12
  • 两个attiny45
  • 标有Attiny45的23个<something else>单位。


这笔钱被退回了,我只剩下很少的Attiny12了。我把他们推迟到更好的时候,因为 微控制器本身非常有限,很长时间以来一直没有得到制造商的支持等。但是,尽管如此,我还是决定“我们将在一项壮举中定义一个可耻的疾病”,我们只需要一个“简单”的任务……



就已经是万圣节了,可以做一些主题化,简单化的事情,并用自己的双手创造一些东西来娱乐自己。前段时间,当我将灯泡更换为节能灯泡时,我想到了如何使用旧灯泡。我想到了一种“扔掉”的明显方法,但是我把它们放在遥远的壁橱里,想到了“如果有用的话”。因此命运带来了一个不必要的微控制器和一个不必要的灯泡...



不必要的东西的新生活



我不会破坏(在本文的第一张图片之后,如果还有其他东西要破坏的话)我想到的是什么想法,因此,我只向您介绍实现方式……



我看到了灯泡的底部并拉出了“内壁”。然后,我焊几个LED灯泡,使一个新的螺旋出他们的:我







从里面画的灯泡,使其看起来较旧的和隐藏一个小的事实,灯丝现在由LED组成,我插入一个新的“线程”到灯泡的灯泡:







这里赶来救援Attiny12,少量的ASM代码和用于3d打印的简单模型:







结果是这样的冰箱磁铁:







因此,尽管没有用,但我得到的却是一件有趣的手工艺品,它给了我数小时的创造力和使我欣喜若狂的一切。总的来说,对我来说重要的一点是:



  • 尽管可以使用现成的3D模型,但我还是自己做的。
  • 我使用了一个微控制器,该微控制器要求编写ASM代码,这实际上是我很多年没有做的,这是非常有趣的经历。
  • 我用的东西只是浪费了壁橱里的空间。是的,我知道现在它已经无用地占用了冰箱上的空间,但是却让眼睛感到愉悦。


回到手表,灯光等



既然假期的主题已经触及到了,那么我偏离主要的故事了,看来您可以回到时钟和背光了。



几年前,在对卧室进行翻新时,决定在床上方的架子后面放一个LED灯条,以照亮床头板后面的装饰墙。为了控制录像带,准备了一套现成的套件,该套件随遥控器一起提供,不需要带出红外接收器。



数年过去了,很明显,尽管整个照明装置都可以正常工作,但它开始与现代现实完全矛盾。如果我们围绕物联网等使用什么控制台?然后又有一块新手表落到我手中...



对我的主要要求是:



  1. 不要使用现成的说明书或工具包。
  2. «», ( , , ).
  3. , , « ».
  4. , / / .


总体思路是这样的:有一个LED灯带控制模块,我不打算深入其中,我只是假装是一个遥控器。这意味着在房屋中的某处必须有一个微控制器,该微控制器已连接到网络并等待命令,该命令以后可以通过无线电模块“发送”作为控制模块的命令。另外,有必要为时钟创建一个应用程序,以便所有这些都易于使用。



我马上说不,不可以,将设备与无线电接收器/发射器组装,从遥控器中转储所有命令,编写简单的Web服务器(好的,这实际上是现成的库,但不是重点),它将在数小时内响应应用程序的命令并发送他们通过无线电发射机没有过度工程...这是“走自己的路”的又一个机会。我敢肯定会有很多人会注意到这个想法中很多不必要的动作或组件。我了解这一点,甚至不打算争论。但是,您知道我将不生产任何此类设备时,可以感到平静,因此,我希望您的美感不会受到损害。



众所周知,遥控器无法通过IR进行操作,这意味着它使用了某种无线电信号。而且由于制造商极有可能不愿意提出新的东西,因此它必须是可以使用便宜的超外差接收器(工作频率为433.92 MHz)捕获的无线电信号。



原来如此。遥控器上的每个按钮都有自己发送的“命令”。将遥控器上的所有按钮转储之后,我拿起了发射器(接收器和发射器通常成对出售),并将其连接到微控制器,确保所有命令都成功执行。之所以选择ESP8266作为微控制器,是因为它可以轻松地“丢入”家庭网络并通过Internet进行控制而不会产生不必要的手势。



对我来说,一个有趣的发现是Tizen平台-手表可以工作的平台。我期望必须使用Android SDK用Java编写监视应用程序,但令我惊讶的是,应用程序分为以下几种:



  • 本机(C ++)
  • 网页
  • 。净


最糟糕的是,我想像的是“手表的Web应用程序”,所以我朝着这个方向发展。该应用程序是html,css和js文件的集合,如果您不考虑某些次要功能,它们的工作方式就像常规网页一样。调试器给我一种特别的幼稚的快乐,它使我可以在计算机本身的时钟运行时通过计算机上的浏览器调试该应用程序:







总的来说,我对Web开发很熟悉,但是当我意识到需要制作一个圆形页面时,一切变得更加复杂。那些。关键不仅在于可见区域应该是圆形的,而且元素应该排列成圆形。在这里,我不得不记住使用CSS转换元素的广泛可能性。



另一个问题是我想在手表中显示某种状态指示,但与模块的通信是单向的,因此我决定添加一个光传感器,以使ESP8266能够了解LED灯带的状态。最终的应用程序与本地遥控器不同,学会了“了解”磁带当前是否处于打开状态:







很明显,我总体上并没有提出新的建议,但是我给了自己一个学习过程中新知识的机会。当然,您可能只是丢掉了灯泡和不必要的微控制器。可以购买现成的用于LED灯带的套件,但是购物给我带来的欢乐要比我亲手做的过程少得多。



寻找自己的道路,用自己的双手去做一些新的事情,就好像您是第一个这样做的人一样。



感谢所有读完本书的人。



All Articles