Arduino - LED memudar

Contoh ini mendemonstrasikan penggunaan fungsi analogWrite () dalam memudarkan LED. AnalogWrite menggunakan modulasi lebar pulsa (PWM), mengaktifkan dan menonaktifkan pin digital dengan sangat cepat dengan rasio yang berbeda antara hidup dan mati, untuk menciptakan efek memudar.

Komponen Diperlukan

Anda akan membutuhkan komponen berikut -

  • 1 × Breadboard
  • 1 × Arduino Uno R3
  • 1 × LED
  • 1 × 330Ω Resistor
  • 2 × Jumper

Prosedur

Ikuti diagram sirkuit dan sambungkan komponen pada papan tempat memotong roti seperti yang ditunjukkan pada gambar di bawah ini.

Note- Untuk mengetahui polaritas sebuah LED, perhatikan baik-baik. Yang lebih pendek dari kedua kaki, menuju tepi datar bohlam menunjukkan terminal negatif.

Komponen seperti resistor harus memiliki terminal yang ditekuk menjadi sudut 90 ° agar pas dengan soket papan tempat memotong roti dengan benar. Anda juga dapat memotong terminal lebih pendek.

Sketsa

Buka software Arduino IDE di komputer Anda. Pengkodean dalam bahasa Arduino akan mengontrol sirkuit Anda. Buka File sketsa baru dengan mengklik New.

Kode Arduino

/*
   Fade
   This example shows how to fade an LED on pin 9 using the analogWrite() function.

   The analogWrite() function uses PWM, so if you want to change the pin you're using, be
   sure to use another PWM capable pin. On most Arduino, the PWM pins are identified with
   a "~" sign, like ~3, ~5, ~6, ~9, ~10 and ~11.
*/

int led = 9; // the PWM pin the LED is attached to
int brightness = 0; // how bright the LED is
int fadeAmount = 5; // how many points to fade the LED by
// the setup routine runs once when you press reset:

void setup() {
   // declare pin 9 to be an output:
   pinMode(led, OUTPUT);
}

// the loop routine runs over and over again forever:

void loop() {
   // set the brightness of pin 9:
   analogWrite(led, brightness);
   // change the brightness for next time through the loop:
   brightness = brightness + fadeAmount;
   // reverse the direction of the fading at the ends of the fade:
   if (brightness == 0 || brightness == 255) {
      fadeAmount = -fadeAmount ;
   }
   // wait for 30 milliseconds to see the dimming effect
   delay(300);
}

Kode untuk Dicatat

Setelah mendeklarasikan pin 9 sebagai pin LED Anda, tidak ada yang perlu dilakukan dalam fungsi setup () pada kode Anda. Fungsi analogWrite () yang akan Anda gunakan di loop utama kode memerlukan dua argumen: Satu, memberi tahu fungsi pin mana yang akan ditulis dan yang lainnya menunjukkan nilai PWM yang akan ditulis.

Untuk memudarkan dan menghidupkan LED, secara bertahap tingkatkan nilai PWM dari 0 (sepenuhnya mati) menjadi 255 (sepenuhnya menyala), lalu kembali ke 0, untuk menyelesaikan siklus. Dalam sketsa yang diberikan di atas, nilai PWM diatur menggunakan variabel yang disebut kecerahan. Setiap kali melalui loop, itu meningkat dengan nilai variabelfadeAmount.

Jika kecerahan berada pada salah satu nilai ekstremnya (baik 0 atau 255), maka fadeAmount diubah ke negatifnya. Dengan kata lain, jika fadeAmount bernilai 5, maka disetel ke -5. Jika -5, maka diset ke 5. Kali berikutnya melalui loop, perubahan ini menyebabkan kecerahan berubah arah juga.

analogWrite()dapat mengubah nilai PWM dengan sangat cepat, jadi penundaan di akhir sketsa mengontrol kecepatan pudar. Coba ubah nilai penundaan dan lihat bagaimana itu mengubah efek memudar.

Hasil

Anda akan melihat kecerahan LED Anda berubah secara bertahap.