अलार्म के साथ कार रिवर्स पार्किंग सेंसर सर्किट

समस्याओं को खत्म करने के लिए हमारे साधन का प्रयास करें





इस पोस्ट में हम arduino, अल्ट्रासोनिक सेंसर और 2.4 GHz ट्रांसीवर मॉड्यूल का उपयोग करके एक कार रिवर्स पार्किंग सेंसर अलार्म सर्किट का निर्माण करने जा रहे हैं। यह प्रोजेक्ट आपकी कार के लिए ऐड-ऑन फीचर हो सकता है, अगर यह बिल्ट-इन पार्किंग सेंसर को स्पोर्ट नहीं करता है।

परिचय

प्रस्तावित परियोजना में पारंपरिक कार पार्किंग सेंसर के समान कार्यक्षमता है, जैसे कार के बीच की दूरी और एलसीडी डिस्प्ले और ऑडियो बीप अलर्ट पर बाधा।



प्रस्तावित परियोजना का उपयोग स्थिर पार्किंग सेंसर के रूप में किया जा सकता है, अर्थात आप गैरेज में रखा गया सेंसर या मोबाइल पार्किंग सेंसर अर्थात् आपकी कार के पीछे लगा सेंसर, यदि आप कार के इलेक्ट्रिकल सिस्टम के साथ परियोजना को चलाने का एक छोटा जोखिम लेने के लिए तैयार हैं।

हालाँकि, इस परियोजना के लिए प्रेरणा है एक स्थिर पार्किंग सेंसर का निर्माण जिसे शून्य जोखिम के साथ बनाया जा सकता है।



Arduino के उपयोग से कार पार्किंग सेंसर अलार्म प्रोजेक्ट में दो भाग होते हैं, ट्रांसमीटर जिसमें अल्ट्रासोनिक सेंसर, arduino, बजर और 2.4 GHz ट्रांसीवर मॉड्यूल होते हैं। यह सर्किट कार और बाधा के बीच की दूरी को मापेगा।

रिसीवर में 2.4 गीगाहर्ट्ज़ ट्रांसीवर मॉड्यूल, आर्डिनो और 16x2 एलसीडी डिस्प्ले हैं।

रिसीवर सर्किट को बिजली की आपूर्ति के रूप में 9 वी बैटरी के साथ कार के अंदर रखा जाएगा। रिसीवर कार के बीच की दूरी और मीटर में बाधा को प्रदर्शित करेगा।

ट्रांसमीटर सेंसर डेटा को कार के अंदर रिसीवर को 2.4 गीगाहर्ट्ज़ लिंक के माध्यम से प्रेषित करेगा। संचार लिंक NRF24L01 मॉड्यूल का उपयोग करके स्थापित किया गया है।

अब एनआरएफ 24 एल 01 मॉड्यूल का अवलोकन देखें।

NRF24L01 का चित्रण:

NRF24L01 मॉड्यूल

इस मॉड्यूल को दो माइक्रोकंट्रोलर के बीच द्वि-दिशात्मक संचार लिंक स्थापित करने के लिए डिज़ाइन किया गया है। यह एसपीआई संचार प्रोटोकॉल पर काम करता है। इसमें 125 विभिन्न चैनल हैं और अधिकतम 2Mbps की डेटा दर है। इसमें सैद्धांतिक अधिकतम सीमा 100 मीटर है।

पिन कॉन्फ़िगरेशन:

यह 3.3V पर काम करता है, इसलिए Vcc टर्मिनल पर 5 वोल्ट इसे मार सकता है। हालांकि, यह माइक्रोकंट्रोलर से 5V डेटा सिग्नल को स्वीकार कर सकता है।

अब प्रोजेक्ट के ट्रांसमीटर पर चलते हैं।

कार पार्किंग सेंसर अलार्म ट्रांसमीटर सर्किट

सर्किट को एनआरएफ 24 एल 01 मॉड्यूल से 5 तारों के साथ डिजिटल I / O पिंस के साथ arduino और बाकी के दो से 3.3V और जमीन के साथ वायर्ड किया गया है। पिन # 2 ट्रांजिस्टर के आधार से जुड़ा है जो बजर को शक्ति देगा।

अल्ट्रासोनिक सेंसर के पावर टर्मिनल 5V और GND से जुड़े हैं और A0 ट्रिगर पिन से जुड़ा है और A1 सेंसर के इको पिन से जुड़ा है।

सेंसर का दूरी डेटा NRF24L01 मॉड्यूल के माध्यम से रिसीवर को प्रेषित किया जाता है।

-------------------------------------------------------------- ----------------------------------------- कृपया अनुसरण लिंक से लाइब्रेरी फ़ाइल डाउनलोड करें: github.com/nRF24/RF24.git------------------------------------------------- -------------------------------------------------------------- ---

ट्रांसमीटर के लिए कार्यक्रम:

//----------Program Developed by R.Girish-------------//
#include
#include
RF24 radio(7,8)
const byte address[][6] = {'00001', '00002'}
const int trigger = A0
const int echo = A1
const int buzzer = 2
float distance
float result
long Time
boolean state = false
boolean dummystate = 0
void setup()
{
pinMode(trigger, OUTPUT)
pinMode(buzzer, OUTPUT)
pinMode(echo, INPUT)
radio.begin()
radio.openWritingPipe(address[1])
radio.openReadingPipe(1, address[0])
radio.setChannel(100)
radio.setDataRate(RF24_250KBPS)
radio.setPALevel(RF24_PA_MAX)
radio.startListening()
while(!radio.available())
radio.read(&dummystate, sizeof(dummystate))
radio.stopListening()
if(dummystate == HIGH)
{
for(int j = 0 j <10 j++)
{
const char text[] = 'Connection:OK !!!'
radio.write(&text, sizeof(text))
delay(100)
}
}
digitalWrite(trigger,HIGH)
delayMicroseconds(10)
digitalWrite(trigger,LOW)
delay(1000)
}
void(* resetFunc) (void) = 0
void loop()
{
digitalWrite(trigger,HIGH)
delayMicroseconds(10)
digitalWrite(trigger,LOW)
Time = pulseIn(echo,HIGH)
distance = Time*0.034
result = distance/200
if(result > 2.00)
{
const char text[] = 'CAR NOT IN RANGE'
radio.write(&text, sizeof(text))
}
if(result 1.90)
{
const char text[] = 'Distance = 2.0 M'
radio.write(&text, sizeof(text))
}
if(result 1.80)
{
const char text[] = 'Distance = 1.9 M'
radio.write(&text, sizeof(text))
}
if(result 1.70)
{
const char text[] = 'Distance = 1.8 M'
radio.write(&text, sizeof(text))
}
if(result 1.60)
{
const char text[] = 'Distance = 1.7 M'
radio.write(&text, sizeof(text))
}
if(result 1.50)
{
const char text[] = 'Distance = 1.6 M'
radio.write(&text, sizeof(text))
}
if(result 1.40)
{
const char text[] = 'Distance = 1.5 M'
radio.write(&text, sizeof(text))
}
if(result 1.30)
{
const char text[] = 'Distance = 1.4 M'
radio.write(&text, sizeof(text))
}
if(result 1.20)
{
const char text[] = 'Distance = 1.3 M'
radio.write(&text, sizeof(text))
}
if(result 1.10)
{
const char text[] = 'Distance = 1.2 M'
radio.write(&text, sizeof(text))
}
if(result 1.00)
{
const char text[] = 'Distance = 1.1 M'
radio.write(&text, sizeof(text))
}
if(result 0.90)
{
state = true
const char text[] = 'Distance = 1.0 M'
radio.write(&text, sizeof(text))
while(state)
{
digitalWrite(buzzer, HIGH)
delay(700)
digitalWrite(buzzer, LOW)
delay(700)
digitalWrite(trigger,HIGH)
delayMicroseconds(10)
digitalWrite(trigger,LOW)
Time = pulseIn(echo,HIGH)
distance = Time*0.034
result = distance/200
if(result 1.0)
{
state = false
}
}
}
if(result 0.80)
{
state = true
const char text[] = 'Distance = 0.9 M'
radio.write(&text, sizeof(text))
while(state)
{
digitalWrite(buzzer, HIGH)
delay(600)
digitalWrite(buzzer, LOW)
delay(600)
digitalWrite(trigger,HIGH)
delayMicroseconds(10)
digitalWrite(trigger,LOW)
Time = pulseIn(echo,HIGH)
distance = Time*0.034
result = distance/200
if(result 0.90)
{
state = false
}
}
}
if(result 0.70)
{
state = true
const char text[] = 'Distance = 0.8 M'
radio.write(&text, sizeof(text))
while(state)
{
digitalWrite(buzzer, HIGH)
delay(500)
digitalWrite(buzzer, LOW)
delay(500)
digitalWrite(trigger,HIGH)
delayMicroseconds(10)
digitalWrite(trigger,LOW)
Time = pulseIn(echo,HIGH)
distance = Time*0.034
result = distance/200
if(result 0.80)
{
state = false
}
}
}
if(result 0.60)
{
state = true
const char text[] = 'Distance = 0.7 M'
radio.write(&text, sizeof(text))
while(state)
{
digitalWrite(buzzer, HIGH)
delay(400)
digitalWrite(buzzer, LOW)
delay(400)
digitalWrite(trigger,HIGH)
delayMicroseconds(10)
digitalWrite(trigger,LOW)
Time = pulseIn(echo,HIGH)
distance = Time*0.034
result = distance/200
if(result 0.70)
{
state = false
}
}
}
if(result 0.50)
{
state = true
const char text[] = 'Distance = 0.6 M'
radio.write(&text, sizeof(text))
while(state)
{
digitalWrite(buzzer, HIGH)
delay(300)
digitalWrite(buzzer, LOW)
delay(300)
digitalWrite(trigger,HIGH)
delayMicroseconds(10)
digitalWrite(trigger,LOW)
Time = pulseIn(echo,HIGH)
distance = Time*0.034
result = distance/200
if(result 0.60)
{
state = false
}
}
}
if(result 0.40)
{
state = true
const char text[] = 'Distance = 0.5M'
radio.write(&text, sizeof(text))
while(state)
{
digitalWrite(buzzer, HIGH)
delay(200)
digitalWrite(buzzer, LOW)
delay(200)
digitalWrite(trigger,HIGH)
delayMicroseconds(10)
digitalWrite(trigger,LOW)
Time = pulseIn(echo,HIGH)
distance = Time*0.034
result = distance/200
if(result 0.50)
{
state = false
}
}
}
if(result 0.30)
{
state = true
const char text[] = 'Distance = 0.4 M'
radio.write(&text, sizeof(text))
while(state)
{
digitalWrite(buzzer, HIGH)
delay(100)
digitalWrite(buzzer, LOW)
delay(100)
digitalWrite(trigger,HIGH)
delayMicroseconds(10)
digitalWrite(trigger,LOW)
Time = pulseIn(echo,HIGH)
distance = Time*0.034
result = distance/200
if(result 0.40)
{
state = false
}
}
}
if(result <= 0.30)
{
const char text[] = ' STOP!!!'
radio.write(&text, sizeof(text))
digitalWrite(buzzer, HIGH)
delay(3000)
digitalWrite(buzzer, LOW)
resetFunc()
}
delay(200)
}
//----------Program Developed by R.Girish-------------//

यह ट्रांसमीटर को समाप्त करता है।

रिसीवर:

दूरी मापक को प्रदर्शित करने के लिए रिसीवर में 16x2 एलसीडी डिस्प्ले है। प्रदर्शन कनेक्शन नीचे दिया गया है:

कार पार्किंग सेंसर अलार्म एलसीडी डिस्प्ले सर्किट

बेहतर देखने के कंट्रास्ट के लिए 10K पोटेंशियोमीटर को समायोजित करें।

उपरोक्त योजनाबद्ध बाकी रिसीवर सर्किट है। 2.4 GHz लिंक कनेक्शन स्थापित नहीं होने की स्थिति में arduino को रीसेट करने के लिए एक पुश बटन दिया जाता है।

रिसीवर सर्किट को कार के अंदर रखा गया है, यह 9 वी बैटरी से पावर हो सकता है। रिसीवर को एक जंक बॉक्स में रखा जा सकता है जो आपकी कार को अच्छा बना सकता है। जंक बॉक्स को इंस्ट्रूमेंट क्लस्टर या अपनी इच्छानुसार किसी भी सुविधाजनक स्थान के ऊपर अपनी कार में रखा जा सकता है।

रिसीवर के लिए कार्यक्रम:

//--------Program Developed by R.Girish-------//
#include
#include
#include
LiquidCrystal lcd(7, 6, 5, 4, 3, 2)
RF24 radio(9,10)
const byte address[][6] = {'00001', '00002'}
const int dummy = A0
boolean dummystate = 0
void setup()
{
Serial.begin(9600)
lcd.begin(16, 2)
pinMode(dummy , INPUT)
digitalWrite(dummy, HIGH)
radio.begin()
radio.openReadingPipe(1, address[1])
radio.openWritingPipe(address[0])
radio.setChannel(100)
radio.setDataRate(RF24_250KBPS)
radio.setPALevel(RF24_PA_MAX)
radio.stopListening()
dummystate = digitalRead(dummystate)
radio.write(&dummystate, sizeof(dummystate))
delay(10)
radio.startListening()
if(!radio.available())
{
lcd.clear()
lcd.setCursor(0,0)
lcd.print('Connection not')
lcd.setCursor(0,1)
lcd.print('established')
delay(50)
}
}
void loop()
{
if(radio.available())
{
char text[32] = ''
radio.read(&text, sizeof(text))
lcd.clear()
lcd.setCursor(0,0)
lcd.print(text)
lcd.setCursor(0,1)
lcd.print('----------------')
}
}
//--------Program Developed by R.Girish-------//

अब, कि रिसीवर समाप्त होता है।

सेंसर को स्थिर पार्किंग सेंसर के रूप में कैसे रखें:

मोबाइल पार्किंग सेंसर के रूप में सेंसर कैसे लगाएं:

मोबाइल पार्किंग सेंसर में ट्रांसमीटर के अल्ट्रासोनिक सेंसर को कार के पीछे की तरफ रखा जाता है, कार की बैटरी से बिजली मिलती है। इसे इस तरह से वायर्ड किया जाना चाहिए कि जब आप इग्निशन को बंद कर दें तो आर्डिनो को आपूर्ति से अलग होना चाहिए।

रिसीवर को पहले बताए अनुसार अंदरूनी सूत्र रखा जा सकता है।

कैसे इस कार पार्किंग सेंसर परियोजना (स्थिर प्रकार) को संचालित करने के लिए

• सबसे पहले ट्रांसमीटर को पावर करें, अपनी कार पर जाएं और रिसीवर को चालू करें। यदि ट्रांसमीटर और रिसीवर के बीच संबंध स्थापित होता है, तो यह 'कनेक्शन: ओके' प्रदर्शित करेगा और कार और सेंसर के बीच की दूरी को दर्शाता है।

• यदि यह प्रदर्शित करता है कि 'कनेक्शन स्थापित नहीं है' तो रिसीवर पर दिए गए पुश बटन को दबाएं।

• यह आपकी कार अल्ट्रासोनिक सेंसर से दूर है, तो 'कार रेंज में नहीं' प्रदर्शित कर सकता है।

• अपनी कार को अपने पार्किंग प्लॉट पर रिवर्स या फॉरवर्ड करें।

• कार और सेंसर के बीच की दूरी 1.0 मीटर से कम होने पर बजर बीप हो जाता है।

• जैसे ही आप सेंसर को बीप की दर के करीब पहुंचते हैं, एक बार जब कार 1 फुट या 0.3 मीटर तक पहुंच जाती है, तो कार को रोकने के लिए डिस्प्ले प्रांप्ट होता है और आपको रुकना चाहिए।

• ट्रांसमीटर रीसेट हो जाएगा और स्वचालित रूप से निष्क्रिय हो जाएगा। अपनी कार में रिसीवर बंद करें। यदि आपने ट्रांसमीटर को बैटरी से संचालित किया है, तो उसे भी बंद कर दें।

इस कार पार्किंग सेंसर अलार्म सर्किट (मोबाइल पार्किंग सेंसर) को कैसे संचालित करें

• यह पहले से बताए गए निर्देश के समान है यदि रिसीवर 'कार रेंज में नहीं' प्रदर्शित करता है तो आपकी कार बाधा से बहुत दूर है।

• जब आप इंजन बंद करते हैं, तो ट्रांसमीटर सर्किट बंद होना चाहिए। रिसीवर सर्किट को मैन्युअल रूप से बंद करें।

लेखक का प्रोटोटाइप:

ट्रांसमीटर:

रिसीवर:

कार पार्किंग सेंसर अलार्म प्रोटोटाइप


की एक जोड़ी: BLDC और अल्टरनेटर मोटर्स के लिए यूनिवर्सल ESC सर्किट अगला: Arduino का उपयोग करके उच्च वर्तमान मोटर नियंत्रण सर्किट