Professional Documents
Culture Documents
Smart Car Parking Using Iot Block Code CKT
Smart Car Parking Using Iot Block Code CKT
BLOCK DIAGRAM:
16X2 LCD
MAIN IR SENSOR
IR ALARM
SEN SLOT1
ARDUINO UNO
IR CONTROLLER
8266
IR
SEN SLOT3
IR
SEN SLOT4
COMPONENTS USED:
Arduino Uno
IR SENSORS
ALARM
12v ADAPTOR
ESP8266
Resistors
Capacitors
Transistors
Diodes
LED
Push Buttons
Switch
IC
IC Sockets
Software Specifications
Arduino Compiler
CIRCUIT:
VC C
VC C
10uf/63v
M AX232 IOREF 13
16
BU ZZER
2 14 RESET 7
V+ T1 O U T
VC C
1 13
C 1+ R 1IN 6 VC C
3.3V
10uf/63v
12
R 1O U T 11 5 1
T1 I N VC C 5V GND
16 X 2 LCD DISPLAY
3 2
4 C 1- 10 4 3 VC C
C 2+ T2 I N TXD GND VEE
9 4
10uf/63v
R 2O U T R XD RS
GND GND 11 5
8 1 6 RW
R 2IN ARDUINO UNO R3 EN
5 7 2 Vin 10 7
C 2- T2 O U T D0
GND
6 3 8
V- 12 9 D1
. A6 . D2
ESP8266 10
10uf/63v
9 11 D3
A0
15
WIFI
. D4
GND 12
MODULE 8 13 D5
GND . SEN 4 A1 . D6
GND 14
33pf 10 D7
SEN 3 A2 .
XTA L -1
VC C A4 2
SEN 2 MAIN SEN
16MH Z
A5 1 TXD
C R Y S TA L SEN 1 TXD
33pf 10K VC C
SW 1 0 RXD
10uf
R XD
8
GND R ST
10K VC C 3 +
1
8.2K 2 - A3A
10K VC C
SEN 3
8
3 + LM358
4
GND 1
8
2 - 2N D PIN A
3
MAIN SEN +
1
LM358 2 - A 5 A1 0 K VC C
4
SEN 1
ALARM ALAR M
LM358
8
GND 3 +
1
B R I D G E R E C TI F I E R 1
VC C 2 - A2A
VC C 10K VC C
J2 7 8 0 5 R E G U L A TO R SEN 4
2 2 - + 4 1 3
VIN VOU T LM358
GND
4
1
8
220 ohm s 3
t o t ra n s f o rm e r +
1000uf
1
2
2 A4A
104pf -
3
33pf SEN 2
LM358
4
LED
GND
Code:
#include <LiquidCrystal.h>
LiquidCrystal lcd(10,11,4,5,6,7);
char res[130];
#define in 2
#define out 8
#define ALARM 13
int m11 = 8;
int m22 = 9;
int sen1 = 2;
int r11,r22,r33,r44;
int count=0,slot1,slot2,slot3,slot4;
int val;
float TEMP;
void IN()
count++;
// lcd.clear();
lcd.print("Person In Room:");
lcd.setCursor(15,1);
lcd.print(count);
delay(1000);
void OUT()
count--;
//lcd.clear();
lcd.print("Person In Room:");
lcd.setCursor(15,1);
lcd.print(count);
delay(1000);
void serialFlush(){
while(Serial.available() > 0) {
char t = Serial.read();
}
}
int i=0;
int j = 0,k=0;
while (1)
sl:
if(Serial.available() > 0)
res[i] = Serial.read();
i++;
res[i] = 0;break;
i++;
j++;
if(j == 30000)
k++;
//Serial.println("kk");
j = 0;
// Serial.println("timeout");
return 1;
}//while 1
if(!strncmp(ex,res,strlen(ex)))
//Serial.println("ok..");
return 0;
else
// Serial.print("Wrong ");
// Serial.println(res);
i=0;
goto sl;
char buff[200];
void upload1();
void setup() {
int i=0;
char ret;
Serial.begin(9600);
lcd.begin(16,2);
lcd.clear();lcd.setCursor(0, 0);lcd.print("WELCOME");
delay(3000);
serialFlush();
st:
Serial.println("ATE0");
ret = check((char*)"OK",50);
ret = check((char*)"OK",50);
if(ret != 0)
delay(100);
delay(100);
goto st;
delay(1000);
Serial.println("AT+CWMODE = 1");
ret = check((char*)"OK",50);
lcd.clear();lcd.setCursor(0, 0);lcd.print("CONNECTING");
cagain:
delay(1000);
serialFlush();
Serial.print("AT+CWJAP=\"");
Serial.print(ssid);
Serial.print("\",\"");
Serial.print(password);
Serial.println("\"");
if(check((char*)"OK",300))
lcd.clear();lcd.setCursor(0, 0);lcd.print("CONNECTING");
goto cagain;
delay(1000);
lcd.clear();lcd.setCursor(0, 0);lcd.print("CONNECTED");
Serial.println("AT+CIPMUX=1");
delay(1000);delay(1000);
lcd.clear();
lcd.begin(16,2);
pinMode(in, INPUT);
pinMode(out, INPUT);
pinMode(sen1, INPUT);
pinMode(sen2, INPUT);
pinMode(sen3, INPUT);
pinMode(sen4, INPUT);
pinMode(sen5, INPUT);
pinMode(ALARM, OUTPUT);
lcd.print("CAR PARKING");
r11=r22=r33=r44=0;
//lcd.setCursor(4,1);
delay(2000);
lcd.clear();
lcd.setCursor(0,1);
lcd.print("CARS IN PARKING:");
lcd.setCursor(15,1);
lcd.print(count);
void loop() {
lcd.setCursor(0,0);
//if(digitalRead(in)==0)
//IN();
//if(digitalRead(out)==0)
// OUT();
r33==1)&&(r44==0||r44==1)))
count++;
lcd.setCursor(0,1);
lcd.print("SLOT NO 1 ");
delay(2000);
slot1=100;
r11=1;
r33==1)&&(r44==0||r44==1)))
count++;
lcd.setCursor(0,1);
lcd.print("SLOT NO 2 ");
delay(2000);
slot2=100;
r22=1;
}
r44==1))
count++;
lcd.setCursor(0,1);
lcd.print("SLOT NO 3 ");
delay(2000);
slot3=100;
/*digitalWrite(m11, HIGH);
digitalWrite(m22, LOW);
delay(2000);
digitalWrite(m11, HIGH);
digitalWrite(m22, HIGH);
delay(2000);
digitalWrite(m11, LOW);
digitalWrite(m22, HIGH);
delay(2000);
digitalWrite(m11, HIGH);
digitalWrite(m22, HIGH); */
r33=1;
count++;
lcd.setCursor(0,1);
lcd.print("SLOT NO 4 ");
delay(2000);
slot4=100;
/*digitalWrite(m11, HIGH);
digitalWrite(m22, LOW);
delay(2000);
digitalWrite(m11, HIGH);
digitalWrite(m22, HIGH);
delay(2000);
digitalWrite(m11, LOW);
digitalWrite(m22, HIGH);
delay(2000);
digitalWrite(m11, HIGH);
digitalWrite(m22, HIGH); */
r44=1;
lcd.setCursor(0,1);
delay(800);
digitalWrite(ALARM,LOW);
delay(400);
else if ((digitalRead(sen2)==0))
count--;
r11=0;
lcd.setCursor(0,1);
delay(2000);
slot1=000;
lcd.setCursor(0,1);
lcd.print(" ");
//delay(500);
}
else if ((digitalRead(sen3)==0))
{count--;
r22=0;
lcd.setCursor(0,1);
delay(2000);
slot2=000;
lcd.setCursor(0,1);
lcd.print(" ");
else if ((digitalRead(sen4)==0))
{count--;
r33=0;
lcd.setCursor(0,1);
delay(2000);
slot3=000;
lcd.setCursor(0,1);
lcd.print(" ");
else if ((digitalRead(sen5)==0))
{count--;
r44=0;
lcd.setCursor(0,1);
delay(2000);
slot4=000;
lcd.setCursor(0,1);
lcd.print(" ");
if(count<=0)
lcd.clear();
delay(200);
count1++;
if(upload == 1||count1 == 2)
count1 =0;
upload = 0;
upload1();
void upload1()
{
delay(100);
serialFlush();
Serial.println("AT+CIPSTART=4,\"TCP\",\"184.106.153.149\",80");
delay(1000);
serialFlush();
delay(500);
serialFlush();
Serial.print("GET /update?api_key=N5T9QUJSAUN35EVY&");
sprintf(buff,"&field1=%04u",slot1);
Serial.print(buff);
sprintf(buff,"&field2=%04u",slot2);
Serial.print(buff);
sprintf(buff,"&field3=%04u",slot3);
Serial.print(buff);
sprintf(buff,"&field4=%04u",slot4);
Serial.print(buff);
Serial.println("");
delay(500);
Serial.println("AT+CIPCLOSE");
}//>
}//Linked