用手势来控制的小灯
- 分类:
- 电子电路-Tinkercad Circuits
- 2019-01-11
- 2528
微课详情
最初的构想源自于自己的懒惰,有人说懒惰能够促使我们进行更多的开发和创造。这一点虽然我不完全赞同,但是对于一个有想法的小组来说,这可能是对的。最初的构想源自于自己的懒惰,有人说懒惰能够促使我们进行更多的开发和创造。
这一点虽然我不完全赞同,但是对于一个有想法的小组来说,这可能是对的。
冬天到了,在被窝里很舒服。可是我们该如何开灯和关灯呢?
睡觉的时候是应该关灯,这样才能让我们睡得更香。于是我们有了一个关灯的计划。
看了看手边的电子电路套件,我们能用什么方法来实现呢?
最初我们是用按钮来构思,可是按钮拖了很长的线连接到Arduino主控板上。
稍不留意,又把电源线碰掉了,整个电路失去了控制功能。
其实促使我们最终放弃这个方案的原因是我们这个通过Arduino主控板来控制的按钮开关和现在墙面上已经有的开关,没有什么区别。
学习电路基础知识过程中,我们在测量电阻数值
可是这一次的失败并没有使我们退缩。我们知道要想创新,必须要知道创新的原理是什么,更加需要知道无法创新的原因是什么?
经过学习TINKERCAD网站上提供的电路学习资料,我们在了解了传统电路的基础上,开始使用和测试了大量传感器。
目的就是为了通过使用不同传感器的功能,来构思我们可能的创新。
这次我们选择了超声波模块,用于检测障碍物的距离,而根据这个距离来使我们的Arduino主控板感知并采取下一步行为,而这个时候我们发现,使用TINKERCAD的模拟功能,并没有达到我们想要的效果。
于是我们开始思考我们的设计原理是否出了问题,下面就让我们一起来看看吧。
我们一共使用了两个超声波传感模块。第一个接在11号引脚上,第二个接在10号引脚上。
而被我们控制的小灯接在9号引脚上。那么如何让我们的Arduino主控板,明确的知道我们是怎么想的呢?
我们的思路是这样的:如果10号引脚先检测到障碍物,稍等片刻(程序设定为100毫秒)后11号引脚也检测到障碍物,说明我们的障碍物是从右边移到左边(如图所示)。这时我们用状态变量i,来保存障碍物移动的状态。如果11号引脚检测到障碍物,稍等片刻(程序设定为100毫秒)后10号引脚也检测到障碍物,说明我们的障碍物是从左边移动到右边。同样我们用状态变量i,来保存障碍物的状态。
最终我们根据状态变量i的数值来设置引脚9的高低电平值以达到来控制灯的开关的目的。
好了,我们用超声波模块来做一次检测吧。
根据串口监控显示,我们发现,我们的思维和主控板arduino是不一样的。
(后来我们想到了一个解决的办法,但是发现程序代码太长了,而且效果并不理想,不知道哪位大神可以给个解决的办法呢?如果使用超声波模块的话。)
经过了多次的尝试和失败后,我们决定更换一个传感器。我们选择了两个PIP传感器,来完成我们现有的创新构思。
我们制作的超声波模块电路实验
这一次,我们经过测试,实际上效果也并不理想,我们调试了不同的延时时长,在功能上实现了我们想要的效果。
然而为了能够更好的达到用手势来控制开关灯的效果,我们使用红外数字避障传感器。
其在DFrobot的官网首页(http://mc.dfrobot.com.cn/portal.php)的产品资料库中的编号是(SKU:SEN0019),根据之前的设计思路和编程的经验,我们设计了如下的程序,最终较好的实现了我们的设想。
程序和代码块截图
我们的小组成员有:苏新雨,潘雁南,徐奕晓,陈子涵。
具体分工如下:
苏新雨:提出创意设计。
潘雁南:设计电路,完成不同电路测试。
徐奕晓:电路理论可行性分析,测试传感器。
陈子涵:完成电路图绘制,动手建立实验模型。
从零开始,尽可能利用每天中午午休时间,我们坚持了近3个月时间,感谢几位同学的辛苦付出。
说明:TINKERCAD为AUTODESK公司的注册商标。