Mündəricat:
- Addım 1: Pulse Width Modulation
- Addım 2: LED və Rezistor
- Addım 3: Qaranlıqlaşdırma
- Adım 4: Addım 4: (Üçün) Bir və Bir Həddə Yuxarı və Aşağı
Video: RaspberryPi: Bir LEDin sönməsi və sönməsi: 4 addım (şəkillərlə)
2024 Müəllif: John Day | [email protected]. Son dəyişdirildi: 2024-01-30 07:48
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:
- RaspberryPi (daha köhnə bir Pi istifadə etdim, Pi-3'üm istifadə olunur, amma hər hansı bir Pi işləyəcək.)
- Çörək lövhəsi
- 5 mm qırmızı LED
- 330 Ω Rezistor (Kritik deyil 220-560 work işləyəcək.)
- Bağlama teli
Adafruit-dən istifadə etdiyim Pi-ayaqqabı lazım deyil, ancaq çörək bişirməyi asanlaşdırır.
WiringPi, RaspberryPi -ni C. -də proqramlaşdırmaq üçün yükləmək, quraşdırmaq və istifadə etmək üçün təlimatlar https://www.wiringpi.com/ ünvanındadır.
WiringPi qurmaq üçün bu səhifədəki təlimatları izləyin:
KablolamaPi pin nömrələrinin siyahısını əldə etmək üçün əmr satırında gpio readall daxil edin.
Raspian wiringPi -nin yeni versiyalarında standart olaraq quraşdırılmışdır.
Addım 1: Pulse Width Modulation
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 wiringPi pwmWrite (pin, n) funksiyası ilə idarə olunur, burada n 0 -dan 255 -ə qədər dəyərə malikdir. Ə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: LED və Rezistor
Bu lazım deyil, amma bunlardan bir neçəsinə sahib olmaq çörək bişirməyi çox asanlaşdıra bilər.
Bir LEDin qısa ledinə bir rezistor lehimləyin. 220-560 Ohm müqavimət istifadə edin.
Addım 3: Qaranlıqlaşdırma
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əli olduğunuz üçün wiringPi pin 1 istifadə edir. Proqramı tərtib edin 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.
/******************************************************************
* Kompilyasiya: gcc -o fade1 -Wall -I/usr/local/include -L/usr/local/lib * fade1.c -lwiringPi * * İcra edin: sudo./fade1 * * Başqa cür göstərilmədiyi təqdirdə bütün pin nömrələri wiringPi nömrələridir. ************************************************ ****************/ #includ int main () {wiringPiSetup (); // wiringPi pinMode (1, PWM_OUTPUT) tərəfindən tələb olunan quraşdırma; // pwmSetMode (PWM_MODE_MS); // İşarə/Boşluq rejimi int i; while (1) {for (i = 255; i> -1; i--) {pwmWrite (1, i); gecikmə (10); } üçün (i = 0; i <256; i ++) {pwmWrite (1, 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.
Adım 4: Addım 4: (Üçün) Bir və Bir Həddə 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.
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. Bu proqramı tərtib edin və işə salın və LED -in sabit bir sürətlə sönəcəyini görəcəksiniz.
/******************************************************************
* Kompilyasiya: gcc -o fade1 -Wall -I/usr/local/include -L/usr/local/lib * fade2.c -lwiringPi * * İcra edin: sudo./fade2 * * Başqa cür göstərilmədiyi təqdirdə bütün pin nömrələri wiringPi nömrələridir. ************************************************ ****************/ #include int main () {wiringPiSetup (); // wiringPi pinMode (1, PWM_OUTPUT) tərəfindən tələb olunan quraşdırma; // pwmSetMode (PWM_MODE_MS); // Mark/Space rejimi (1) {int i; int x = 1; (i = 0; i> -1; i = i + x) {int d = (16 -i/16)^2; // pwmWrite indeksinin tərs kvadratını hesablayın (1, i); gecikmə (d); əgər (i == 255) x = -1; // pik nöqtədə istiqaməti dəyişdirin}}}
Tövsiyə:
Arduino ilə LEDin Qaralması və Parlaqlaşdırılması: 7 Addım (Şəkillərlə)
Arduino ilə bir LEDin qaralması və işıqlandırılması: Tikintiyə başlamazdan əvvəl lazımi materialları əldə etməlisiniz: 1 Arduino Board - Arduino Uno -nu vurdum, amma eyni şəkildə işləyir. 1 Potansiyometr - mənimki çoxlarından fərqli görünür, amma eyni şəkildə işləyirlər. 1 Çörək lövhəsi Bir neçə
Robot üçün LED Gözlərin Yanıp sönməsi: 6 addım
Robot üçün LED Gözlərin Yanıp sönməsi: Bu dərslik, LED nöqtə matrisindən istifadə edərək Robotun Gözlərinin Yanıp sönməsi haqqındadır
Arduino V3.2 Təcrübə 1: İşığın yanıb sönməsi: 12 addım
Arduino V3.2 Təcrübə 1: İşığın yanıb -sönməsi: Sparkfun dəstində (və ya həqiqətən də hər hansı bir elektrik qurğusu dəstində) olan materiallardan istifadə edərək Adruino IDE -də bir neçə əsas kodu olan bir LED -i yandıra bilərsiniz
ESP8266 NodeMCU Lua WiFi Dərsliyindən istifadə edərək LED -in yanıb -sönməsi: 6 addım
ESP8266 NodeMCU Lua WiFi Dərsliyindən istifadə edərək LED -in yanıb -sönməsi: DESCRIPTIONNodeMCU açıq mənbə IoT platformasıdır. Buraya Espressif-dən ESP8266 WiFi SoC ilə işləyən proqram təminatı və ESP-12 moduluna əsaslanan aparat daxildir. "NodeMcu" termini Varsayılan olaraq t deyil, film proqramına aiddir
Arduino Təlimatı: Bir LED -in yanıb -sönməsi: 3 addım
Arduino Tutorial: Bir LED -in yanıb -sönməsi: Bir LED -in necə yanıb -sönəcəyi ilə bağlı bütün digər göstərişlərdən bezmisiniz? Yaxşı, bir LED -in titrəməsinə necə? eh? bir LEDin yanıb -sönməsi ilə bağlı bir kitab var