Daftar Isi:
- Perlengkapan
- Langkah 1: Tentukan Cara Kerjanya: Lampu Lalu Lintas Pejalan Kaki
- Langkah 2: Bangun Sirkuit
- Langkah 3: Membuat Mesin Negara
- Langkah 4: Menjalankan Contoh
- Langkah 5: Membuat Kode C++
- Langkah 6: Dapatkan Contoh
Video: State Machine di Arduino - Lampu Lalu Lintas Pejalan Kaki: 6 Langkah (dengan Gambar)
2024 Pengarang: John Day | [email protected]. Terakhir diubah: 2024-01-30 09:55
Hai! Saya akan menunjukkan cara memprogram lampu lalu lintas pejalan kaki untuk Arduino di C++ dengan mesin keadaan terbatas dengan menggunakan YAKINDU Statechart Tools. Ini akan menunjukkan kekuatan mesin negara dan dapat digunakan sebagai cetak biru untuk proyek lebih lanjut.
Perlengkapan
Anda hanya membutuhkan Arduino, beberapa tombol, LED, Jumper dan resistor.
Perangkat keras
- 2x Tombol Tekan
- 2x Lampu Lalu Lintas atau Anda dapat menggunakan LED dengan resistor 220 Ohm
- 2x 10k Ohm resistor
- Papan tempat memotong roti
- Peloncat
- Arduino Uno/Mega (atau lainnya, yang mendapatkan setidaknya 8 GPIO)
Perangkat lunak
- Alat Bagan Negara YAKINDU
- Eclipse C++ IDE untuk Arduino
Langkah 1: Tentukan Cara Kerjanya: Lampu Lalu Lintas Pejalan Kaki
Pada awalnya, kita perlu menentukan bagaimana lampu lalu lintas pejalan kaki seharusnya bekerja. Saya sudah mencoba merangkum poin-poinnya:
- Dua lampu lalu lintas digunakan - satu untuk mobil, yang lain untuk pejalan kaki
- Lampu lalu lintas dapat dinyalakan dengan menggunakan tombol
- Pejalan kaki dapat meminta penyeberangan jalan dengan menekan tombol
- Lampu lalu lintas yang dimatikan ditunjukkan dengan mengedipkan kedua LED kuning
- Setelah menyala, lampu lalu lintas menunggu 10 detik dalam mode aman
- Setelah mode aman, mobil selalu memiliki fase hijau sampai pejalan kaki memulai permintaan
- Permintaan pejalan kaki untuk penyeberangan ditunjukkan dengan menyalakan LED kuning
Selain itu, ada beberapa peristiwa waktu tergantung pada cara bagaimana lampu lalu lintas bekerja.
Langkah 2: Bangun Sirkuit
Mari kita mulai mengatur sirkuit. Dalam contoh saya, seperti yang Anda lihat pada gambar pratinjau, saya telah menggunakan Arduino Mega 2560, tetapi setiap Arduino lain dengan setidaknya delapan GPIO seharusnya baik-baik saja. Selain itu, saya telah membeli beberapa lampu lalu lintas 5V di Amazon. Hanya mencari Lampu Lalu Lintas Arduino. Jika tidak, Anda cukup menggunakan enam LED berbeda. Selanjutnya, Anda memerlukan dua tombol tekan dan dua resistor 10k Ohm.
Tiga LED kiri digunakan untuk lalu lintas mobil dan tiga LED kanan untuk pejalan kaki, di mana yang kuning dapat menunjukkan permintaan.
Langkah 3: Membuat Mesin Negara
Jadi, seperti yang Anda lihat, ada dua status utama dengan anggota komposit - status aktif dan nonaktif. Anda dapat beralih di antara kedua status dengan menggunakan acara onOff, yang dihubungkan ke tombol ON/OFF. Dalam keadaan awal, keadaan mati, kedua LED kuning mulai berkedip setiap detik. Setelah lampu lalu lintas dinyalakan, itu dimulai di Safestate. Setelah 10 detik, perilaku khas lampu lalu lintas akan ditangani. LED merah dan kuning akan menyala dalam keadaan StreetPrepare dan lampu lalu lintas berubah menjadi hijau setelah 2 detik lagi. Mulai sekarang, state machine sedang menunggu event pedestrianRequest, yang disambungkan ke tombol kedua. Setelah mengirim acara, permintaan akan ditunjukkan dengan mengaktifkan LED kuning setiap detik dalam status PedWating. 7 detik kemudian lampu lalu lintas akan berubah menjadi kuning terlebih dahulu dan kemudian menjadi merah sampai pejalan kaki mendapatkan sinyal untuk masuk dalam keadaan PedestrianGreen. Setelah ini, PedestrianRed diaktifkan dan siklus berulang. Ini hanya dapat diinterupsi dengan mematikan lampu lalu lintas lagi.
Langkah 4: Menjalankan Contoh
Langkah 5: Membuat Kode C++
Kode C++ yang dihasilkan adalah switch-case klasik untuk menangani logika mesin negara. Ini hanya cuplikan kode tampilannya:
void TrafficLightCtrl::runCycle(){ clearOutEvents(); for (stateConfVectorPosition = 0; stateConfVectorPosition < maxOrthogonalStates; stateConfVectorPosition++) { switch (stateConfVector[stateConfVectorPosition]) { case main_region_on_r1_StreetGreen: { main_region_on_r1_StreetGreen_react(true); merusak; } kasus main_region_on_r1_PedWaiting_r1_waitOn: { main_region_on_r1_PedWaiting_r1_waitOn_react(true); merusak; } default: istirahat; } clearInEvents(); }
Langkah 6: Dapatkan Contoh
Seluruh contoh siap untuk dikompilasi & dijalankan. Muncul dengan YAKINDU Statechart Tools, yang gratis untuk penggunaan non-komersial. Setelah mengunduh, Anda dapat mengimpor contoh langsung di alat:
File -> Baru -> Contoh -> Contoh Statechart YAKINDU -> Berikutnya -> Lampu Lalu Lintas (C++) untuk Arduino
> DI SINI Anda dapat mengunduh Alat Statechart YAKINDU <<
Anda dapat memulai dengan uji coba 30 hari. Setelah itu, Anda harus mendapatkan lisensi, yang gratis untuk penggunaan non-komersial!
Direkomendasikan:
Keamanan Cyber-Fisik dari Parkir Cerdas dan Kontrol Lalu Lintas: 6 Langkah
Keamanan Cyber-Fisik dari Parkir Cerdas dan Kontrol Lalu Lintas: Internet berkembang dengan miliaran perangkat termasuk mobil, sensor, komputer, server, lemari es, perangkat seluler, dan banyak lagi dengan kecepatan yang belum pernah terjadi sebelumnya. Hal ini menimbulkan banyak risiko dan kerentanan dalam infrastruktur, operasi, dan
Sinyal Lalu Lintas Menggunakan Sensor Arduino dan Ultrasonik: 4 Langkah
Sinyal Lalu Lintas Menggunakan Arduino dan Sensor Ultrasonik: Dengan era teknologi pintar, semuanya menjadi lebih pintar dan sistem transportasi pintar adalah salah satu bidang yang akan memberi dampak besar pada kehidupan kita. Awalnya diterbitkan di: https://highvoltages.co/tutorial/arduino-tutorial/traffic-sig
Pemeriksaan Laporan Lalu Lintas (NL) Dengan Keset: 6 Langkah
Pemeriksaan Laporan Lalu Lintas (NL) Dengan Keset: Dalam instruksi ini saya akan menjelaskan cara membuat keset yang akan memeriksa laporan lalu lintas jalan raya Belanda. Begitu Anda melangkah keluar dengan keset dan ada kemacetan lalu lintas di rute Anda, keset akan berubah menjadi warna merah. Ketika tidak ada lalu lintas
SMART MAKE HATC - Kontrol Lalu Lintas Udara Buatan Sendiri Dengan 4x RTL-SDR ($50): 7 Langkah
SMART MAKE HATC - Kontrol Lalu Lintas Udara Buatan Sendiri Dengan 4x RTL-SDR (50$): Bukti konsep biaya rendah HATC - Kontrol Lalu Lintas Udara Buatan SendiriDi bawah ini adalah kumpulan informasi sederhana tentang penerimaan lalu lintas udara, tautan dari beberapa perangkat lunak yang akan digunakan dan proposal untuk bukti sistem perangkat keras konsep
Pejalan Kaki Enam Kaki Dengan Sendi Kuat!: 8 Langkah
Pejalan Kaki Enam Kaki Dengan Sendi Kuat !: https://www.instructables.com/id/Hexabot_Build_a_heavy_duty_six_legged_robot/Instruksi terkait di atas luar biasa. Ini keren, dan sambungan yang digunakannya (lubang yang dibor di tabung kotak) akan cepat lepas dan terdegradasi seiring waktu. Jadi, saya memutuskan untuk menjadi