和 12 岁小同志搞创客开发:手撕代码,做一款密室自动门
机缘巧合在网上认识一位 12 岁小同志,从零开始系统辅导其创客开发思维和技巧。
项目专栏:https://blog.csdn.net/m0_38106923/category_11097422.html
所谓密室自动门,就是这门不是轻易能打开的,存在着某些玄关需要你去破解。这里设计的这个门,是通过不断晃动手中的传感器才能开。
有人会说,传感器我知道是那个数字震动传感器,那门呢?你没看错就是舵机,它能控制角度。所以,所谓的门的转动,是靠舵机来完成的。做个来看下效果就知道了~
拓展学习:和12岁小同志搞创客开发:遥控舵机_不脱发的程序猿-CSDN博客
项目连线如下所示:
实现代码如下所示:
代码的开始先调用<Servo.h>库:
这个库已经在 Arduino IDE 中了,可以打开 Arduino 安装路径,例如我的安装路径:D:\Arduino\libraries\Servo\src,这就是 Servo 库所在位置。如果要在代码中用库中函数,是不能直接调用的,需要给库找个中介,让“他”建立代码和库中间的关系,也就是类的使用:
这里的 myservo 起到的就是这个作用。建立联系,之后调用库中的方法和变量的话,就要按照下面这个模式进行:
如何定义舵机是接到那个引脚呢?用到就是 attach()方法了。
知道了如何定义一个舵机之后,如何把对应的角度写进去呢?
最后,运行程序,不断的晃动震动传感器,可以看到舵机的角度会随之变大。停止晃动后,舵机角度又开始慢慢减小。好比一扇门慢慢打开,合上。
版权声明: 本文为 InfoQ 作者【不脱发的程序猿】的原创文章。
原文链接:【http://xie.infoq.cn/article/9436c36ce6fef9484a6d68e4c】。文章转载请联系作者。
评论