Arduinoを使用したGSMカーイグニッションとセントラルロック回路

問題を排除するために楽器を試してください





この投稿では、Arduinoを使用して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カーイグニッションロック図:

ArduinoGSMカーイグニッションとセントラルロックリレーの配線

ダイオードは、逆起電力によるリレーからの高電圧スパイクを防ぐために接続されています。

短絡は車に壊滅的な損傷を与える可能性があるため、ヒューズを入力に接続する必要があります。

ボンネット内に配置できるスイッチが用意されています。バッテリーの消耗を防ぐために、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:注2:

コード内のすべての「xxxxxxxxxxx」を車の所有者の10桁の電話番号に次の4か所で置き換えます。

Serial.println( 'AT + CMGS = ' + 91xxxxxxxxxx ' r')// xを携帯電話番号に置き換えます

携帯電話のSMSでこのプロジェクトを操作する方法:

•/ status /をGSMモデムに送信すると、ロックの現在のステータスに関するSMSが車の所有者の電話番号に送信されます。

•正しいパスワードを送信すると、セントラルロックとイグニッションロックの状態が切り替わります。

スクリーンショットは次のとおりです。

上記の結果は、テストされたプロトタイプからのものです。

•GSMモデムに挿入されたSIMカード番号に/ status /を送信すると、ロックの現在のステータスに関する確認SMSが車の所有者の電話番号に送信されます。

•上記の場合、/ qwerty /がパスワードである場合にGSMモデムに正しいパスワードを送信すると、中央ロックとイグニッションロックのロックが解除されます。また、上記のように確認SMSを送信します。

•同じ正しいパスワードを再度送信すると、中央ロックとイグニッションロックがロックされます。

注3 :パスワードは「/」で始まり、「/」で終わります

注4:注4: 回路がオンになったら、約1分待ちます。回路は、「あなたの車はSMSコマンドを受け入れる準備ができています」というSMSを車の所有者の携帯電話番号に送信します。そうして初めて、それらのSMSコマンドを送信できます。

このGSMカーイグニッションロック、Arduinoを使用したセントラルロック回路に関して特定の質問がある場合は、以下のコメントボックスから送信できます




前:コンパクトな3相IGBTドライバーIC STGIPN3H60 –データシート、ピン配置 次へ:TDA 2030ICを使用した120ワットのアンプ回路