Muka Depan (MYENique) | Projek Elektronik | Belajar Elektronik
LED With 2 Push Button Brightness Controller
Sinopsis Projek "LED With 2 Push Button Brightness Controller":
Projek "LED With 2 Push Button Brightness Controller" menggunakan papan mikrokontroler Arduino untuk mengendalikan kecerahan sebuah LED menggunakan dua butang paksi (push button). Projek ini membolehkan pengguna mengatur kecerahan LED menggunakan dua butang tersebut. Papan Arduino membaca keadaan butang dan mengubah kecerahan LED berdasarkan butang yang ditekan. Kod Arduino yang diberikan adalah seperti berikut:
KOD ARDUINO
// Penerangan LED dengan 2 Push Button untuk mengatur kecerahan menggunakan Arduino
// Pin yang digunakan
const int pinLED = 9; // Pin LED yang dihubungkan ke pin 9
const int pinButton1 = 2; // Pin Push Button 1 yang dihubungkan ke pin 2
const int pinButton2 = 3; // Pin Push Button 2 yang dihubungkan ke pin 3
// Keadaan LED
int brightness = 0; // Kecerahan LED awal
void setup() {
// Mengatur pin LED sebagai output
pinMode(pinLED, OUTPUT);
// Mengatur pin Push Button sebagai input dengan resistansi pull-up internal
pinMode(pinButton1, INPUT_PULLUP);
pinMode(pinButton2, INPUT_PULLUP);
}
void loop() {
// Membaca keadaan Push Button 1
int buttonState1 = digitalRead(pinButton1);
// Memeriksa apakah Push Button 1 ditekan
if (buttonState1 == LOW) {
// Menaikkan kecerahan LED
brightness += 25; // Mengubah nilai kecerahan
// Memastikan kecerahan tidak melebihi batas maksimum (255)
if (brightness > 255) {
brightness = 255;
}
// Mengatur kecerahan LED
analogWrite(pinLED, brightness);
// Menunggu hingga Push Button 1 dilepas
while (digitalRead(pinButton1) == LOW) {
delay(10);
}
}
// Membaca keadaan Push Button 2
int buttonState2 = digitalRead(pinButton2);
// Memeriksa apakah Push Button 2 ditekan
if (buttonState2 == LOW) {
// Menurunkan kecerahan LED
brightness -= 25; // Mengubah nilai kecerahan
// Memastikan kecerahan tidak kurang dari batas minimum (0)
if (brightness < 0) {
brightness = 0;
}
// Mengatur kecerahan LED
analogWrite(pinLED, brightness);
// Menunggu hingga Push Button 2 dilepas
while (digitalRead(pinButton2) == LOW) {
delay(10);
}
}
}
Penerangan Projek:
1. `const int pinButton1 = 2;` dan `const int pinButton2 = 3;`: Ini mendefinisikan pin untuk kedua butang paksi, menunjukkan bahawa Push Button 1 dihubungkan ke pin 2 dan Push Button 2 dihubungkan ke pin 3 pada papan Arduino.
2. `int brightness = 0;`: Ini adalah pemboleh ubah yang menyimpan kecerahan semasa LED.
3. `void setup()`: Fungsi ini menjalankan persediaan awal. Di sini, pinLED diatur sebagai output untuk mengendalikan LED, dan pinButton1 dan pinButton2 diatur sebagai input dengan resistansi pull-up internal untuk membaca keadaan butang.
4. `void loop()`: Fungsi ini berjalan berulang-ulang selepas `setup()` selesai. Dalam setiap pusingan `loop()`, Arduino akan memeriksa keadaan kedua butang.
- Jika Push Button 1 ditekan (`buttonState1 == LOW`), maka nilai kecerahan LED akan dinaikkan sebanyak 25, tetapi tidak boleh melebihi nilai maksimum 255. Kecerahan LED akan diubah menggunakan `analogWrite()` dan menunggu butang dilepaskan.
- Jika Push Button 2 ditekan (`buttonState2 == LOW`), maka nilai kecerahan LED akan diturunkan sebanyak 25, tetapi tidak boleh kurang dari 0. Kecerahan LED juga akan diubah dan menunggu butang dilepaskan.
Projek ini memperlihatkan bagaimana menghubungkan dan mengendalikan butang paksi untuk mengatur kecerahan LED. Ia mengilustrasikan cara menggunakan input dari butang untuk mengendalikan output pada LED, serta bagaimana memastikan nilai kecerahan berada dalam batas yang dikehendaki.