کد درب هوشمند با RDM6300
کد:long Password1=1111111; long Password2=2222222; int flag=0,RX_Flag=0; char Code[14]; long Num=0; int serpin=7; int Door=0; void Read_ID(void) { int i=0; char temp; for(i=0;(Serial.available()>0);i++) //while(Serial.available()>0) { temp=Serial.read(); Serial.print(temp); delay(2); Serial.println(i); if(temp==0X02) { flag=1;i=0;RX_Flag=0;// } if(flag==1) { if(temp==0X03) { flag=0; if(i==13) RX_Flag=1; else RX_Flag=0; break; } Code[i]=temp; } } flag=0; } void pulse( int serpin,int angle) { int width; width=(angle*11)+500; digitalWrite(serpin,HIGH); delayMicroseconds(width); digitalWrite(serpin,LOW); delay(20-width/1000); } void setup() { pinMode(13,OUTPUT); pinMode(serpin,OUTPUT); Serial.begin(9600); Serial.println("This is a test for access control system"); delay(100); Serial.println(Password1); } void loop() { int i; long temp=0,time=0; RX_Flag=0; while(1) { Read_ID(); if(RX_Flag==1) { for(i=5;i<11;i++) { Num<<=4; if(Code[i]>64) Num+=((Code[i])-55); else Num+=((Code[i])-48); Serial.println(Num); } Serial.println(Num); if((Num==Password1)||(Num==Password2)) { digitalWrite(13,HIGH); delay(5); for(int i=0;i<=50;i++) { pulse(serpin,20); } delay(2000); while(analogRead(Door)>400); delay(1000); digitalWrite(13,LOW); delay(5); for(int i=0;i<=50;i++) { pulse(serpin,180); } } while(Serial.read()>0); RX_Flag=0; Num=0; } } }


1 لایک
LinkBack URL
About LinkBacks



پاسخ با نقل قول
