Isi kandungan:
- Bekalan
- Langkah 1: Tentukan Cara Berfungsi: Lampu Lalu Lintas Pejalan Kaki
- Langkah 2: Bina Litar
- Langkah 3: Membuat Mesin Negara
- Langkah 4: Menjalankan Contoh
- Langkah 5: Kod C ++ yang dihasilkan
- Langkah 6: Dapatkan Contohnya
Video: Mesin Negeri di Arduino - Lampu Lalu Lintas Pejalan Kaki: 6 Langkah (dengan Gambar)
2024 Pengarang: John Day | [email protected]. Diubah suai terakhir: 2024-01-30 11:09
Hai! Saya akan menunjukkan kepada anda cara memprogram lampu isyarat pejalan kaki untuk Arduino di C ++ dengan mesin keadaan terhingga dengan menggunakan YAKINDU Statechart Tools. Ini akan menunjukkan kehebatan mesin negara dan dapat digunakan sebagai cetak biru untuk projek selanjutnya.
Bekalan
Anda hanya memerlukan Arduino, beberapa butang tekan, LED, Jumper dan perintang.
Perkakasan
- Butang Tekan 2x
- Lampu isyarat 2x atau anda boleh menggunakan LED dengan 220 Ohm perintang
- Perintang 2x 10k Ohm
- Papan roti
- Pelompat
- Arduino Uno / Mega (atau yang lain, yang mendapat sekurang-kurangnya 8 GPIO)
Perisian
- Alat Carta Negeri YAKINDU
- Eclipse C ++ IDE untuk Arduino
Langkah 1: Tentukan Cara Berfungsi: Lampu Lalu Lintas Pejalan Kaki
Pada mulanya, kita perlu menentukan cara lampu isyarat pejalan kaki berfungsi. Saya telah mencuba untuk meringkaskan titik peluru:
- Dua lampu isyarat digunakan - satu untuk kereta, yang lain untuk pejalan kaki
- Lampu isyarat dapat dihidupkan dengan menggunakan butang
- Pejalan kaki boleh meminta melintasi jalan dengan menekan butang
- Lampu isyarat dimatikan ditunjukkan dengan mengedipkan kedua-dua LED kuning
- Setelah menyala, lampu isyarat menunggu selama 10 saat dalam mod selamat
- Selepas mod selamat, kereta selalu mempunyai fasa hijau sehingga pejalan kaki memulakan permintaan
- Permintaan pejalan kaki untuk menyeberang ditunjukkan dengan menukar LED kuning
Selain itu, terdapat beberapa peristiwa waktu bergantung pada cara bagaimana lampu isyarat berfungsi.
Langkah 2: Bina Litar
Mari mulakan pemasangan litar. Dalam contoh saya, seperti yang anda lihat pada gambar pratonton, saya telah menggunakan Arduino Mega 2560, tetapi setiap Arduino lain dengan sekurang-kurangnya lapan GPIO semestinya baik-baik saja. Selain itu, saya telah membeli beberapa lampu isyarat 5V di Amazon. Cari sahaja Arduino Traffic Light. Jika tidak, anda boleh menggunakan enam LED yang berbeza. Tambahan pula, anda memerlukan dua butang tekan dan dua perintang 10k Ohm.
Tiga LED kiri digunakan untuk lalu lintas kereta dan tiga LED kanan untuk pejalan kaki, di mana yang kuning dapat menunjukkan permintaan.
Langkah 3: Membuat Mesin Negara
Oleh itu, seperti yang anda lihat terdapat dua keadaan utama dengan anggota gabungan - nyatakan dan matikan. Anda boleh beralih antara kedua-dua keadaan dengan menggunakan acara onOff, yang disambungkan ke butang ON / OFF. Dalam keadaan awal, keadaan mati, kedua-dua LED kuning mula berkelip setiap saat. Setelah lampu isyarat dihidupkan, lampu akan bermula di Safestate. Selepas 10 saat, tingkah laku lampu isyarat biasa akan dikendalikan. LED merah dan kuning akan dihidupkan dalam keadaan StreetPrepare dan lampu isyarat bertukar menjadi hijau setelah 2 saat lagi. Mulai sekarang, mesin negara sedang menunggu acara permintaan pejalan kaki, yang disambungkan ke butang kedua. Setelah mengirim acara, permintaan akan ditunjukkan dengan menukar LED kuning setiap saat dalam keadaan PedWating. 7 saat kemudian lampu isyarat akan bertukar menjadi kuning terlebih dahulu dan kemudian menjadi merah sehingga pejalan kaki mendapat isyarat untuk masuk dalam keadaan PedestrianGreen. Selepas ini, PedestrianRed diaktifkan dan kitaran berulang. Ini hanya boleh terganggu dengan mematikan lampu isyarat lagi.
Langkah 4: Menjalankan Contoh
Langkah 5: Kod C ++ yang dihasilkan
Kod C ++ yang dihasilkan adalah suis klasik untuk menangani logik mesin keadaan. Ini hanyalah coretan kod bagaimana rupanya:
batal TrafficLightCtrl:: runCycle () {clearOutEvents (); untuk (stateConfVectorPosition = 0; stateConfVectorPosition <maxOrthogonalStates; stateConfVectorPosition ++) {switch (stateConfVector [stateConfVectorPosition]) {case main_region_on_r1_StreetGreen: {main_region_on_r1_StreetGreen_react (benar); rehat; } case main_region_on_r1_PedWaiting_r1_waitOn: {main_region_on_r1_PedWaiting_r1_waitOn_react (benar); rehat; } lalai: rehat; } clearInEvents (); }
Langkah 6: Dapatkan Contohnya
Keseluruhan contoh siap untuk disusun & dijalankan. Ia dilengkapi dengan YAKINDU Statechart Tools, yang percuma untuk penggunaan bukan komersial. Selepas memuat turun, anda boleh mengimport contohnya secara langsung dalam alat:
Fail -> Baru -> Contoh -> Contoh Statechart YAKINDU -> Seterusnya -> Lampu Lalu Lintas (C ++) untuk Arduino
> DI SINI anda boleh memuat turun YAKINDU Statechart Tools <<
Anda boleh memulakan dengan percubaan 30 hari. Selepas itu, anda mesti mendapat lesen, yang percuma untuk penggunaan bukan komersial!
Disyorkan:
Pindahkan Pembelajaran Dengan NVIDIA JetBot - Keseronokan Dengan Lalu Lintas: 6 Langkah
Transfer Learning With NVIDIA JetBot - Fun With Traffic Cones: Ajarkan robot anda untuk mencari jalan di labirin kon lalu lintas menggunakan kamera dan model pembelajaran mendalam yang canggih
Robot Arduino Otto Dengan Mesin Negeri: 4 Langkah
Arduino Otto Robot With State Machine: Gambaran Keseluruhan ProjekDalam projek ini, saya ingin menunjukkan cara untuk memprogram Otto Robot, yang merupakan robot DIY berasaskan Arduino. Dengan menggunakan YAKINDU Statechart Tools (percuma untuk bukan komersial) kita dapat dengan mudah menggunakan mesin negara untuk memodelkan tingkah laku secara
Arduino HMI Menggunakan Mesin Negeri: 9 Langkah
Arduino HMI Menggunakan Mesin Negeri: Dalam Instructable ini, saya akan menunjukkan kepada anda bagaimana menggunakan Alat Statechart Tools YAKINDU untuk mewujudkan HMI yang mudah dan dapat diperluas dengan menggunakan Perisai Keypad LCD 16x2 untuk Arduino.Finite State Machines (FSM) adalah corak reka bentuk yang kuat untuk dikembangkan Mesin Manusia yang kompleks
Arduino PLC 32 I / O + Mesin Negeri + SCADA atau HMI: 8 Langkah
Arduino PLC 32 I / O + State Machine + SCADA atau HMI: Banyak cara untuk memprogram, mengawal dan mengawasi sistem industri dengan arduino
Penganalisis Corak Lalu Lintas Menggunakan Pengesanan Objek Langsung: 11 Langkah (dengan Gambar)
Penganalisis Corak Lalu Lintas Menggunakan Pengesanan Objek Langsung: Di dunia masa kini, lampu isyarat penting untuk jalan raya yang selamat. Namun, berkali-kali, lampu isyarat boleh menjengkelkan dalam keadaan di mana seseorang menghampiri lampu sama seperti lampu merah. Ini membuang masa, terutamanya jika cahaya pr