【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==
多谢分享,学习了。
页:
[1]