微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 基于有方GPRS的智能电梯控制系统

基于有方GPRS的智能电梯控制系统

时间:11-20 来源:互联网 点击:

构思背景

目前的很多企业都在很高的楼层办公,每天上下班高峰期,电梯门口总是会排上很长的队,为了让电梯用最快的速度将所有的员工送到指定楼层,需要给出一些改进;下班的时候,由于楼层很高,员工往往需要花费一些时间等待电梯到达自己的楼层,利用一些改进可以让员工掌握电梯状态,从而节省一些等电梯的时间。


功能特色

  • 功能一:我们对电梯作出这样的改进:在上班高峰时段,电梯只能向上运行时开门搭载上朝楼上去的人员,即电梯只会响应朝上行的按键,在向下运行的过程中,不会响应任何按钮。在下班时间段,也可以做相应修改。从而节省大多数人的时间,将人快速送达指定地点。

  • 功能二: 平时,由于工作人员多工作于很高的楼层,而此时的电梯可能处于一楼,所以可以先向控制中心发送一条短信来获取电梯的实际位置,如果电梯此时距离自己所在的楼层还有一段距离,就可以提前向控制中心发送一条请求短信,这时控制中心会向电梯应用端发送请求信号,命令电梯开往指定的楼层,从而减少等待的时间。


具体操作

只需要编辑短信XY#到指定的电话号码就可以远程控制电梯的运行。其中X代表发信人所在楼层,Y代表发信人将要到达的楼层。电梯也会对发信人的要求进行应答,告诉电梯当前的运行情况,好让发信人掌握好乘坐电梯的时间。


GPRS的使用

我们主要用到了有方GPRS模块的短信收发功能。主要用于在上下班高峰时帮助员工获得电梯状态信息、向电梯发送停靠指令。命令电梯开往指定的楼层,从而减少等待的时间。电梯应用端使用有方GPRSM660+模块来接收来自控制中心的信号并发送短信作为应答,从而实现用户与电梯的交互通信。


硬件电路图


作品展示


原文:http://blog.csdn.net/tengweitw/article/details/45896479
作者:nineheadedbird


软件实现

#include#include#define uint unsigned int#define uchar unsigned char#define FLOOR  10int Con_Floor = 1;//当前的楼层号int com_dat = 0 ;int flag2 = 0 ;int low = 1 ;int high = 9 ;int sign_flag = 0 ;void delayms(uint xms);                      //延时函数(毫秒级)uint test(uchar * floor);                    //测试在几楼uint checkinfo();uchar ReceiveData(uchar* ,uchar*);void writefloor(int);void writestate(int);void up_down_logic();                        //电梯的运行逻辑void com_init(void);                         //串口初始化void send_uart(uchar ch);                    //向串口发送单个字符void send_AT_IPR(void);                      //设置模块的波特率为9600bpsvoid send_AT_CMGF(void);                     //设置发短信为文本模式void send_AT_CSCS(void);                     //发送TE的字符集为GSMvoid send_AT_CNMI(void);                     //设置短信的提示信息void send_AT_CMGR();                      //发送读取命令void send_AT_CMGS(uchar *phone_num);         //选择发送目的手机号void send_text(uchar *text);            //发送短信文本void init_GPRS(void);                        //初始化GPRS模块sbit dula=P2^6;sbit wela=P2^7;sbit rs=P3^5;sbit lcden=P3^4;sbit s1=P2^0;sbit s2=P2^1;sbit s3=P2^2;sbit s4=P2^3;sbit rd=P3^7;sbit dscs=P1^4;sbit dsas=P1^5;sbit dsrw=P1^6;sbit dsds=P1^7;sbit dsirq=P3^3;uchar count,s1num,flag,flag1;uchar miao,shi,fen;uchar code table[]=" 2012-10-15 MON";uchar code table1[]="    00:00:00";uchar code floor[]="FLOOR: 1";uchar code state[]="STATE: IDLE";uchar code welcome[]="WELCOME TO USE!";uchar code up[]="UP  ";uchar code down[]="DOWN";uchar code idle[]="IDLE";void write_date(uchar);void write_ds(uchar,uchar);uchar read_ds(uchar);                  //从ds187读取时间void init();void keyscan();void write_sfm(uchar add,uchar date);uchar code *AT_CMGF = "AT+CMGF=1";          //发送AT+CMGF=1,设置文本模式uchar code *AT_CSCS = "AT+CSCS=";           //选择TE的字符集(            

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top