Contoh ini mendemonstrasikan penggunaan fungsi analogWrite() dalam memudarkan LED. AnalogWrite menggunakan modulasi lebar pulsa (PWM), menyalakan dan mematikan pin digital dengan sangat cepat dengan rasio yang berbeda antara hidup dan mati, untuk menciptakan efek pemudaran.
Komponen yang Dibutuhkan
Anda akan membutuhkan komponen berikut −
- 1 × Papan tempat memotong roti
- 1 × Arduino Satu R3
- 1 × LED
- Resistor 1 × 330Ω
- 2 × Pelompat
Prosedur
Ikuti diagram sirkuit dan sambungkan komponen pada papan tempat memotong roti seperti yang ditunjukkan pada gambar di bawah ini.
Catatan − Untuk mengetahui polaritas LED, perhatikan baik-baik. Semakin pendek kedua kakinya, menuju tepi datar bohlam menunjukkan terminal negatif.
Komponen seperti resistor harus memiliki terminal yang ditekuk menjadi sudut 90° agar sesuai dengan soket papan tempat memotong roti dengan benar. Anda juga dapat memotong terminal lebih pendek.
Sketsa
Buka Arduino perangkat lunak IDE di komputer Anda. Pengkodean di Arduino bahasa akan mengontrol sirkuit Anda. Buka File sketsa baru dengan mengklik Baru.
Arduino Kode
/* Fade Contoh ini menunjukkan cara memudarkan LED pada pin 9
menggunakan fungsi analogWrite(). Fungsi analogWrite() menggunakan PWM,
jadi jika Anda ingin mengganti pin yang Anda gunakan, pastikan untuk menggunakan pin lain
yang mendukung PWM. Paling banyak Arduino , pin PWM diidentifikasi dengan tanda "~",
seperti ~3, ~5, ~6, ~9, ~10 dan ~11.*/
int led = 9;
// pin PWM, LED terpasang ke
brightness = 0;
// seberapa terang LED tidak
fadeAmount = 5;
// berapa banyak poin untuk meredupkan LED oleh
// rutinitas setup berjalan sekali ketika Anda menekan reset:
void setup() {
// nyatakan pin 9 sebagai output:
pinMode(led, OUTPUT);
}
// loop routine berjalan berulang kali selamanya:
void loop() {
// atur kecerahan pin 9:
analogWrite(led, brightness);
// ubah kecerahan untuk kali berikutnya melalui loop:
brightness = brightness + fadeAmount;
// membalik arah pemudaran di ujung pemudaran:
if (brightness == 0 || brightness == 255) {
fadeAmount = -fadeAmount ;
}
// tunggu selama 30 milidetik untuk melihat efek peredupan
delay(300);
}
Kode untuk Dicatat
Setelah mendeklarasikan pin 9 sebagai pin LED Anda, tidak ada yang bisa dilakukan dalam fungsi setup() kode Anda. Fungsi analogWrite() yang akan Anda gunakan di loop utama kode Anda memerlukan dua argumen: Satu, memberi tahu fungsi ke pin mana untuk menulis dan yang lainnya menunjukkan nilai PWM apa yang harus ditulis.
Untuk mematikan dan menghidupkan LED, tingkatkan nilai PWM secara bertahap dari 0 (mati total) menjadi 255 (selalu hidup), 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 variabel fadeAmount .
Jika kecerahan berada pada salah satu nilai ekstrimnya (baik 0 atau 255), maka fadeAmount diubah menjadi negatif. Dengan kata lain, jika fadeAmount adalah 5, maka disetel ke -5. Jika -5, maka disetel ke 5. Kali berikutnya melalui loop, perubahan ini menyebabkan kecerahan juga berubah arah.
analogWrite() dapat mengubah nilai PWM dengan sangat cepat, sehingga penundaan di akhir sketsa mengontrol kecepatan fade. Coba ubah nilai delay dan lihat bagaimana perubahan efek fading.
Hasil
Anda akan melihat kecerahan LED Anda berubah secara bertahap.
0 Komentar
Berkomentarlah dengan sopan dan menggunakan bahasa yang semestinya.