和12岁小同志搞创客开发:手撕代码,做一款密室自动门

所谓密室自动门,就是这门不是轻易能打开的,存在着某些玄关需要你去破解。这里设计的这个门,是通过不断晃动手中的传感器才能开。

有人会说,传感器我知道是那个数字震动传感器,那门呢?你没看错就是舵机,它能控制角度。所以,所谓的门的转动,是靠舵机来完成的。做个来看下效果就知道了~

拓展学习:和12岁小同志搞创客开发:遥控舵机_不脱发的程序猿-CSDN博客

项目连线如下所示:

和12岁小同志搞创客开发:手撕代码,做一款密室自动门

实现代码如下所示:

#include              
 
int sensorPin = 3;          //震动传感器 – Digital 3
Servo myservo;                 
int pos = 0;  
 
void setup() { 
    Serial.begin(9600);
    pinMode(sensorPin, INPUT);   
    myservo.attach(9);         //舵机 – Digital 9
}
 
void loop() {
  int sensorState = digitalRead(sensorPin);//读取震动传感器的状态
  Serial.println(sensorState);
  if(!sensorState){  //一旦状态发生变化,舵机加2°,直到加到180°
            pos = pos +2;
            if(pos >=180){      
                pos = 180;                
            } 
            myservo.write(pos);      //写入舵机的角度       
            Serial.println(pos);     //串口同时输出角度值
            delay(100);  
  } else{  //状态不发生变化,舵机减2°,直到减到0°
            pos = pos - 2; 
            if(pos <=0){
                pos = 0;                
            }
            myservo.write(pos);              
            Serial.println(pos);
            delay(100);    
  }
 
  delay(1);        
}

代码的开始先调用库:

 #include 

这个库已经在Arduino IDE中了,可以打开Arduino安装路径,例如我的安装路径:D:\\Arduino\\libraries\\Servo\\src,这就是Servo库所在位置。

和12岁小同志搞创客开发:手撕代码,做一款密室自动门

如果要在代码中用库中函数,是不能直接调用的,需要给库找个中介,让“他”建立代码和库中间的关系,也就是类的使用:

 Servo myservo;

这里的myservo起到的就是这个作用。建立联系,之后调用库中的方法和变量的话,就要按照下面这个模式进行:

 myservo.方法名 myservo.变量

如何定义舵机是接到那个引脚呢?用到就是attach()方法了。

 myservo.attach(引脚ID);         //舵机 – Digital 9

知道了如何定义一个舵机之后,如何把对应的角度写进去呢?

 myservo.write(角度);      //写入舵机的角度   

最后,运行程序,不断的晃动震动传感器,可以看到舵机的角度会随之变大。停止晃动后,舵机角度又开始慢慢减小。好比一扇门慢慢打开,合上。

本站内容及图片来自网络,版权归原作者所有,内容仅供读者参考,不承担相关法律责任,如有侵犯请联系我们:609448834

(0)
华夏门网的头像华夏门网
上一篇 2023年11月12日 12:30:59
下一篇 2023年11月12日 12:33:54

相关推荐

  • What features do automatic doors have?

    It has the characteristics of reliability, simple and clear construction, safety, multi-purpose and long life. First, reliable 1. Control board structure adjustment, Durability and…

    自动门 2024年12月18日
    290
  • 重新定义自动门的设计美学

    ASSA ABLOY CNADS自动门系统新品上市,这款自动门简约大气,颜值在线,同时具有高度的灵活性和优异的设计结构,能够最大限度地满足各种使用场景,包括住宅、商场、医院等场所,提供顺畅的使用体验! Part.1–全新的美学外观 ASSA ABLOY CNADS自动门系统可根据客户需求定制尺寸,有粗框和细框系统可选,配备大尺寸的玻璃视窗(玻璃可…

    自动门 2023年9月16日
    510
  • 深圳东莞惠州自动门厂家定制自动门流程

    如何选择自动门生产厂家定制一套自动门?主要的流程是什么呢? 一、了解用户使用要求,是需要应用在哪些场景? 二、了解用户现场的门洞尺寸 三、给用户推荐适合承重力度的自动门门机,提供门身的款式、门框材质的选择,符合美观又实用的安装方式。 四、实地考察场景情况,测量现场尺寸,制定相应的图纸。 五、与用户商定施工日期和施工前的供电环境等细节 六、准备门机和配件 七、…

    自动门 2023年11月1日
    150
  • 多玛自动门ES68吊架安装指南

    多玛自动门ES68吊架安装指南。 目标是让4个轮子在一条直线上。错误示范2:过于偏向一侧。 ·正确方法:用尺量门边到吊架的间距,这4个尺寸要保持一致,确保4个轮子在一直线上。若像这样较厚的型材,吊架可不居中安装。 但如果型材单薄,尽量居中安装,否则会产生噪音。在挂门体前,先把防脱装置卸下,否则防脱装置很容易被磕坏,同时也增大了安装难度。因此,建议挂门前先卸下…

    自动门 2023年12月8日
    1080
  • 男孩拉門不松手被誤會為熊孩子:原來是幫腿腳不便的男子拽住自動門

    #男孩拉門不松手被誤會為熊孩子#【#小男孩幫腿腳不便男子拽住自動門#】近日,山東,一男孩拉著自動門不松手,開始以為他在調皮,直到看見腿腳不便男子,才知道小男孩一直在等待幫他開門。網友:善良是從小在心裡種下的種子! 來源:新華社

    自动门 2024年9月13日
    120

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:[email protected]

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信