Mündəricat:

Bir LED -i söndürün: 3 addım
Bir LED -i söndürün: 3 addım

Video: Bir LED -i söndürün: 3 addım

Video: Bir LED -i söndürün: 3 addım
Video: App Inventor & Arduino 301 - Ders : 2.2 Sende Bir Led Yak 2024, Iyul
Anonim
Bir LED -i söndürün və söndürün
Bir LED -i söndürün və söndürün

Aşağıdakı addımlar LED -lərin necə işlədiyini göstərmək üçün təcrübələrdir. Bir LED -in bərabər nisbətdə necə qaralacağını və onu necə söndürüb söndürəcəyini göstərirlər.

Sizə lazım olacaq:

  • Arduino (duet istifadə etdim)
  • Çörək lövhəsi
  • 5 mm qırmızı LED
  • 330 Ω Rezistor (Kritik deyil 330-560 work işləyəcək.)
  • 22 Ölçü Qatı Bağlama Teli

Bu təcrübələr üçün lazım olan hissələr bütün Arduino başlanğıc dəstlərinə daxil edilmişdir.

Addım 1: Pulse Modulyasiyası Açıqlandı

Pulse Modulyasiyası Açıqlandı
Pulse Modulyasiyası Açıqlandı
Pulse Modulyasiyası Açıqlandı
Pulse Modulyasiyası Açıqlandı
Pulse Modulyasiyası Açıqlandı
Pulse Modulyasiyası Açıqlandı

LEDlər parlaqlıqdan asılı olmayaraq həmişə eyni gərginlikdə işləyirlər. Parlaqlıq bir kvadrat dalğa osilatörü ilə müəyyən edilir və gərginliyin yüksək olduğu müddət parlaqlığı təyin edir. Buna Pulse Width Modulation (PWM) deyilir. Bu, n -nin 0 -dan 255 -ə qədər bir dəyərə sahib olduğu Arduino analogWrite (pin, n) funksiyası ilə idarə olunur. Əgər n = 2 olarsa, LED n = 1 -dən iki dəfə daha parlaq olacaq. N ikiqat olduqda parlaqlıq həmişə ikiqat artır. Beləliklə, n = 255, n = 128 -dən iki qat daha parlaq olacaq.

N -nin dəyəri çox vaxt vəzifə dövrü adlanan faizlə ifadə olunur. Şəkillər 25, 50 və 75% iş dövrü üçün osiloskop izlərini göstərir.

Addım 2: Qaranlıqlaşdırma

Qeyri-bərabər qaralma
Qeyri-bərabər qaralma
Qeyri-bərabər qaralma
Qeyri-bərabər qaralma

Diaqramdakı kimi dövrə qurun. Bu, bir LED -in yanıb -sönməsi dövrəsinə bənzəyir. PWM effektiv bir pin istifadə etməyiniz lazım olduğu üçün pin 9 istifadə edir.

Aşağıdakı eskizi Arduino IDE -ə kopyalayın/yapışdırın və işə salın.

Diqqət yetirin ki, LED nə qədər parlaqdırsa, o qədər yavaş olur. Ən qaranlığa yaxınlaşdıqca çox tez qaralacaq.

boş quraşdırma ()

{pinMode (9, ÇIXIŞ); } void loop () {int pin = 9; for (int i = 255; i> -1; i--) {analogWrite (pin, i); gecikmə (10); } üçün (int i = 0; i <256; i ++) {analogWrite (pin, i); gecikmə (10); }}

}

Növbəti addım, LED -in sabit bir nisbətdə və bir ifadə üçün necə söndürülməsini göstərir.

Addım 3: Birdə Yuxarı və Aşağı ()

LED -in sabit bir sürətlə sönməsi üçün gecikmə () eksponensial bir sürətlə artmalıdır, çünki iş dövrünün yarısı həmişə parlaqlığın yarısını yaradır. İlk düşüncəm map () funksiyasından istifadə etmək idi, amma xətti idi.

Xətt:

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

gecikmənin uzunluğunu təyin etmək üçün parlaqlığın tərs kvadratını hesablayır.

Aşağıdakı eskizi Arduino IDE -ə kopyalayın/yapışdırın və LED -in sabit bir sürətlə sönüb sönəcəyini görəcəksiniz.

boş quraşdırma ()

{pinMode (9, ÇIXIŞ); } boşluq döngəsi () {int x = 1; int pin = 9; üçün (int i = 0; i> -1; i = i + x) {int d = (16 -i/16)^2; analogWrite (pin, i); gecikmə (d); əgər (i == 255) x = -1; // zirvədə istiqaməti dəyişdirin}}

Tövsiyə: