2025 Pengarang: John Day | [email protected]. Terakhir diubah: 2025-01-13 06:57
Dalam tutorial ini kita belajar cara membuat lampu lalu lintas dan cara mengontrolnya yang dikelola oleh kartu Drivemall.
Kita akan melihat cara membuat lampu lalu lintas untuk mobil dan pejalan kaki dengan tombol pemesanan.
Jika kita tidak memiliki drivermall kita bisa menggunakan arduino, tapi di bawah link untuk pengembangan Drivemall.
Keuntungan lebih memilih Drivemall daripada papan Arduino klasik adalah mengurangi kerumitan koneksi yang mengarah ke pengaturan yang lebih rapi. Namun, ini opsional: semua hasil masih valid dengan papan arduino, papan tempat memotong roti, dan jumper dupont yang cukup untuk koneksi.
Langkah 1: Daftar Bahan
- Baord Drivemall / Arduino Mega
- 4 led merah
- 4 led hijau
- 4 led kuning
- 8 transistor npn
- 16 resistor 220 ohm
- 8 resistor 22k ohm
- 1 resistor 1k ohm
- kabel
- 1 tombol
Langkah 2: Koneksi
Lampu lalu lintas dikendalikan menggunakan dua transistor PNP yang terhubung sesuai dengan diagram pada gambar 2. Pengoperasian transistor PNP sangat sederhana ketika basis terhubung ke GND, aliran arus antara emitor dan kolektor diaktifkan.
Kami menggunakan transistor untuk mengurangi jumlah pin papan yang diperlukan untuk menyalakan setiap lampu lalu lintas.
Jadi jika kedua BASIS tersebut adalah VDD maka LED merah akan menyala atau lebih jelas LED 21 17 14 6.
Jika kita menyalakan BASE transistor kedua, LED 3 15 18 19 akan menyala.
Terakhir, jika kita menghubungkan BASES ke GND, LED 20 16 13 10 akan menyala
Sambungan tombol adalah sebaliknya, resistensi klasik yang terhubung ke GND pada satu pin tombol dan yang lainnya ke VDD.
Pin Arduino yang terdaftar adalah pin dari 1 hingga 10.
Langkah 3: Firmware
Secara berkala hanya satu lampu lalu lintas yang berwarna hijau. Saat tombol pejalan kaki ditekan, pada periode berikutnya lampu lalu lintas untuk pejalan kaki berubah menjadi hijau
Untuk mengelola panggilan tombol untuk pejalan kaki tanpa penundaan secara real time, digunakan fungsi milis (), yang mengembalikan waktu dalam milidetik sejak perangkat dihidupkan, sehingga dapat digunakan
contoh
unsigned long currentMillis = milis ();.
if (Millis saat ini - Mili sebelumnya> 2000 dan bt03 == benar dan bbot == salah)
{
Serial.println (1);
T1();
sebelumnyaMillis = saat iniMillis;
bt1 = benar;
BT03 = salah;
}
Kami memuat waktu saat ini di setiap loop dan jika arus dikurangi yang sebelumnya lebih besar dari waktu yang dipilih, masukkan jika untuk mengubah keadaan lampu lalu lintas akan mengaktifkan variabel Boolean untuk transisi berikutnya, tentu saja variabel Boolean pertama sudah benar sebelum masuk ke loop.
Langkah 4: Penafian
Tutorial ini telah diproduksi sebagai bagian dari proyek Makerspace for Inclusion, yang dibiayai bersama oleh Erasmus + Program dari komisi Eropa.
Proyek ini bertujuan untuk mempromosikan bentuk pendidikan informal sebagai sarana untuk mendorong inklusi sosial kaum muda, pendidikan informal seperti yang dapat ditemukan dalam ruang pembuat.
Tutorial ini hanya mencerminkan pandangan penulis, dan Komisi Eropa tidak bertanggung jawab atas penggunaan apa pun yang mungkin dilakukan atas informasi yang terkandung di dalamnya.