Arduino - (增强版)改装车库门,蓝牙+自动关门
2016-07-14 10:20
453 查看
先前通过初步改装,实现了手机蓝牙控制开门关门。
这次增加了通过人体检测,没人时开始计时,超时自动关门。
其他改进设想:
用433无线收发模块代替继电器,实现与车库遥控器的对接。
代码如下:
这次增加了通过人体检测,没人时开始计时,超时自动关门。
其他改进设想:
用433无线收发模块代替继电器,实现与车库遥控器的对接。
代码如下:
int pin_shang,pin_xia,pin_ren,pin_men,pin_laba,pin_led,pin_guanmen; int time_ren,time_laba; void setup() { delay(500); pin_shang=2; pin_xia=3; pin_ren=4; pin_men=5; pin_laba=6; pin_guanmen=7; pin_led=13; Serial.begin(9600); // 设置蓝牙波特率为9600 pinMode(pin_shang,OUTPUT); // 继电器模块,向上开门。 digitalWrite(pin_shang,HIGH); // 模块为低电平触发,初始时为断开HIGH。 pinMode(pin_xia,OUTPUT);// 继电器模块,向下关门。 digitalWrite(pin_xia,HIGH); // 模块为低电平触发,初始时为断开HIGH。 pinMode(pin_ren,INPUT);// 移动人体检测接口,有人为 HIGH,没人为 LOW。 pinMode(pin_men,INPUT_PULLUP); // 门当前开关状态检测接口(上拉,默认为 HIGH),开门为 HIGH,关门为 LOW。 pinMode(pin_guanmen,INPUT_PULLUP);// 自动关门功能启用禁用接口(上拉,默认为 HIGH),启用为 HIGH,禁用为 LOW。 pinMode(pin_led,OUTPUT); // 自动关门功能指示灯,功能启用且门开着时亮,其它情况灭。 pinMode(pin_laba,OUTPUT); // 报警喇叭。 delay(1000); // 延时1秒后进入循环体。 laba(); // 喇叭鸣叫,启动完毕。 } void loop() { if (digitalRead(pin_guanmen)==HIGH) // 如果开启了自动关门功能 { if (digitalRead(pin_men)==HIGH) // 如果门开着 { digitalWrite(pin_led,HIGH); // 点亮指示灯 if (digitalRead(pin_ren)==HIGH){ time_ren=0; } else { time_ren+=1; } // 如果有人则时间=0,没人则时间+1。 if (time_ren>180){ time_laba+=1; if (time_laba>4){ time_laba=0; laba(); } } // 如果没人时间超过3分钟,喇叭5秒钟报警一次。 if (time_ren>240){ time_ren=0; digitalWrite(pin_xia,LOW); delay(200); digitalWrite(pin_xia,HIGH); } // 如果没人时间超过4分钟,自动关门。 } else { digitalWrite(pin_led,LOW); time_ren=0; } // 如果门关着,灭掉指示灯,时间 =0 } else { digitalWrite(pin_led,LOW); time_ren=0; } // 如果禁用了自动关门功能,灭掉指示灯,时间 =0 if (Serial.available()) // 如果蓝牙收到数据 { String shuju=Serial.readString(); if (shuju=="openDoor"){ digitalWrite(pin_shang,LOW); delay(200); digitalWrite(pin_shang,HIGH); Serial.print("openOK"); } // 蓝牙指令开门 if (shuju=="closeDoor"){ digitalWrite(pin_xia,LOW); delay(200); digitalWrite(pin_xia,HIGH); Serial.print("closeOK"); } // 蓝牙指令关门 } delay(1000); } void laba(){ digitalWrite(pin_laba,HIGH); delay(500); digitalWrite(pin_laba,LOW); } // 自定义喇叭鸣叫函数,使用有源蜂鸣器。
相关文章推荐
- Windows系统中使用C#编写蓝牙通信程序的简单实例
- android通过蓝牙接收文件打开时无法自动选择合适的应用程序
- Android开发中编写蓝牙相关功能的核心代码讲解
- Android系统中的蓝牙连接程序编写实例教程
- Android设备间实现蓝牙(Bluetooth)共享上网
- Android提高之蓝牙隐藏API探秘
- Android编程之蓝牙测试实例
- Android提高之蓝牙传感应用实例
- Android Bluetooth蓝牙技术使用流程详解
- Android Bluetooth蓝牙技术初体验
- 基于Arduino+LabVIEW的多路数据采集系统
- 基于Arduino+LabVIEW的串口控制LED亮灭
- 基于Protues的Arduino学习笔记01-Arduino UNO实验板设计
- 《Arduino与LabVIEW开发实战》-前言
- Arduino(一)
- nrf24l01+arduino
- Android 蓝牙防丢实现(一)
- Win10如何使用蓝牙传输文件?Win10使用蓝牙传输文件的方法