Isi kandungan:

Sistem Lampu Lalu Lintas 4 Jalan Menggunakan Modul Tanpa Wayar 5 Arduino dan 5 NRF24L01: 7 Langkah (dengan Gambar)
Sistem Lampu Lalu Lintas 4 Jalan Menggunakan Modul Tanpa Wayar 5 Arduino dan 5 NRF24L01: 7 Langkah (dengan Gambar)

Video: Sistem Lampu Lalu Lintas 4 Jalan Menggunakan Modul Tanpa Wayar 5 Arduino dan 5 NRF24L01: 7 Langkah (dengan Gambar)

Video: Sistem Lampu Lalu Lintas 4 Jalan Menggunakan Modul Tanpa Wayar 5 Arduino dan 5 NRF24L01: 7 Langkah (dengan Gambar)
Video: Tutorial Membuat Traffic Lights atau Lampu Lalu Lintas dengan Menggunakan Arduino UNO + Script 2024, Julai
Anonim
Image
Image
Bercita-cita tinggi? Mungkin!
Bercita-cita tinggi? Mungkin!

Beberapa ketika yang lalu saya membuat Instructable yang memperincikan sepasang lampu isyarat di papan roti.

Saya juga membuat Instructable lain yang menunjukkan kerangka asas untuk menggunakan modul tanpa wayar NRF24L01.

Ini membuat saya berfikir!

Terdapat banyak peminat di seluruh dunia yang membina bandar model dan landasan kereta api, dan hampir selalu mempunyai lampu isyarat dengan beberapa keterangan.

Sebahagiannya adalah model yang berfungsi, dan yang lain hanya untuk tujuan estetik.

Bolehkah saya membuat model kerja sistem lampu isyarat empat arah dan menghubungkannya secara wayarles?

Saya duduk dan memikirkan senarai kemungkinan keperluan saya. Yang sedikit seperti ini.

Kawal 4 arah lalu lintas, seperti persimpangan jalan persimpangan.

Setiap arah mempunyai dua lampu; dan setiap pasangan mendapat arahan mereka secara wayarles dari beberapa jenis unit kawalan.

Dapat menentukan dan mengubah urutan operasi lampu,

  • 1, 2, 3, 4 - mengikut arah jam
  • 1, 3, 4, 2
  • 1, 4, 2, 3
  • 1, 4, 3, 2 - lawan arah jam
  • 1, 2, 4, 3
  • 1, 3, 2, 4
  • 1 + 3, 2 + 4 - 2 pada 2 off
  • 1 + 3, 2, 4
  • 1, 3, 2 + 4

Semua penjujukan akan dikendalikan oleh satu unit kawalan, dan unit penerima hanya menghidupkan dan mematikan lampu.

Ketika saya mengatakan membuat model, maksud saya, membuat model yang sebenarnya, tidak ada yang terlalu mewah, tetapi sesuatu yang sebenarnya akan kelihatan seperti yang sebenarnya, mungkin, mungkin ish.

Langkah 1: Bercita-cita tinggi? Mungkin

Keperluan bahagian utama:

Satu unit kawalan dan empat set lampu = lima Arduino dan lima modul tanpa wayar. AliExpress untuk menyelamatkan (sekali lagi).

Lapan lampu isyarat berdiri. Saya kurang meniru pencetak 3D, yang cenderung membekalkan lebih banyak makanan daripada produk yang boleh digunakan, tetapi saya fikir saya akan terus mencuba. Saya dapati beberapa di Thingiverse, www.thingiverse.com/thing-2157324

Model ini kelihatan paling rumit untuk pencetak saya. Saya mahukan lapan, jadi saya masih meneruskan nasib. Ternyata, saya mendapati bahawa setelah beberapa percubaan gagal, jika saya mengarahkan model ke arah tertentu (dari depan ke belakang), saya mendapat hasil yang wajar. Secara keseluruhan saya mencetak tiga belas, dan mendapat lapan yang boleh digunakan.

Itu adalah senarai bahagian utama yang disusun. Bahagian yang tinggal, saya sudah ada.

Senarai bahagian yang lengkap adalah

  • 5 x Arduino UNO
  • 5 x papan wayarles NRF24L01
  • 5 x papan pelarian YL-105 (atau yang serupa) untuk NRF24L0s
  • 8 x LED Merah
  • 8 x LED Kuning (saya tidak mempunyai LED oren)
  • 8 x LED Hijau
  • 4 x LED RGB
  • Perintang 28 x 220 Ohm
  • Papan roti / PCB ??
  • 8 x Model lampu isyarat
  • Header pin panjang 6 x 8 (yang keenam adalah untuk jarak pada papan kawalan, lihat video)
  • Kecilkan tiub
  • Wayar pelompat
  • Sekeping papan keras atau sesuatu yang rata
  • Kepingan kayu lain ??
  • Cat ??
  • Gam panas
  • Masa, Sabar dan pilihan alkohol

Langkah 2: Menulis Kod untuk Unit Kawalan

Inilah sedikit yang harus saya lakukan terlebih dahulu, sekiranya saya tidak dapat menguruskannya, yang semestinya akan menjadi pertunjukan pertunjukan.

Sejauh ini, ini adalah bahagian atau projek yang paling kompleks, tetapi juga yang paling menarik bagi saya.

Saya terpaksa duduk dan menentukan semua kemungkinan kombinasi perubahan cahaya dan bagaimana ia dapat bekerjasama secara serentak.

Seperti semua reka bentuk yang baik, ia bermula, di atas kertas, dengan senarai nombor yang sangat panjang, dan kerana saya ingin mempunyai banyak kemungkinan urutan operasi, senarai itu semakin panjang.

Tetapi, setelah saya gembira kerana saya mempunyai semua yang saya fikir diperlukan dan, setelah menatap halaman nombor untuk sementara waktu, OCD saya menyepak dan saya mula melihat corak.

Menyusun corak, saya berjaya mengumpulkan semua urutan menjadi satu array 3 dimensi tunggal dan dua tatasusunan 2 dimensi.

Yang harus saya buat sekarang adalah mencari jalan untuk memanipulasi tatasusunan tersebut untuk membuat urutan dan langkah ringan yang betul.

Perlu beberapa lama, tetapi saya berjaya mencapainya dalam masa kurang dari lima puluh baris kod, termasuk komen dll.

Kod untuk ini bukan untuk orang yang lemah lembut, tetapi jika anda memahami tatasusunan pelbagai dimensi, seharusnya tidak terlalu sukar untuk diikuti. Atau keluk pembelajaran untuk yang lain.

Maksudnya, saya percaya ia berfungsi, dan tidak semestinya memerlukan perubahan. Tetapi …………

Langkah 3: NRF24L01 Breakout Board Mod

NRF24L01 Breakout Board Mod
NRF24L01 Breakout Board Mod
NRF24L01 Breakout Board Mod
NRF24L01 Breakout Board Mod
NRF24L01 Breakout Board Mod
NRF24L01 Breakout Board Mod
NRF24L01 Breakout Board Mod
NRF24L01 Breakout Board Mod

Modul NRF24L01 dan papan pemecah YL-105, sayangnya, tidak begitu mesra dengan papan roti.

Papan pemecah keluar untuk menyelesaikan masalah dan yang lebih penting, menjadikannya toleran 5v, tetapi, masih tidak mesra papan roti.

Oleh itu, saya mendapat sedikit inventif.

Dalam koleksi ‘barang’ saya, saya mempunyai sejumlah tajuk 6 pin dengan pin panjang. Jenis yang diperlukan untuk membuat Arduino Shields.

Saya mengambil salah satu dari ini dan membengkokkan pin pada 90 darjah.

Saya mengeluarkan salah satu rel elektrik dari papan roti, dan memasukkan header ke tepi papan roti.

Itu meninggalkan pin kuasa di papan pemecah. Mereka kini menghalangi.

Oleh itu, saya mengeluarkannya dan meletakkannya di bahagian lain dari papan pelarian sehingga kini mereka menonjol dari bahagian belakang papan.

Untuk tujuan Instructable ini, saya memerlukan lima modul NRF24L01, jadi saya memasangnya di sepanjang papan roti dan kemudian memasang rel kuasa di sepanjang semua pin kuasa pada papan pemecah.

Ia kelihatan agak kemas sehingga saya menghubungkan Arduino dan ia menjadi agak sesak.

Tambahan, yang paling penting, setelah rel elektrik disambungkan, semua Arduino akan disambungkan ke sumber yang sama dan itulah yang saya cuba elakkan, jadi saya melepaskannya lagi.

Saya akan menyimpan papan dengan beberapa modul NRF24L01 untuk prototaip pada masa akan datang, jadi tidak membuang masa sepenuhnya.

Langkah 4: Unit Lampu Lalu Lintas

Unit Lampu Lalu Lintas
Unit Lampu Lalu Lintas
Unit Lampu Lalu Lintas
Unit Lampu Lalu Lintas
Unit Lampu Lalu Lintas
Unit Lampu Lalu Lintas

Saya menjumpai sebilangan kecil roti roti 170. Ini tidak mempunyai landasan kuasa sehingga papan pemecah ubah suai saya tetap sesuai. Walaupun pada sudut sedikit kerana ketinggian papan pelarian.

Saya membina empat lampu isyarat yang sama, wayar warna yang sama, kedudukan dan lain-lain. Mereka kini benar-benar berdiri sendiri.

Untuk unit kawalan, saya meletakkan modul NRF24L01 pada PCB dengan LED RGB. Saya menggunakan RGB kerana, walaupun saya tidak perlu melihat semua lampu, hanya merah dan hijau, mereka kurang mengambil ruang.

Menyambungkan LED ke Arduino dengan cara biasa dan menambahkan sedikit kod untuk memaparkan status merah atau hijau setiap set lampu isyarat.

Saya cuba selaras dengan warna pendawaian saya supaya saya dapat melihat dengan mudah jika saya melakukan sesuatu yang berbeza di salah satu papan.

Saya mempunyai beberapa set petunjuk Dupont yang pendek, dan kerana petunjuknya tersekat, bahagian ini menjadikan bahagian ini agak mudah.

NRF24L01:

  • CE Orange To Arduino pin 10 (ditentukan dalam kod)
  • CSN Yellow To Arduino pin 9 (ditentukan dalam kod)
  • SCK Green To Arduino pin 13 (wajib)
  • MOSI Blue To Arduino pin 11 (wajib)
  • MISO Purple To Arduino pin 12 (wajib)
  • Vcc Merah Ke 5v. Sekiranya anda tidak menggunakan papan pemecah, ini mestilah 3.3v.
  • GND Brown Ke Arduino GND

Unit cahaya dan pin Arduino ke LED:

  • Merah untuk LED merah
  • Jingga untuk LED Kuning (saya tidak mempunyai LED oren)
  • Hijau untuk LED hijau
  • Hitam untuk GND

Satu-satunya penyimpangan saya adalah ketika saya menyambungkan Control Arduino ke LED RGB. Saya menggunakan wayar putih dan kelabu kerana kehabisan kabel merah.

Langkah 5: Lampu Lalu Lintas dan Ujian

Image
Image
Lampu Lalu Lintas dan Ujian
Lampu Lalu Lintas dan Ujian
Lampu Lalu Lintas dan Ujian
Lampu Lalu Lintas dan Ujian

Itulah kod yang telah dilengkapkan dan setiap kawalan mandiri juga selesai. Yang saya perlukan sekarang adalah lampu isyarat itu sendiri.

Seperti yang saya katakan sebelumnya, saya menemui model yang tidak rumit di Thingiverse dan berjaya mencetak lapan yang tidak kelihatan terlalu buruk.

Saya memasang LEDS dengan perintang 200 Ohm yang diperlukan dan pautan dan wayar tanah.

Kecilkan plag penyambung, dan lekatkan panas di tempatnya.

Saya memutuskan untuk melukisnya hitam setelah semua LED dipasang. Idea yang tidak baik, saya sepatutnya melakukannya terlebih dahulu.

Saya menyiapkan semuanya untuk ujian sebelum melangkah lebih jauh.

Langkah 6: Persimpangan Jalan

Persimpangan Jalan
Persimpangan Jalan
Persimpangan Jalan
Persimpangan Jalan
Persimpangan Jalan
Persimpangan Jalan
Persimpangan Jalan
Persimpangan Jalan

Saya memutuskan untuk memasang semuanya di atas papan, jadi sekarang saya harus membuat semacam persimpangan jalan sama.

Saya tinggal di UK jadi kami memandu di jalan yang salah di sini, dan oleh itu, saya membuat persimpangan saya sebagai mesra Inggeris seperti yang dibenarkan oleh kemahiran seni saya yang lemah.

Ini cukup mudah, hanya memakan masa; dan saya yakin bahawa tidak ada persimpangan jalan yang kelihatan seperti itu, tetapi saya tidak mempunyai jalan berlubang.

Saya tidak mahu mengorbankan Arduinos saya secara kekal untuk projek ini, jadi saya berkompromi dengan mengisi masing-masing dengan 10mm baki dan panas melekatkan penahan ke dasar papan.

Apa yang saya buat ialah merekatkan papan roti mini di sebelah Arduino.

Pertama, ia memegang NRF24L01 dan papan pelarian dari dasar persimpangan jalan, dan kedua, saya jarang menggunakan Arduino tanpa papan roti, jadi mereka tetap berguna seperti itu.

Langkah 7: Selesai

Semua Selesai
Semua Selesai
Semua Selesai
Semua Selesai

Semua fail kod telah disertakan.

Saya tidak membaca kod di sini kerana Instructable ini cukup lama tanpanya.

Saya harap ini menjadi Instructable yang berguna, walaupun hanya menunjukkan cara mengendalikan sebilangan papan Arduino lain tanpa wayar dengan NRF24L01 dengan harga yang sangat berpatutan.

Sekiranya anda mempunyai sebarang pertanyaan, jangan ragu untuk membuat komen dan saya akan berusaha sebaik mungkin untuk membantu.

Disyorkan: