Mundarija:

Rangni o'zgartirish LED: 13 qadam
Rangni o'zgartirish LED: 13 qadam

Video: Rangni o'zgartirish LED: 13 qadam

Video: Rangni o'zgartirish LED: 13 qadam
Video: Telefonning 15 ta siz bilmagan maxfiy kodlari/Телефоннинг сиз билмаган 15 та махфий кодлари 2024, Noyabr
Anonim
Rang o'zgaruvchan LED
Rang o'zgaruvchan LED
Rang o'zgaruvchan LED
Rang o'zgaruvchan LED
Rang o'zgaruvchan LED
Rang o'zgaruvchan LED

Menga natijani ishlab chiqarish uchun qandaydir sensor yordamida prototip yaratish vazifasi yuklandi. Men atrofdagi yorug'lik miqdorini o'lchaydigan fotoselni va chiqish sifatida RGB LEDni ishlatishga qaror qildim. Men LEDning turli xil ranglarni ko'rsatish qobiliyatini o'z ichiga olishni xohlayotganimni bilardim, chunki men uchun bu qiziqarli bo'lardi. Agar men xohlagan turdagi mahsulotni yarata olsam, uni iloji boricha rang -barang bo'lishini ham o'ylardim.

Taxminiy narx:

$ 37 - Elegoo Super Starter to'plami (barcha jihozlarni o'z ichiga oladi)

$ 53 - Barcha materiallarni alohida sotib olish

Foydali havolalar:

RGB LED -

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

Fotosel -

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

Arduino dasturiy ta'minoti -

www.arduino.cc/en/software

Elegoo Super Start to'plami -

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

Ta'minotlar

- 1 RGB LED

- 1 ta fotosel (fotorezistor)

- 1 Arduino UNO kengashi

- 1 ta non paneli

- Arduino uchun 1 ta USB kabeli

- 7 ta o'tish simlari

- 3 220 ohmli rezistorlar

- 1 10k ohmli qarshilik

- Arduino dasturi (yuklab olish bepul)

Majburiy emas

- igna burun qisqichi

1 -qadam: Breadboardda LEDni o'rnating

Elektron panelga LEDni o'rnating
Elektron panelga LEDni o'rnating
Elektron panelga LEDni o'rnating
Elektron panelga LEDni o'rnating
Elektron panelga LEDni o'rnating
Elektron panelga LEDni o'rnating

Birinchidan, RGB LEDini taxtada to'g'ri o'rnatish kerak

Har bir to'rt oyoqli LEDni bir xil ustunning alohida teshiklariga joylashtiring (harflar bilan ko'rsatilgan). Eng uzun oyoq tepadan ikkinchi oyoq bo'lishi kerak.

Eng uzun oyoqning qatorida (raqamlar bilan ko'rsatilgan) o'tish simining bir uchini ulang.

Qisqa uchta oyoqning har biriga bitta 220 ohmli rezistor qo'ying. Har bir rezistorning ikkala oyog'i LED oyoqlari bilan bir qatorda bo'lishi kerak. Bu erda men igna pense ishlatardim, chunki rezistorlarning oyoqlarini qo'l bilan ulash qiyin bo'lishi mumkin.

LEDga qarama -qarshilik tomonida uchta o'tish simini ulang. Bu uchta qator uchun bitta o'tish simlari, bitta qarshilik va LEDning bir oyog'i bo'lishi kerak.

2 -qadam: Arduino -da LEDni o'rnating

LEDni Arduino -ga o'rnating
LEDni Arduino -ga o'rnating
LEDni Arduino -ga o'rnating
LEDni Arduino -ga o'rnating
LEDni Arduino -ga o'rnating
LEDni Arduino -ga o'rnating
LEDni Arduino -ga o'rnating
LEDni Arduino -ga o'rnating

Endi LED displeyda to'g'ri o'rnatilgan, uni Arduino -ga ulash lozim.

Eng uzun oyoqqa ulangan birinchi o'tish simini (LEDning ikkinchi qatori bo'lishi kerak) Arduino -da "GND" bilan ko'rsatilgan erga ulash kerak.

Qolgan uch o'tish simlari kamayish tartibida 11, 10 va 9 -portlarga ulangan bo'lishi kerak. Yuqori qatordagi sim 11 ga ulangan bo'lishi kerak, keyingi sim pastga (uchinchi qator bo'lishi kerak) 10 ga ulanadi., va oxirgi sim 9 ga ulanadi. Bu uchta sim bir -biriga parallel ravishda o'tishi va bir -birining ustiga chiqmasligi kerak.

3 -qadam: elektron jadvalda Photocell -ni o'rnating

Elektron jadvalda Photocell -ni o'rnating
Elektron jadvalda Photocell -ni o'rnating
Elektron jadvalda Photocell -ni o'rnating
Elektron jadvalda Photocell -ni o'rnating
Elektron jadvalda Photocell -ni o'rnating
Elektron jadvalda Photocell -ni o'rnating

LED atrof -muhitning yorqinligiga ta'sir qilishi uchun u sensordan ma'lumot olishi kerak.

Fotoselni ikkita oyog'i bir xil ustunga joylashtiring, xuddi shu tarzda LED ulangan.

10k ohmli rezistorni bir oyog'i bilan fotoselning pastki oyog'i bilan bir qatorda ulang. Rezistorning ikkinchi oyog'ini xuddi shu ustunga joylashtiring.

4 -qadam: Photocell -ni Arduino -ga ulang

Photocell -ni Arduino -ga ulang
Photocell -ni Arduino -ga ulang
Photocell -ni Arduino -ga ulang
Photocell -ni Arduino -ga ulang
Photocell -ni Arduino -ga ulang
Photocell -ni Arduino -ga ulang
Photocell -ni Arduino -ga ulang
Photocell -ni Arduino -ga ulang

10k ohmli qarshilik bilan bir qatorda bitta o'tish simini ulang, lekin fotoselni bir qatorda emas.

Bu o'tish simining ikkinchi uchini Arduino -dagi erga (GND) ulang.

Ikkita turli o'tish simlarini ulang, bittasi fotosel oyoqlari bilan bir qatorda.

Simni yuqori qismdan Arduino -dagi 5V portiga ulang.

Arduino -dagi A0 portiga simni eng pastdan ulang.

5 -qadam: Arduino -ni ulang

Arduino -ni ulang
Arduino -ni ulang
Arduino -ni ulang
Arduino -ni ulang
Arduino -ni ulang
Arduino -ni ulang
Arduino -ni ulang
Arduino -ni ulang

Endi non paneli o'rnatilgan va Arduino -ga ulangan bo'lsa, Arduino -ni kompyuteringizga ulash uchun USB ulagichidan foydalaning.

6 -qadam: Kodni ishga tushiring

Kodni ishga tushiring
Kodni ishga tushiring
Kodni ishga tushiring
Kodni ishga tushiring

Arduino dasturidan foydalanib, yangi eskiz yarating.

Izohda ismingizni, eskiz haqidagi ba'zi tafsilotlarni yozing va foydalangan resurslaringizni havola qiling.

Bo'sh sozlamaning tepasida global o'zgaruvchilarni o'rnating. Quyidagi kodni nusxa ko'chiring va joylashtiring. Kodni yozganingizda, ba'zi qismlar boshqa rangga aylanadi. Bu sodir bo'lishi kerak.

int red_light_pin = 11; int green_light_pin = 10; int blue_light_pin = 9; int fotosel O'qish = 0; int fotosel = 5;

E'tibor bergan bo'lsangiz, bu o'zgaruvchilarga berilgan raqamlar Arduino kartasida simlar ulangan joyga mos keladi.

7 -qadam: bo'sh joyni sozlash

Bo'sh o'rnatish
Bo'sh o'rnatish

Chiqish sifatida RGB LEDini o'rnating.

pinMode (red_light_pin, OUTPUT); pinMode (green_light_pin, OUTPUT); pinMode (blue_light_pin, OUTPUT);

Fotoselning o'qilishini ko'rish uchun ketma -ket monitorni ishga tushiring.

Serial.begin (9600); Serial.println ("Serial monitor ishga tushdi"); kechikish (500); Serial.println ("."); kechikish (500); Serial.println ("."); kechikish (500); Serial.println ("."); kechikish (500);

Bo'sh o'rnatish kodi jingalak qavs ichida joylashganligiga ishonch hosil qiling {}

8 -qadam: Void Loop

Void Loop
Void Loop
Void Loop
Void Loop

Void loop bo'limining kodini yozing.

Birinchi rasmdagi kod fotosel o'qilishini alohida satrlarga bosib chiqaradi. Bu o'qishni osonlashtiradi.

int qiymati = analogRead (A0); photocellReading = analogRead (fotosel); Serial.println (fotosel o'qish); kechikish (40);

Ikkinchi rasmdagi kod - bu LED qaysi rangga mos keladigan o'qish qiymatlariga mos keladigan narsa.

if (fotoselReading 0) {RGB_color (255, 0, 0); // Qizil} agar (fotoselReding 99) {RGB_color (255, 255, 0); // Sariq} agar (fotoselReding 199) {RGB_color (0, 255, 0); // Yashil} if (fotoselReading 299) {RGB_color (0, 0, 255); // Moviy} if (fotoselReading 399) {RGB_color (255, 0, 255); // Qizil rang}

RGB_color (0s va 255s) raqamli qiymatlarini o'zgartirish qaysi rangni ko'rsatilishini o'zgartiradi. Bu men bilan birga kelgan ranglar, lekin xohlaganingizcha ularni o'zgartiring yoki o'zgartiring.

Bo'shliq pastadir qismi jingalak qavs ichida joylashganligini ikki marta tekshiring {}

9 -qadam: Ranglarni o'zgartirish

Ranglarni o'zgartirish
Ranglarni o'zgartirish

Bu oldingi bosqichda tanlash uchun ko'proq ranglar. Men ushbu kodni eskizimga mos yozuvlar sifatida ishlatganman.

10 -qadam: Oxirgi RGB LED kodi

Oxirgi RGB LED kodi
Oxirgi RGB LED kodi

Eskizning oxirida, bo'shliqlar bo'limi tashqarisida, Arduino qaysi porti qizil, yashil va yashil yorug'lik qiymatlarini bildirishini aniqlash uchun ushbu kodni kiriting.

bo'sh 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); }

Xuddi bo'sh joy va bo'sh qismlar bo'limida bo'lgani kabi, bu bo'lim ham jingalak qavs ichida joylashganligiga ishonch hosil qiling {}

11 -qadam: Chiroqlarni sinab ko'ring

Chiroqlarni sinab ko'ring!
Chiroqlarni sinab ko'ring!
Chiroqlarni sinab ko'ring!
Chiroqlarni sinab ko'ring!
Chiroqlarni sinab ko'ring!
Chiroqlarni sinab ko'ring!

Dasturda yuklash tugmachasini bosib kodni Arduino kartasiga yuklang. Agar siz buni to'g'ri qilgan bo'lsangiz, LED atrofdagi yorug'lik qancha bo'lishiga qarab rangni ko'rsatishi kerak.

Qizil - eng qorong'i muhit, eng past fotosel o'qishi.

Sariq - bir oz yorqinroq muhit/fotosel o'qish darajasi. Bu tasvirda yashil rangga o'xshaydi, lekin u shaxsan sariq rangda porladi.

Keyingi uchta rang, yashil, ko'k va binafsha ranglarning hammasi fotoselning yuqori darajadagi ko'rsatkichlariga mos keladi.

12 -qadam: Muammolarni bartaraf etish

Muammolarni bartaraf qilish; nosozliklarni TUZATISH
Muammolarni bartaraf qilish; nosozliklarni TUZATISH

Agar ranglar o'zgarmasa yoki rang o'zgarishi uchun juda katta o'zgarishlar kerak bo'lsa, ketma -ket monitorda fotosel o'qilishini tekshiring. Har bir muhitda yorug'lik darajasi har xil, shuning uchun kodning aks etishi muhim.

Arduino dasturining yuqori qismidagi Asboblar -ni bosing -> Serial monitor -ni bosing.

Raqamlar ro'yxatini ko'rsatadigan oyna paydo bo'lishi kerak. Void Loop qadamidan if iboralari sonini rostlang.

13 -qadam: Yakuniy mahsulot

Yakuniy mahsulot
Yakuniy mahsulot

Bu qadamlarning barchasini bajarib, siz atrofingiz yorqinligiga qarab ranglarni o'zgartiradigan yorug'lik bilan tugashingiz kerak.

Men uchun xonamning o'rtacha yorqinligida yorug'lik yashil rangda yonadi, lekin men fotoselni yopib yoki yorug'lik qanchalik ko'pligini oshirish orqali rangni osongina o'zgartira olaman.

Tavsiya: