Arduino를 사용한 GSM 차량 점화 및 중앙 잠금 회로

문제를 제거하기 위해 도구를 사용해보십시오





이번 포스팅에서는 아두 이노를 이용하여 GSM 기반 차량 보안 시스템을 구축 할 예정입니다.이 시스템은 휴대폰에서 차량으로 비밀번호 SMS를 전송하여 차량의 점화 시스템과 중앙 잠금 장치를 잠 그거나 잠금 해제 할 수 있습니다.

으로



자동차 절도는 사랑하는 사람이 납치 된 것 같은 마음의 아픔이 될 수 있습니다. 오랜 세월을 보냈던 낡은 차가 도난 당했을 때 더 아파요. 오래된 자동차와 낮은 등급의 자동차는 보안 기능이 약하기 때문에 자주 도난 당할 수 있습니다.

시간이 지남에 따라 자동차를 악용하기 위해 새로운 방법이 발명됨에 따라 주류 및 구형 자동차에서 이러한 악용을 다루는 데 막대한 비용이들 수 있습니다.



제안 된 프로젝트는 당신의 차에 대한 보안 저렴한 비용으로 차를 도난당하는 것을 막을 수 있습니다.

제안 된 프로젝트는 프로젝트의 핵심 인 GSM 모뎀 (SIM 800/900)과 프로젝트의 두뇌 역할을하는 Arduino 보드로 구성됩니다.

Arduino 보드와 인터페이스 된 몇 가지 릴레이는 차량의 점화 및 중앙 잠금을 활성화 및 비활성화합니다.

이 프로젝트를 운영하고 SMS로 인한 비용을 줄이기 위해 네트워크 공급자가 제공하는 SMS 제공을 활용하려면 SMS 요금제가 작동하는 유효한 SIM 카드가 필요합니다.

이제이 휴대폰 제어 Arduino 기반 GSM 자동차 중앙 잠금 시스템의 회로도를 살펴 보겠습니다.

위의 회로는 복제하기가 매우 쉽습니다. GSM 모뎀은 Arduino의 Tx 및 Rx 핀과 인터페이스됩니다.

Arduino의 Tx는 GSM 모뎀의 Rx에 연결되고 Arduino의 Rx는 GSM 모뎀의 Tx, 즉 Tx에서 Rx로, Rx에서 Tx로 연결됩니다.

Arduino와 GSM 모뎀 간의 접지 연결도 설정됩니다.

9V 레귤레이터 7809가 회로에 추가되어 배터리 전압이 점화 및 충전 중에 변경 될 수 있으므로 GSM 모뎀과 arduino 보드에 고정 전압을 제공합니다. 12 볼트 이상이면 보드가 손상 될 수 있습니다.

Arduino의 PIN # 7은 중앙 잠금 장치 및 점화 잠금 장치에 대한 출력입니다.

Arduino Car Ignition 잠금 다이어그램 :

Arduino GSM 자동차 점화 및 중앙 잠금 릴레이 배선

다이오드는 역기전력으로 인한 릴레이의 고전압 스파이크를 방지하기 위해 연결됩니다.

단락은 자동차에 치명적인 손상을 줄 수 있으므로 입력에 퓨즈를 연결해야합니다.

보닛 내부에 배치 할 수있는 스위치가 제공됩니다. 배터리 소모를 방지하기 위해 1 주일 이상 차량을 사용할 계획이없는 경우 회로를 끄는 데 사용할 수 있습니다.

참고 : 회로가 꺼지면 (스위치 사용) 중앙 및 점화 잠금 장치가 활성화되고 차량이 안전합니다.

프로그램:

//----------------Program developed by R.Girish------------//
int temp = 0
int i = 0
int j = 0
char str[15]
boolean state = false
const int LOCK = 7
void setup()
{
Serial.begin(9600)
pinMode(LOCK, OUTPUT)
digitalWrite(LOCK, LOW)
for(j = 0 j <60 j++)
{
delay(1000)
}
Serial.println('AT+CNMI=2,2,0,0,0')
delay(1000)
Serial.println('AT+CMGF=1')
delay(500)
Serial.println('AT+CMGS='+91xxxxxxxxxx' ') // Replace x with mobile number
delay(1000)
Serial.println('Your car is ready to receive SMS commands.')// The SMS text you want to send
delay(100)
Serial.println((char)26) // ASCII code of CTRL+Z
delay(1000)
}
void loop()
{
if(temp == 1)
{
check()
temp = 0
i = 0
delay(1000)
}
}
void serialEvent()
{
while(Serial.available())
{
if(Serial.find('/'))
{
delay(1000)
while (Serial.available())
{
char inChar = Serial.read()
str[i++] = inChar
if(inChar == '/')
{
temp = 1
return
}
}
}
}
}
void check()
{
//--------------------------------------------------------------------------//
if(!(strncmp(str,'qwerty',6))) // (Password Here, Length)
//--------------------------------------------------------------------------//
{
if(!state)
{
digitalWrite(LOCK, HIGH)
delay(1000)
Serial.println('AT+CMGS='+91xxxxxxxxxx' ') // Replace x with mobile number
delay(1000)
Serial.println('Central Lock: Unlocked.') // The SMS text you want to send
Serial.println('Ignition Lock: Unlocked.') // The SMS text you want to send
delay(100)
Serial.println((char)26) // ASCII code of CTRL+Z
state = true
delay(1000)
}
else if(state)
{
digitalWrite(LOCK, LOW)
delay(1000)
Serial.println('AT+CMGS='+91xxxxxxxxxx' ') // Replace x with mobile number
delay(1000)
Serial.println('Central Lock: Locked.') // The SMS text you want to send
Serial.println('Ignition Lock: Locked.') // The SMS text you want to send
delay(100)
Serial.println((char)26) // ASCII code of CTRL+Z
state = false
delay(1000)
}
}
else if(!(strncmp(str,'status',6)))
{
Serial.println('AT+CMGS='+91xxxxxxxxxx' ') // Replace x with mobile number
delay(1000)
if(!state)
{
Serial.println('The System is Working Fine.') // The SMS text you want to send
Serial.println('Central Lock: Locked.') // The SMS text you want to send
Serial.println('Ignition Lock: Locked.') // The SMS text you want to send
}
if(state)
{
Serial.println('The System is Working Fine.') // The SMS text you want to send
Serial.println('Central Lock: Unlocked.') // The SMS text you want to send
Serial.println('Ignition Lock: Unlocked.') // The SMS text you want to send
}
delay(100)
Serial.println((char)26) // ASCII code of CTRL+Z
delay(1000)
}
}
//----------------Program developed by R.Girish------------//

참고 1 :

사용자는 Arduino에 업로드하기 전에 코드에 암호를 입력해야합니다.

// ------------------------------------------------ -------------------------- //

if (! (strncmp (str, 'qwerty', 6))) // (여기에 암호, 길이)

// ------------------------------------------------ -------------------------- //

“qwerty”를 자신의 암호로 바꾸고 숫자 6을 암호 길이로 변경하십시오. 예를 들면 :

if (! (strncmp (str, '@ rduino', 7))) // (여기에 암호, 길이)

“@rduino”는 암호이며 7 자 (길이)로 구성됩니다. 숫자, 문자, 특수 문자 및 이들의 조합을 배치 할 수 있습니다. 암호는 대소 문자를 구분합니다.

노트 2:

코드에서 모든 'xxxxxxxxxxx'를 자동차 소유자의 10 자리 전화 번호로 바꿉니다.

Serial.println ( 'AT + CMGS = '+ 91xxxxxxxxxx ' r') // x를 휴대폰 번호로 대체

휴대폰 SMS로이 프로젝트를 운영하는 방법 :

• GSM 모뎀으로 / status /를 보내면 현재 잠금 상태에 대한 SMS가 자동차 소유자의 전화 번호로 전송됩니다.

• 올바른 암호를 보내면 중앙 및 점화 잠금 장치의 상태가 전환됩니다.

다음은 스크린 샷입니다.

위의 결과는 테스트 된 프로토 타입에서 가져온 것입니다.

• GSM 모뎀에 삽입 된 SIM 카드 번호로 / status /를 전송하면 현재 잠금 상태에 대한 확인 SMS가 차량 소유자의 전화 번호로 전송됩니다.

• 위의 경우 / qwerty /가 암호 인 경우 GSM 모뎀에 올바른 암호를 보내면 중앙 및 점화 잠금이 해제됩니다. 또한 위와 같이 승인 SMS를 보냅니다.

• 동일한 암호를 다시 보내면 중앙 및 점화 잠금 장치가 잠 깁니다.

노트 3 : 암호는 '/'로 시작하고 '/'로 끝납니다.

참고 4 : 회로가 켜지면 1 분 정도 기다리십시오. 서킷은“당신의 차는 SMS 명령을받을 준비가되었습니다”라는 SMS를 자동차 소유자의 휴대폰 번호로 보냅니다. 그래야만 해당 SMS 명령을 보낼 수 있습니다.

이 GSM 자동차 점화 잠금 장치, Arduino를 사용하는 중앙 잠금 회로에 대한 특정 질문이 있으면 아래 주어진 의견 상자를 통해 보낼 수 있습니다.




Previous : 소형 3 상 IGBT 드라이버 IC STGIPN3H60 – 데이터 시트, 핀아웃 다음 : TDA 2030 IC를 사용하는 120W 증폭기 회로