Fade

Bu örnek, bir LED'i kapatıp açarken analogWrite () işlevinin kullanımını gösterir. AnalogWrite , solma efekti oluşturmak için dijital pimi açık ve kapalı arasındaki farklı oranlarla çok hızlı bir şekilde açıp kapatan darbe genişliği modülasyonunu (PWM) kullanır.

Gerekli Donanım

  • Arduino veya Genuino kartı
  • LED
  • 220 ohm direnç
  • bağlantı telleri
  • breadboard

Devre

LED'inizin anodunu (daha uzun, pozitif bacak) 220 ohm'luk bir dirençle kartınızdaki dijital çıkış pimine 9 bağlayın. Katodu (daha kısa, negatif bacak) doğrudan toprağa bağlayın.

büyütmek için resme tıklayın

Şematik

büyütmek için resme tıklayın

Kod

PIN 9'u ledPin sonra, ledPin setup() işlevinde yapacak bir şey yoktur.

analogWrite() ana döngüsünde kullanacağınız analogWrite() işlevi için iki bağımsız değişken gerekir: Biri hangi iğnenin yazılacağını, diğerinin hangi PWM değerinin yazılacağını belirtir.

LED'inizi kapatıp açmak için PWM değerinizi kademeli olarak 0'dan (tamamen kapalı) 255'e (tamamen açık) artırın ve döngüyü tamamlamak için tekrar 0'a geri dönün. Aşağıdaki çizimde, PWM değeri brightness adı verilen bir değişken kullanılarak ayarlanır. Döngü boyunca her seferinde fadeAmount değişkeninin değeri fadeAmount .

brightness değerinin (0 veya 255) herhangi bir değerindeyse, fadeAmount negatif olarak değişir. Başka bir deyişle, fadeAmount 5 ise, -5 olarak ayarlanır. -5 ise, 5 olarak ayarlanır. Bir sonraki döngüde bu değişiklik brightness yön değiştirmesine de neden olur.

analogWrite() PWM değerini çok hızlı değiştirebilir, böylece analogWrite() sonundaki gecikme analogWrite() hızını kontrol eder. Gecikmenin değerini değiştirmeyi deneyin ve solma efektini nasıl değiştirdiğini görün.


/*
  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.

  This example code is in the public domain.

  http://www.arduino.cc/en/Tutorial/Fade
*/

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(30);
}

See Also