Mündəricat:

Rəng dəyişən LED: 13 addım
Rəng dəyişən LED: 13 addım

Video: Rəng dəyişən LED: 13 addım

Video: Rəng dəyişən LED: 13 addım
Video: Aqara T1 ZNLDP13LM - Zigbee LED işıq lampasının yenilənməsi E27 - irəli və ya geri addım? 2024, Iyul
Anonim
Rəng dəyişən LED
Rəng dəyişən LED
Rəng dəyişən LED
Rəng dəyişən LED
Rəng dəyişən LED
Rəng dəyişən LED

Çıxış yaratmaq üçün bir növ sensordan istifadə edərək bir prototip yaratmaq vəzifəsi mənə verildi. Bir mühitdəki işıq miqdarını ölçən bir fotosel və çıxış olaraq bir RGB LED istifadə etməyə qərar verdim. LED -in müxtəlif rəngləri göstərmək qabiliyyətini birləşdirmək istədiyimi bilirdim, çünki bunun əyləncəli olacağını düşünürdüm. İstədiyim hər hansı bir çıxışı yarada bilsəm, mümkün qədər rəngarəng ola biləcəyimi düşünürdüm.

Təxmini Qiymət:

37 dollar - Elegoo Super Başlanğıc dəsti (bütün təchizat daxildir)

53 dollar - Bütün materialları fərdi olaraq almaq

Faydalı Linklər:

RGB LED -

create.arduino.cc/projecthub/muhammad-aqib…

Fotosel -

create.arduino.cc/projecthub/MisterBotBreak/how-to-use-a-photoresistor-46c5eb

Arduino Proqram təminatı -

www.arduino.cc/en/software

Elegoo Super Start dəsti -

www.amazon.com/gp/product/B01D8KOZF4/ref=p…

Təchizat

- 1 RGB LED

- 1 ədəd fotosel (aka fotorezistor)

- 1 Arduino UNO lövhəsi

- 1 çörək taxtası

- Arduino üçün 1 USB kabeli

- 7 keçid teli

- 3 220 ohm müqavimət

- 1 10k ohm müqavimət

- Arduino proqramı (yükləmək pulsuzdur)

İsteğe bağlı

- bir cüt iynə burun pensi

Addım 1: Breadboard -da LED qurun

Breadboard -da LED qurun
Breadboard -da LED qurun
Breadboard -da LED qurun
Breadboard -da LED qurun
Breadboard -da LED qurun
Breadboard -da LED qurun

Əvvəlcə RGB LED çörək taxtasına düzgün qurulmalıdır

Dörd ayağın hər biri ilə LED -i eyni sütunun ayrı deliklərinə qoyun (hərflərlə göstərilir). Ən uzun ayaq yuxarıdan ikinci ayaq olmalıdır.

Ən uzun ayağın satırında (rəqəmlərlə göstərilir), tullanan telin bir ucunu bağlayın.

Üç qısa ayağın hər biri üçün bir 220 ohm rezistor qoyun. Hər bir rezistorun hər iki ayağı da LED ayaqları ilə eyni sırada olmalıdır. Rezistorların ayaqlarını əllə bağlamaq çətin ola biləcəyi üçün iynə burun kəlbətinlərindən istifadə edəcəyim yer budur.

Rezistorun yan tərəfində LED -in əksinə üç keçid telini qoşun. Bu üç sıra üçün bir keçid teli, bir rezistor və bir LED ayağı olmalıdır.

Addım 2: Arduino'da LED qurun

Arduino'da LED qurun
Arduino'da LED qurun
Arduino'da LED qurun
Arduino'da LED qurun
Arduino'da LED qurun
Arduino'da LED qurun
Arduino'da LED qurun
Arduino'da LED qurun

İndi LED çörək taxtasına düzgün qurulduğundan, Arduinoya qoşulması lazımdır.

Ən uzun ayağa (LED -in ikinci cərgəsi olmalıdır) qoşulan ilk tullanan teli Arduinoda "GND" ilə göstərilən yerə bağlamaq lazımdır.

Digər üç tullanan telin azalan qaydada 11, 10 və 9 -cu portlara qoşulması lazımdır. Üst cərgədəki tel 11 -ə, növbəti tel aşağı (üçüncü sıra olmalıdır) 10 -a bağlanmalıdır., və son tel 9 -a bağlanır. Bu üç tel bir -birinə paralel olmalı və üst -üstə düşməməlidir.

Addım 3: Breadboard -da Photocell qurun

Breadboard -da Photocell qurun
Breadboard -da Photocell qurun
Breadboard -da Photocell qurun
Breadboard -da Photocell qurun
Breadboard -da Photocell qurun
Breadboard -da Photocell qurun

LED -in ətraf mühitin parlaqlığına reaksiya verməsi üçün bir sensordan məlumat almalıdır.

Fotoselli, hər iki ayağı eyni sütunda, LED -in necə bağlandığı kimi, çörək taxtasına qoşun.

10k ohm müqavimətini bir ayağı ilə fotoselin alt ayağı ilə eyni sıraya daxil edin. Rezistorun ikinci ayağını eyni sütunun içərisindən uzaqlaşdırın.

Addım 4: Photocell'i Arduinoya qoşun

Photocell'i Arduinoya qoşun
Photocell'i Arduinoya qoşun
Photocell'i Arduinoya qoşun
Photocell'i Arduinoya qoşun
Photocell'i Arduinoya qoşun
Photocell'i Arduinoya qoşun
Photocell'i Arduinoya qoşun
Photocell'i Arduinoya qoşun

10k ohm müqavimət ilə eyni cərgədə bir tullanan tel bağlayın, lakin eyni cərgədə fotosel yox.

Bu tullanan telin digər ucunu Arduino üzərindəki yerə (GND) bağlayın.

Fotosel ayaqlarının hər biri ilə eyni cərgədə iki fərqli keçid telini qoşun.

Arduino üzərindəki 5V portuna ən yüksək tel bağlayın.

Teli Arduino üzərindəki A0 portuna ən aşağıya bağlayın.

Addım 5: Arduino'yu qoşun

Arduino'yu qoşun
Arduino'yu qoşun
Arduino'yu qoşun
Arduino'yu qoşun
Arduino'yu qoşun
Arduino'yu qoşun
Arduino'yu qoşun
Arduino'yu qoşun

Çörək taxtası qurulduqdan və Arduino -ya qoşulduqdan sonra, Arduino -nu kompüterinizə bağlamaq üçün USB konnektorundan istifadə edin.

Addım 6: Kodunuza başlayın

Kodunuza başlayın
Kodunuza başlayın
Kodunuza başlayın
Kodunuza başlayın

Arduino proqramından istifadə edərək yeni bir eskiz yaradın.

Bir şərhdə adınızı, eskizlə bağlı bəzi detalları yazın və istifadə etdiyiniz mənbələri əlaqələndirin.

Boşluq quruluşunun üstündə qlobal dəyişənləri qurun. Aşağıdakı kodu kopyalayıb yapışdırmaqdan çekinmeyin. Kodu yazarkən müəyyən hissələr fərqli rənglərə çevriləcək. Bunun baş verəcəyi ehtimal olunur.

int red_light_pin = 11; int green_light_pin = 10; int blue_light_pin = 9; int photocellReading = 0; int fotosel = 5;

Diqqət etsəniz, bu dəyişənlərə verilən nömrələr, Arduino lövhəsində tellərin bağlandığı yerə uyğun gəlir.

Addım 7: Void Setup

Void Setup
Void Setup

Çıxış olaraq RGB LED qurun.

pinMode (red_light_pin, OUTPUT); pinMode (green_light_pin, OUTPUT); pinMode (blue_light_pin, ÇIXIŞ);

Fotoselin oxunuşlarını görmək üçün serial monitoru işə salın.

Serial.begin (9600); Serial.println ("Serial monitor başladı"); gecikmə (500); Serial.println ("."); gecikmə (500); Serial.println ("."); gecikmə (500); Serial.println ("."); gecikmə (500);

Boşluq quraşdırma kodunun bir cüt qıvrım aşırma içərisində olduğundan əmin olun {}

Addım 8: Void Loop

Void Loop
Void Loop
Void Loop
Void Loop

Void loop bölməsi üçün kodu yazın.

İlk şəkildəki kod, fotoselin oxunuşlarını ayrı sətirlərə yazdırır. Bu, oxumağı asanlaşdırır.

int dəyəri = analogRead (A0); photocellReading = analogRead (fotosel); Serial.println (photocellReading); gecikmə (40);

İkinci şəkildəki kod, LED -in hansı rəngdə göstəriləcəyinə müəyyən oxu dəyərlərinə uyğundur.

əgər (fotoselOxu 0) {RGB_color (255, 0, 0); // Qırmızı} əgər (fotoselOxu 99) {RGB_color (255, 255, 0); // Sarı} əgər (fotosel Oxu 199) {RGB_color (0, 255, 0); // Yaşıl} əgər (fotoselReading 299) {RGB_color (0, 0, 255); // Mavi} əgər (fotoselReading 399) {RGB_color (255, 0, 255); // Magenta}

RGB_color (0s və 255s) ədəd dəyərlərinin dəyişdirilməsi hansı rəngin göstəriləcəyini dəyişəcək. Bunlar birlikdə getdiyim rənglərdir, amma istədiyiniz kimi dəyişdirə və ya dəyişdirə bilərsiniz.

Boşluq döngəsi hissəsinin bir cüt qıvrım aşırma içərisində olduğunu iki dəfə yoxlayın {}

Addım 9: Rənglərin dəyişdirilməsi

Dəyişən Rənglər
Dəyişən Rənglər

Əvvəlki addım üçün seçim etmək üçün daha çox rəng var. Eskiz üçün bu kodu istinad olaraq istifadə etdim.

Addım 10: Son RGB LED Kodu

Son RGB LED kodu
Son RGB LED kodu

Eskizin sonunda, boşluq döngəsi hissəsinin xaricində, Arduino üzərindəki hansı portun qırmızı işıq, yaşıl işıq və yaşıl işıq dəyərləri ilə əlaqə qurduğunu təyin etmək üçün bu kodu daxil edin.

boş RGB_color (int red_light_value, int green_light_value, int blue_light_value) {analogWrite (red_light_pin, red_light_value); analogWrite (green_light_pin, green_light_value); analogWrite (blue_light_pin, blue_light_value); }

Boşluq qurulması və boşluq döngəsi bölmələrində olduğu kimi, bu bölmənin bir cüt buruq dişli içərisində olduğundan əmin olun {}

Addım 11: İşıqları sınayın

İşıqları sınayın!
İşıqları sınayın!
İşıqları sınayın!
İşıqları sınayın!
İşıqları sınayın!
İşıqları sınayın!

Proqramdakı yükləmə düyməsini basaraq kodu Arduino lövhəsinə yükləyin. Düzgün etdinizsə, LED ətrafdakı işığın miqdarından asılı olaraq bir rəng göstərməlidir.

Qırmızı ən qaranlıq mühit, ən aşağı fotosel oxunuşudur.

Sarı bir az daha parlaq bir mühit/daha yüksək fotosel oxunuşudur. Görünüşdə çəmənlik kimi görünür, ancaq şəxsən sarı parlayırdı.

Növbəti üç rəng, yaşıl, mavi və magenta, hamısı fotoseldən getdikcə daha yüksək oxunuşlara uyğundur.

Addım 12: Problemlərin aradan qaldırılması

Giderme
Giderme

Rənglər dəyişmirsə və ya rənglərin dəyişməsi həddindən artıq dəyişiklik tələb edirsə, serial monitorda fotoselin oxunuşlarını yoxlayın. Hər mühitin fərqli işıq səviyyələri var, buna görə kodun bunu əks etdirməsi vacibdir.

Arduino proqramının yuxarısındakı Alətlər -> Serial Monitoru vurun.

Davam edən nömrələrin siyahısını göstərən bir pəncərə açılmalıdır. Void Loop addımından if ifadələrinin sayını tənzimləyin.

Addım 13: Son məhsul

Son Məhsul
Son Məhsul

Bütün bu addımları ataraq ətrafınızın parlaqlığından asılı olaraq rəngləri dəyişən bir işığa sahib olmalısınız.

Mənim üçün otağımın orta parlaqlığında işıq yaşıl işıq saçır, amma ya fotoselin üstünü örtərək, ya da nə qədər işıq olduğunu artıraraq rəngi asanlıqla dəyişə bilərəm.

Tövsiyə: