İçindekiler:

Bir LED'i Söndürme ve Kapatma: 3 Adım
Bir LED'i Söndürme ve Kapatma: 3 Adım

Video: Bir LED'i Söndürme ve Kapatma: 3 Adım

Video: Bir LED'i Söndürme ve Kapatma: 3 Adım
Video: 25 Arduino Butona 1 Kez Basınca Led Yakma 2 Kez Basıncada Led'i Söndürme Komutları 2024, Temmuz
Anonim
Bir LED'i Söndürme ve Kapatma
Bir LED'i Söndürme ve Kapatma

Aşağıdaki adımlar, LED'lerin nasıl çalıştığını gösteren deneylerdir. Bir LED'in eşit oranda nasıl karartılacağını ve nasıl açılıp kapatılacağını gösterirler.

İhtiyacın olacak:

  • Arduino (bir ikili kullandım)
  • ekmek tahtası
  • 5 mm kırmızı LED
  • 330 Ω Direnç (Kritik değil 330-560 Ω çalışacaktır.)
  • 22 Ölçer Katı Bağlantı Teli

Bu deneyler için gerekli parçalar tüm Arduino başlangıç kitlerinde bulunmaktadır.

Adım 1: Darbe Modülasyonu Açıklaması

Darbe Modülasyonu Açıklaması
Darbe Modülasyonu Açıklaması
Darbe Modülasyonu Açıklaması
Darbe Modülasyonu Açıklaması
Darbe Modülasyonu Açıklaması
Darbe Modülasyonu Açıklaması

LED'ler, parlaklıktan bağımsız olarak her zaman aynı voltajda çalışır. Parlaklık bir kare dalga osilatörü tarafından belirlenir ve voltajın yüksek olduğu süre parlaklığı belirler. Buna Darbe Genişliği Modülasyonu (PWM) denir. Bu, n'nin 0 ila 255 arasında bir değere sahip olduğu Arduino analogWrite(pin, n) işlevi tarafından kontrol edilir. AnalogWrite(), gerçek analog değil, PWM çıktısı verir. n=2 ise LED, n=1'den iki kat daha parlak olacaktır. n iki katına çıktığında parlaklık her zaman iki katına çıkar. Yani n=255, n=128'in iki katı parlak olacaktır.

n'nin değeri genellikle görev döngüsü adı verilen bir yüzde olarak ifade edilir. Resimler, %25, 50 ve %75 görev çevrimleri için osiloskop izlerini göstermektedir.

2. Adım: Eşit Olmayan Karartma

Dengesiz Karartma
Dengesiz Karartma
Dengesiz Karartma
Dengesiz Karartma

Devreyi şemadaki gibi kurunuz. Bu tıpkı bir LED'i yanıp sönen devre gibidir. PWM özellikli bir pin kullanmanız gerektiğinden pin 9'u kullanır.

Aşağıdaki çizimi Arduino IDE'ye kopyalayın/yapıştırın ve çalıştırın.

LED ne kadar parlaksa o kadar yavaş karardığını fark edeceksiniz. En loşluğa yaklaştıkça çok hızlı kararır.

geçersiz kurulum()

{ pinMode(9, ÇIKIŞ); } geçersiz döngü() { int pin = 9; for (int i = 255; i > -1; i--) { analogWrite(pin, i); gecikme(10); } for (int i = 0; i < 256; i++) { analogWrite(pin, i); gecikme(10); } }

}

Bir sonraki adım, LED'in sabit bir oranda ve bir for ifadesi ile nasıl kısılacağını gösterir.

Adım 3: Yukarı ve Aşağı Bir For()

LED'in sabit bir oranda kararması için gecikmenin () üstel bir oranda artması gerekir, çünkü görev döngüsünün yarısı her zaman parlaklığın yarısını üretecektir. İlk düşüncem map() işlevini kullanmayı denemekti ama bu doğrusal.

Çizgi:

int d = (16-i/16)^2;

gecikmenin uzunluğunu belirlemek için parlaklığın ters karesini hesaplar.

Aşağıdaki çizimi Arduino IDE'ye kopyalayın/yapıştırın ve LED'in sabit bir oranda yanıp söneceğini göreceksiniz.

geçersiz kurulum()

{ pinMode(9, ÇIKIŞ); } geçersiz döngü() { int x = 1; int pin = 9; for (int i = 0; ben > -1; ben = ben + x) { int d = (16-i/16)^2; analogWrite(pin, ben); gecikme(d); eğer (i == 255) x = -1; // zirvede yön değiştir } }

Önerilen: