DFHkp2lXPz4 发表于 2020-2-2 16:33:18

【2020】多功能门闸

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


步骤1准备材料



材料清单

1x
Arduino套装
链接






步骤2编程平台



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


https://makelogimg.dfrobot.com.cn/Flvdr65EqfNaWRcInF7j79tBruom?imageView2/2/w/1600


步骤3组装硬件



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


https://makelogimg.dfrobot.com.cn/Fo75vopRnU0sj5mylXSTE96RXGWf?imageView2/2/w/1600


https://makelogimg.dfrobot.com.cn/Fs7OrP7JOFbT3yboLn1L-sECa_ML?imageView2/2/w/1600


https://makelogimg.dfrobot.com.cn/FgMKIiGFkl0P_rU0FjdSHCnNUSmr?imageView2/2/w/1600


https://makelogimg.dfrobot.com.cn/FtT_OiOwmOozLVHkgQxPstFMvbir?imageView2/2/w/1600


以及商场平面图。


https://makelogimg.dfrobot.com.cn/FpDJvNwPSojvz82T8nACZG7B_Cag?imageView2/2/w/1600


步骤4编辑程序



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


https://makelogimg.dfrobot.com.cn/FulQXDbSDze_BWN1VmMbUFVoYuaX?imageView2/2/w/1600


代码

#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);                }      }}Arduino
Copy





视频展示
https://player.youku.com/embed/XNDM4Nzg3NjU1Ng==





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

多谢分享,学习了。
页: [1]
查看完整版本: 【2020】多功能门闸