811浏览
查看: 811|回复: 1

[项目] 【2020】多功能门闸

[复制链接]
现在正是假期,大家是不是都十分想购物呢?如果你是想去一个超市买点东西,是否关注过上面的门闸呢?为此,我制做了“多功能门闸”。


步骤1准备材料



材料清单

1x

Arduino套装
链接







步骤2编程平台



这里我使用的是Mind+编程平台,请看下图。





步骤3组装硬件



我使用这个套装中的Arduino UNO,舵机,雨水传感器,声音传感器,面包板,导线,LED灯,蜂鸣器,下面是他们的样子。














以及商场平面图。





步骤4编辑程序



我使用的是图形化编程,高手们可以参看下面的代码哦。原理:如果检测到声音,门闸打开,过一会再关上,方便安检人员检查等用途;雨天门闸会一直打开,方便人们躲雨。





代码

#include <DFRobot_Servo.h>Servo myservoA2;void dfrobotTone(int tonePin, int frequency, int duration) {  if(frequency == 0){    digitalWrite(tonePin,LOW);    return;  }  int period = 1000000.0 / frequency;  int pulse = period / 2.0;  pinMode(tonePin,OUTPUT);  for (int i = 1; i <= ((duration * 1000.0) / period); i++ ) {    digitalWrite(tonePin,HIGH);    delayMicroseconds(pulse);    digitalWrite(tonePin,LOW);    delayMicroseconds(pulse);  }}void setup() {        myservoA2.attach(A2);        myservoA2.angle(abs(0));}void loop() {        if ((analogRead(A1) > 30)) {                myservoA2.angle(abs(180));                digitalWrite(10, HIGH);                digitalWrite(11, LOW);        }        else {                if ((analogRead(A0) > 300)) {                        digitalWrite(11, LOW);                        digitalWrite(10, HIGH);                        myservoA2.angle(abs(180));                        delay(3000);                        dfrobotTone(9, 932, 500);                        delay(1000);                        digitalWrite(9, LOW);                }                else {                        digitalWrite(10, LOW);                        myservoA2.angle(abs(0));                        digitalWrite(9, LOW);                        digitalWrite(11, HIGH);                }        }}[size=0.8em]Arduino

[size=0.8em][url=]Copy[/url]






视频展示






kylinpoet  高级技匠

发表于 2020-2-18 04:18:01

多谢分享,学习了。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

为本项目制作心愿单
购买心愿单
心愿单 编辑
[[wsData.name]]

硬件清单

  • [[d.name]]
btnicon
我也要做!
点击进入购买页面
上海智位机器人股份有限公司 沪ICP备09038501号-4

© 2013-2022 Comsenz Inc. Powered by Discuz! X3.4 Licensed

mail