Daftar Isi:
- Langkah 1: Daftar Bagian
- Langkah 2: Menyiapkan Raspberry Pi
- Langkah 3: Raspberry Pi dan Kamera Mount
- Langkah 4: Perakitan Lampu Lalu Lintas
- Langkah 5: Pengkabelan (Bagian 1)
- Langkah 6: Membangun Lingkungan
- Langkah 7: Menyelesaikan Bingkai PVC
- Langkah 8: Pengkabelan (Bagian 2)
- Langkah 9: Selesai
- Langkah 10: Ekstra (Foto)
Video: Traffic Pattern Analyzer Menggunakan Live Object Detection: 11 Langkah (dengan Gambar)
2024 Pengarang: John Day | [email protected]. Terakhir diubah: 2024-01-30 09:57
Di dunia sekarang ini, lampu lalu lintas sangat penting untuk jalan yang aman. Namun, sering kali, lampu lalu lintas dapat mengganggu dalam situasi di mana seseorang mendekati lampu saat lampu menyala merah. Ini membuang-buang waktu, terutama jika lampu menghalangi satu kendaraan melewati persimpangan saat tidak ada orang lain di jalan. Inovasi saya adalah lampu lalu lintas pintar yang menggunakan deteksi objek langsung dari kamera untuk menghitung jumlah mobil di setiap jalan. Perangkat keras yang akan saya gunakan untuk proyek ini adalah Raspberry Pi 3, modul kamera, dan berbagai perangkat keras elektronik untuk lampu itu sendiri. Menggunakan OpenCV pada Raspberry Pi, informasi yang dikumpulkan akan dijalankan melalui kode yang mengontrol LED melalui GPIO. Tergantung pada angka-angka ini, lampu lalu lintas akan berubah, membiarkan mobil lewat dengan urutan yang paling optimal. Dalam hal ini, jalur dengan mobil paling banyak akan dibiarkan lewat sehingga jalur dengan mobil yang lebih sedikit akan menganggur, mengurangi polusi udara. Ini akan menghilangkan situasi ketika banyak mobil berhenti sementara tidak ada mobil di jalan yang berpotongan. Ini tidak hanya menghemat waktu untuk semua orang, tetapi juga menyelamatkan lingkungan. Jumlah waktu orang berhenti di rambu berhenti dengan mesin mereka idling meningkatkan jumlah polusi udara, jadi dengan membuat lampu lalu lintas yang cerdas, saya dapat mengoptimalkan pola lampu sehingga mobil menghabiskan waktu sesedikit mungkin saat kendaraan mereka berhenti. Pada akhirnya, sistem lampu lalu lintas ini dapat diterapkan di kota-kota, pinggiran kota, atau bahkan pedesaan agar lebih efisien bagi masyarakat akan mengurangi polusi udara.
Langkah 1: Daftar Bagian
Bahan:
Raspberry Pi 3 Model B v1.2
Kamera Raspberry Pi v2.1
Catu daya mikro USB 5V / 1A
Monitor HDMI, keyboard, kartu SD mouse dengan Raspbian Jessie
Kabel breakout Raspberry Pi GPIO
LED merah, kuning, hijau (2 dari setiap warna)
Konektor perempuan untuk Raspberry Pi (7 warna unik)
Berbagai macam kawat pengukur 24 (warna berbeda) + tabung panas menyusut
Panel atau platform kayu 2'x2'
Sekrup kayu
Permukaan hitam (kardus, papan busa, papan poster, dll.)
Pita putih (atau warna apa pun selain hitam) untuk marka jalan
Cat semprot hitam (untuk PVC)
” Pipa PVC dengan sambungan siku 90 derajat (2), soket T (1), adaptor perempuan (2)
Peralatan
Solder Besi
Pencetak 3D
Bor dengan berbagai mata bor
Papan tempat memotong roti
Pistol panas
Langkah 2: Menyiapkan Raspberry Pi
Muat kartu SD ke Raspberry Pi dan boot.
Ikuti panduan ini untuk menginstal pustaka OpenCV yang diperlukan. Pastikan Anda memiliki waktu untuk melakukan langkah ini, karena menginstal pustaka OpenCV dapat memakan waktu beberapa jam. Pastikan juga untuk memasang dan menyiapkan kamera Anda di sini.
Anda juga harus menginstal pip:
kamera foto
gpiozero
RPi. GPIO
Berikut adalah kode yang sudah selesai:
dari picamera.array impor PiRGArray
dari picamera impor PiCamera
impor picamera.array
impor numpy sebagai np
waktu impor
impor cv2
impor RPi. GPIO sebagai GPIO
waktu impor
GPIO.setmode(GPIO. BCM)
untuk saya di (23, 25, 16, 21):
GPIO.setup(i, GPIO. OUT)
kamera = PiKamera()
cam.resolusi=(480, 480)
cam.framerate=30
mentah=PiRGBArray(cam, ukuran=(480, 480))
waktu.tidur(0.1)
colorLower = np.array([0, 100, 100])
colorUpper = np.array([179, 255, 255])
initvert = 0
inithoriz = 0
penghitung = 0
untuk bingkai di cam.capture_continuous(raw, format="bgr", use_video_port=True):
bingkai = bingkai.array
hsv = cv2.cvtColor(bingkai, cv2. COLOR_BGR2HSV)
topeng = cv2.inRange(hsv, colorLower, colorUpper)
topeng = cv2.blur(topeng, (3, 3))
mask= cv2.dilate(mask, Tidak ada, iterasi=5)
mask= cv2.erode(mask, Tidak ada, iterasi=1)
mask= cv2.dilate(mask, Tidak Ada, iterasi=3)
saya, ambang = cv2.threshold(mask, 127, 255, cv2. THRESH_BINARY)
cnts = cv2.findContours(thresh, cv2. RETR_TREE, cv2. CHAIN_APPROX_SIMPLE)[-2]
pusat = Tidak ada
puncak = 0
horiz = 0
jika len(cnts) > 0:
untuk c di cnts:
(x, y), radius = cv2.minEnclosingCircle(c)
pusat = (int(x), int(y))
jari-jari = int(jari-jari)
cv2.circle(bingkai, tengah, radius, (0, 255, 0), 2)
x = int(x)
y = int(y)
jika 180 < x < 300:
jika y > 300:
simpul = simpul +1
elif y < 180:
simpul = simpul +1
lain:
simpul = simpul
jika 180 < y < 300:
jika x > 300:
horiz = horiz +1
elif x < 180:
horiz = horiz +1
lain:
horiz = horiz
jika vert != initvert:
print"Mobil di jalur vertikal: " + str(vert)
initvert = vert
print"Mobil di jalur mendatar: " + str(horiz)
inithoriz = horiz
cetak '----------------------------'
jika horiz != inithoriz:
print"Mobil di jalur vertikal: " + str(vert)
initvert = vert
print"Mobil di jalur mendatar: " + str(horiz)
inithoriz = horiz
cetak '----------------------------'
jika vert < horiz:
GPIO.keluaran(23, GPIO. TINGGI)
GPIO.output(21, GPIO. HIGH)
GPIO.output(16, GPIO. LOW)
GPIO.output(25, GPIO. LOW)
jika horiz < vert:
GPIO.keluaran (16, GPIO. TINGGI)
GPIO.output(25, GPIO. HIGH)
GPIO.output(23, GPIO. LOW)
GPIO.output(21, GPIO. LOW)
cv2.imshow("Bingkai", bingkai)
cv2.imshow("HSV", hsv)
cv2.imshow("Arik", ambang)
mentah.truncate(0)
jika cv2.waitKey(1) & 0xFF == ord('q'):
merusak
cv2.destroySemuaWindows()
GPIO.pembersihan()
Langkah 3: Raspberry Pi dan Kamera Mount
Cetak 3D casing dan kamera dipasang dan dirakit.
Langkah 4: Perakitan Lampu Lalu Lintas
Uji lampu lalu lintas dengan papan tempat memotong roti. Setiap set LED yang berlawanan berbagi anoda, dan semuanya berbagi katoda (tanah) yang sama. Harus ada total 7 kabel input: 1 untuk setiap pasang LED (6) + 1 kabel ground. Solder dan pasang lampu lalu lintas.
Langkah 5: Pengkabelan (Bagian 1)
Solder pin header betina ke sekitar 5 kaki kawat. Ini adalah sisi-sisi yang nantinya akan dililitkan kabel-kabel ini melalui pipa PVC. Pastikan untuk dapat membedakan set lampu yang berbeda (2 x 3 warna dan 1 ground). Dalam hal ini, saya menandai ujung satu set kabel merah, kuning, dan biru dengan sharpie jadi saya tahu yang mana.
Langkah 6: Membangun Lingkungan
Membangun lingkungan Buat palet kayu persegi 2 kaki seperti ini. Kayu bekas baik-baik saja karena akan ditutup-tutupi. Bor lubang yang pas dengan adaptor Anda. Bor sekrup melalui sisi palet untuk mengamankan pipa PVC pada tempatnya. Potong papan busa hitam agar sesuai dengan palet kayu di bawahnya. Bor lubang yang pas di sekitar pipa PVC. Ulangi di sudut yang berlawanan. Tandai jalan dengan selotip putih.
Langkah 7: Menyelesaikan Bingkai PVC
Di pipa atas, bor lubang yang dapat memuat seikat kabel. Sebuah lubang kasar baik-baik saja selama Anda dapat mengakses bagian dalam pipa. Ulirkan kabel melalui pipa PVC dan sambungan siku untuk uji kecocokan. Setelah semuanya selesai, cat PVC dengan cat semprot hitam untuk membersihkan tampilan rangka utama. Potong celah kecil di salah satu pipa PVC agar sesuai dengan T-joint. Tambahkan pipa PVC ke t-joint ini untuk menggantung lampu lalu lintas. Diameternya bisa sama dengan rangka utama (1/2 ), tetapi jika Anda menggunakan pipa yang lebih tipis, pastikan 7 kabel dapat menembus. Bor lubang melalui pipa ini untuk menggantung lampu lalu lintas.
Langkah 8: Pengkabelan (Bagian 2)
Re-wire semuanya seperti yang diuji sebelumnya. Periksa kembali lampu lalu lintas dan kabel dengan papan tempat memotong roti untuk memastikan semua sambungan telah dibuat. Solder lampu lalu lintas ke kabel yang datang melalui lengan T-joint. Bungkus kabel yang terbuka dengan pita listrik untuk mencegah celana pendek dan untuk tampilan yang lebih bersih.
Langkah 9: Selesai
Untuk menjalankan kode, pastikan untuk mengatur sumber Anda sebagai ~/.profile dan cd ke lokasi proyek Anda.
Langkah 10: Ekstra (Foto)
Direkomendasikan:
Transfer Pembelajaran Dengan NVIDIA JetBot - Bersenang-senang Dengan Traffic Cone: 6 Langkah
Transfer Pembelajaran Dengan NVIDIA JetBot - Bersenang-senang Dengan Traffic Cones: Ajari robot Anda untuk menemukan jalur di labirin traffic cones menggunakan kamera dan model pembelajaran mendalam yang canggih
Cara Membuat Drone Menggunakan Arduino UNO - Membuat Quadcopter Menggunakan Mikrokontroler: 8 Langkah (dengan Gambar)
Cara Membuat Drone Menggunakan Arduino UNO | Membuat Quadcopter Menggunakan Mikrokontroler: PendahuluanKunjungi Saluran Youtube Saya Drone adalah gadget (produk) yang sangat mahal untuk dibeli. Pada postingan kali ini saya akan membahas, bagaimana cara membuatnya dengan harga murah?? Dan Bagaimana Anda bisa membuat sendiri seperti ini dengan harga murah … Nah di India semua bahan (motor, ESC
Remote Nirkabel Menggunakan Modul 2.4Ghz NRF24L01 Dengan Arduino - Penerima Pemancar 4 Saluran / 6 Saluran Nrf24l01 untuk Quadcopter - Helikopter Rc - Pesawat Rc Menggunakan Arduino: 5 Langkah (dengan Gambar)
Remote Nirkabel Menggunakan Modul 2.4Ghz NRF24L01 Dengan Arduino | Penerima Pemancar 4 Saluran / 6 Saluran Nrf24l01 untuk Quadcopter | Helikopter Rc | Pesawat Rc Menggunakan Arduino: Untuk mengoperasikan mobil Rc | Quadcopter | Drone | pesawat RC | RC boat, kita selalu membutuhkan receiver dan transmitter, misalkan untuk RC QUADCOPTER kita membutuhkan transmitter dan receiver 6 channel dan jenis TX dan RX itu terlalu mahal, jadi kami akan membuatnya di
HF Antenna Analyzer Dengan Arduino dan Modul DDS: 6 Langkah (dengan Gambar)
HF Antenna Analyzer Dengan Arduino dan Modul DDS: Hai Dalam Instruksi ini saya akan menunjukkan kepada Anda bagaimana saya membuat penganalisis antena berbiaya rendah yang dapat mengukur antena dan menampilkan VSWR-nya pada salah satu atau semua pita frekuensi HF. Ini akan menemukan VSWR minimum dan frekuensi yang sesuai untuk setiap band tetapi juga
Cara Membuat Subwoofer Traffic Light: 6 Langkah (Dengan Gambar)
Cara Membuat Subwoofer Traffic Light.: Mohon JANGAN curi traffic light&. Sebagai pengemudi dan pejalan kaki, saya memberi tahu Anda bahwa lebih baik menggunakan mengarahkan lalu lintas daripada mengguncang rumah atau mobil Anda dengan musik pilihan Anda. Tapi beruntung bagi saya, saya menemukan lampu merah kecil di doo berikutnya