3665| 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] 视频展示 |
© 2013-2024 Comsenz Inc. Powered by Discuz! X3.4 Licensed