#4Pemula

Lampu Polisi LED

4.7(103)
258 selesai
Lampu Polisi LED
Persis seperti lampu di mobil polisi: LED merah berkedip tiga kali dengan cepat, lalu LED biru berkedip tiga kali, dan polanya terus berulang tanpa henti. Yang kamu butuhkan hanya dua LED dan dua resistor yang disambung ke Arduino. Proyek pertama yang mencuri perhatian dan bisa kamu rakit dalam beberapa menit.

Video

Skema rangkaian

Lampu Polisi LED - Circuit

Kode sumber

C++ (Arduino IDE)
1// ─────────────────────────────────────────
2//   BlueGrays · bluegrays.com
3//   Lampu Polisi LED
4// ─────────────────────────────────────────
5// LED merah dan biru masing-masing berkedip cepat 3 kali secara
6// bergantian, membuat efek lampu strobo polisi. Menunjukkan loop for dan
7// pengaturan waktu.
8//
9// Pin:
10//   D2 -> LED merah
11//   D3 -> LED biru
12//   Setiap LED dengan resistor 330 ohm
13
14// Waktu kedip (ms). Nilai lebih kecil berkedip lebih cepat
15int delayTime = 60;
16
17void setup() {
18  pinMode(2,OUTPUT);  // Merah
19  pinMode(3,OUTPUT);  // Biru
20}
21
22void loop() {
23  // LED merah berkedip 3 kali
24  for(int i=0;i<3;i++){
25    digitalWrite(2,HIGH);
26    delay(delayTime);
27    digitalWrite(2,LOW);
28    delay(delayTime);
29  }
30
31  // LED biru berkedip 3 kali
32  for(int i=0;i<3;i++){
33    digitalWrite(3,HIGH);
34    delay(delayTime);
35    digitalWrite(3,LOW);
36    delay(delayTime);
37  }
38}
39

FAQ

Bagaimana agar efek strobonya terlihat lebih nyata?

Lampu polisi sungguhan berkedip singkat beberapa kali untuk setiap warna. Jika kamu memakai loop `for` untuk menyalakan satu LED tiga kali dengan cepat (mis. 50 ms nyala, 50 ms mati) lalu pindah ke LED berikutnya, kamu akan mendapat efek yang sangat mirip dengan lampu polisi.

Bisakah LED merah dan biru memakai resistor yang sama?

Bisa, tetapi kecerahannya akan berbeda: tegangan maju LED biru (sekitar 3,2 V) lebih tinggi daripada LED merah (sekitar 1,9 V), jadi dengan resistor yang sama arus yang mengalir lebih kecil. Untuk mendapat kecerahan yang sama, kamu bisa memilih resistor yang lebih kecil untuk LED biru; kalkulator resistor LED mengerjakan hitungan ini.

Apa fungsi loop "for" di sini?

Loop ini dipakai untuk mengulang pola kedipan yang sama sebanyak jumlah tertentu. Daripada menyalin dan menempel kode berkali-kali, kamu bisa mengatur pengulangannya dari satu tempat dengan menulis `for (int i = 0; i < 3; i++)`.

Apa yang bisa aku pakai agar kedipannya lebih terang?

Rancang rangkaiannya agar arus yang ditarik dari pin Uno tidak melebihi 20 mA; pin tidak membatasi arus ke nilai ini secara otomatis. Untuk LED yang lebih kuat atau LED strip, kamu perlu menggerakkannya dari catu daya terpisah yang sesuai lewat transistor atau MOSFET yang sanggup menahan arus bebannya; jangan sambungkan beban berarus besar langsung ke pin.