和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)
华夏门网's avatar华夏门网
上一篇 2023年11月12日 12:30:59
下一篇 2023年11月12日 12:33:54

相关推荐

  • 自動門無觸摸開關發展趨勢與挑戰分析-聚億信息咨詢

    【出版機構】:聚億信息咨詢 (廣東) 有限公司 聚億信息咨詢(Market Monitor Global)調研機構最新發佈瞭【自動門無觸摸開關市場調研報告,全球行業規模展望2024-2030】。本市場調研報告為讀者提供專業且深入的產品銷量、收入、價格、增長率、市場占有規模及競爭對手等數據分析,包含分析過去5年的市場歷史數據,還結合市場動態分析預測未來5年的行…

    自动门 2024年8月31日
    80
  • 分享干货!创意十足的自动门有哪些特点

    现在走在街道上,你会发现,几乎每家店铺都装上了自动门或者商务门,型材门几乎已经被占据,可以说是随处可见了。 自动门是一种自动化控制实现开关门的现代新型通道门。目前自动门系列主要包括:平移门、单移门、旋转门、紧急速推逃生门等类别。那么,为什么现在都喜欢选择使用自动门呢?哪些场所使用自动门的比例较高呢?今天给大家解答一下。 一.哪些场所使用自动门的比例较高? 广…

    自动门 2023年9月22日
    350
  • 自動門電動門分會一行赴滬蘇走訪調研

    日前,自動門電動門分會/鋼木門窗委員會一行,在上海組織召開瞭“谷木材料應用研討會”“華東門企安裝服務座談會”,並走訪瞭滬、蘇當地的中外企業。 谷木材料是上海青鷹實業股份有限公司自行研發的具有木飾效果,將特殊處理的廢棄稻谷殼融入PVC中,通過擠壓形成像木頭一樣效果、對配方調整創造出不同性能的新型建築材料。2022年被住建部科技中心列為“建設行業科技成果推廣項目…

    自动门 2024年10月29日
    210
  • 西门子200SMART案例34(自动门控制)

    一、自动门控制 某行人自动门行程开关位置如下图所示,其控制要求如下: 正常情况下大门闭合,如果检测到有人靠近自动门时高速开门,触碰行程开关SQ1后转为低速,触碰行程开关SQ2后停止。 若1s内检测到没有人,则高速关门,触碰行程开关SQ3后转为低速,触碰行程开关SQ4停止。 在关门期间,如果检测到有人,则停止关门,延时1s后自动转换为高速开门。 自动门是由高、…

    自动门 2023年9月20日
    1320
  • 索科自動門控:關於自動門安全使用的註意事項

    索科自動門控在此提醒大傢,自動門雖給我們帶來諸多便利,但在使用時需格外留意一些事項。 索科自動ドア制禦ここでは、自動ドアは私たちに多くの便利さをもたらしますが、使用する際には特に註意する必要があります。 自動門通常通過光線式測量地板表面和人反射光的量的差異來判斷是否有人通行。然而,這一檢測方式會受多種因素影響。比如,當人們穿著的衣服顏色與地板顏色相近,像地板…

    自动门 2024年11月13日
    50

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:[email protected]

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

关注微信