Sirkuit Sensor Parkir Mobil Terbalik dengan Alarm

Coba Instrumen Kami Untuk Menghilangkan Masalah





Pada postingan kali ini kita akan membuat rangkaian alarm sensor parkir mundur mobil dengan menggunakan arduino, sensor ultrasonic dan modul transceiver 2.4 GHz. Proyek ini dapat menjadi fitur tambahan untuk mobil Anda jika tidak menggunakan sensor parkir built-in.

pengantar

Proyek yang diusulkan memiliki fungsi yang mirip dengan sensor parkir mobil tradisional, seperti jarak antara mobil dan penghalang pada layar LCD dan peringatan bip audio.



Proyek yang diusulkan dapat digunakan sebagai sensor parkir stasioner, yaitu sensor yang ditempatkan pada garasi Anda atau sensor parkir bergerak, yaitu sensor yang ditempatkan di bagian belakang mobil Anda jika Anda siap untuk mengambil risiko kecil pemasangan kabel proyek dengan sistem kelistrikan mobil.

Namun, motivasi proyek ini adalah membangun sensor parkir stasioner yang dapat dibangun tanpa risiko.



Proyek alarm sensor parkir mobil menggunakan Arduino ini memiliki dua bagian yaitu transmitter yang terdiri dari sensor ultrasonic, arduino, buzzer dan modul transceiver 2.4 GHz. Sirkuit ini akan mengukur jarak antara mobil dan halangan.

Penerima terdiri dari modul transceiver 2,4 GHz, arduino dan layar LCD 16x2.

Sirkuit penerima akan ditempatkan di dalam mobil dengan baterai 9V sebagai catu daya. Penerima akan menampilkan jarak antara mobil dan rintangan dalam meter.

Pemancar akan mengirimkan data sensor ke penerima di dalam mobil melalui tautan 2,4 GHz. Tautan komunikasi dibuat menggunakan modul NRF24L01.

Sekarang mari kita lihat ringkasan modul NRF24L01.

Ilustrasi NRF24L01:

Modul NRF24L01

Modul ini dirancang untuk membangun hubungan komunikasi dua arah antara dua mikrokontroler. Ia bekerja pada protokol komunikasi SPI. Ini memiliki 125 saluran berbeda dan memiliki kecepatan data maksimum 2Mbps. Ini memiliki jangkauan maksimum teoritis 100 meter.

Konfigurasi pin:

Ini beroperasi pada 3.3V, jadi 5 volt pada terminal Vcc dapat mematikannya. Namun, dapat menerima sinyal data 5V dari mikrokontroler.

Sekarang mari beralih ke pemancar proyek.

Sirkuit Pemancar Alarm Sensor Parkir Mobil

Sirkuit ini dikabelkan dengan modul NRF24L01 dengan 5 kabel yang terhubung ke pin I / O digital arduino dan sisanya ke 3.3V dan ground. Pin # 2 dihubungkan ke basis transistor yang akan memberi daya pada bel.

Terminal daya sensor ultrasonik terhubung ke 5V dan GND dan A0 terhubung ke pin pemicu dan A1 terhubung ke pin gema sensor.

Data jarak sensor dikirimkan melalui modul NRF24L01 ke penerima.

-------------------------------------------------- ----------------------------------------- Silakan unduh file perpustakaan dari tautan berikut: github.com/nRF24/RF24.git----------------------------------------- -------------------------------------------------- ---

Program untuk Transmitter:

//----------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-------------//

Itu menyimpulkan pemancar.

Penerima:

Receiver memiliki layar LCD 16x2 untuk menampilkan pengukuran jarak. Koneksi tampilan diberikan di bawah ini:

Sirkuit Layar LCD Alarm Sensor Parkir Mobil

Sesuaikan potensiometer 10K untuk kontras tampilan yang lebih baik.

Skema di atas adalah sisa rangkaian penerima. Tombol tekan disediakan untuk mengatur ulang arduino jika koneksi tautan 2,4 GHz tidak dibuat.

Sirkuit penerima ditempatkan di dalam mobil itu dapat menjadi daya dari baterai 9V. Penerima dapat ditempatkan di kotak sampah yang mungkin membuat mobil Anda terlihat bagus. Kotak sampah dapat ditempatkan di mobil Anda di atas kluster instrumen atau tempat nyaman mana pun yang Anda inginkan.

Program untuk Penerima:

//--------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-------//

Sekarang, itu menyimpulkan penerima.

Cara menempatkan sensor sebagai sensor parkir stasioner:

Bagaimana menempatkan sensor sebagai sensor parkir bergerak:

Pada sensor parkir bergerak, sensor ultrasonik pemancar ditempatkan di bagian belakang mobil, dengan sumber daya dari aki mobil. Ini harus dihubungkan sedemikian rupa sehingga ketika Anda mematikan kunci kontak, arduino harus memutus dari suplai.

Penerima dapat ditempatkan di dalam seperti yang disebutkan sebelumnya.

Cara mengoperasikan proyek sensor Parkir Mobil ini (tipe Stasioner)

• Nyalakan Transmitter ON terlebih dahulu, pergi ke mobil Anda dan hidupkan receiver. Jika koneksi antara pemancar dan penerima dibuat, itu akan menampilkan 'Koneksi: OK' dan menunjukkan jarak antara mobil dan sensor.

• Jika menampilkan 'Sambungan tidak dibuat' tekan tombol tekan yang disediakan pada penerima.

• Mungkin menampilkan 'Mobil tidak dalam jangkauan' jika kaleng Anda jauh dari sensor ultrasonik.

• Dengan lembut bawa mobil Anda mundur atau maju ke tempat parkir Anda.

• Saat jarak antara mobil dan sensor kurang dari 1,0 meter, bel berbunyi bip.

• Saat Anda mendekati sensor lebih dekat, laju bip meningkat, setelah mobil mencapai 1 kaki atau 0,3 meter, tampilan meminta untuk menghentikan mobil dan Anda harus berhenti.

• Pemancar akan disetel ulang dan beralih ke siaga secara otomatis. Matikan receiver di mobil Anda. Jika Anda memberi daya pada pemancar dengan baterai, matikan juga.

Cara mengoperasikan rangkaian alarm sensor parkir mobil ini (Mobile Parking sensor)

• Instruksi serupa yang dinyatakan sebelumnya jika receiver menampilkan “Mobil tidak dalam jangkauan”, mobil Anda jauh dari penghalang.

• Saat Anda mematikan mesin, sirkuit pemancar harus mati. Matikan sirkuit penerima secara manual.

Prototipe Penulis:

Pemancar:

Penerima:

Prototipe Alarm Sensor Parkir Mobil


Sepasang: Sirkuit ESC Universal untuk motor BLDC dan Alternator Berikutnya: Rangkaian Kontrol Motor Arus Tinggi menggunakan Arduino