Arduino - Sönük LED
Bu örnek, analogWrite () işlevinin bir LED'i sönük hale getirmede kullanımını gösterir. AnalogWrite, bir solma efekti oluşturmak için dijital bir pini çok hızlı bir şekilde açma ve kapatma arasında farklı oranlarla açıp kapatan darbe genişlik modülasyonu (PWM) kullanır.
Gerekli Bileşenler
Aşağıdaki bileşenlere ihtiyacınız olacak -
- 1 × Breadboard
- 1 × Arduino Uno R3
- 1 × LED
- 1 × 330Ω Direnç
- 2 × Atlamacı
Prosedür
Devre şemasını izleyin ve bileşenleri aşağıda verilen görüntüde gösterildiği gibi devre tahtasına bağlayın.
Note- Bir LED'in polaritesini bulmak için ona yakından bakın. İki ayağın daha kısa olanı, ampulün düz kenarına doğru negatif terminali gösterir.
Dirençler gibi bileşenlerin, devre tahtası soketlerine düzgün bir şekilde uyması için terminallerinin 90 ° açılarla bükülmesi gerekir. Ayrıca terminalleri daha kısa kesebilirsiniz.
Eskiz
Bilgisayarınızda Arduino IDE yazılımını açın. Arduino dilinde kodlama devrenizi kontrol edecektir. Yeni'ye tıklayarak yeni çizim Dosyasını açın.
Arduino Kodu
/*
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);
}
Dikkat Edilecek Kod
Pin 9'u LED pininiz olarak tanımladıktan sonra, kodunuzun setup () fonksiyonunda yapacak bir şey yoktur. Kodunuzun ana döngüsünde kullanacağınız analogWrite () işlevi iki argüman gerektirir: Biri, hangi pinin yazılacağını işleve, diğeri ise hangi PWM değerinin yazılacağını belirtir.
LED'i kapatıp açmak için, döngüyü tamamlamak için PWM değerlerini kademeli olarak 0'dan (tamamen kapalı) 255'e (tamamen açık) ve ardından tekrar 0'a yükseltin. Yukarıda verilen çizimde, PWM değeri parlaklık adı verilen bir değişken kullanılarak ayarlanır. Döngü boyunca her seferinde, değişkenin değeri kadar artarfadeAmount.
Parlaklık, değerinin en uç noktasındaysa (0 veya 255), o zaman fadeAmount, negatifine değiştirilir. Başka bir deyişle, fadeAmount 5 ise, o zaman -5 olarak ayarlanır. -5 ise, 5'e ayarlanır. Döngü boyunca bir sonraki sefer, bu değişiklik parlaklığın da yön değiştirmesine neden olur.
analogWrite()PWM değerini çok hızlı değiştirebilir, bu nedenle taslağın sonundaki gecikme solmanın hızını kontrol eder. Gecikmenin değerini değiştirmeyi deneyin ve bunun solma efektini nasıl değiştirdiğini görün.
Sonuç
LED parlaklığınızın kademeli olarak değiştiğini görmelisiniz.