Mundarija:

O'rmon yong'inlari: 7 qadam
O'rmon yong'inlari: 7 qadam

Video: O'rmon yong'inlari: 7 qadam

Video: O'rmon yong'inlari: 7 qadam
Video: КИЗ 100 МАРТА ХОМИЛАДОР БУЛИШГА МАЖБУР ЙОШ ВА ЧИРОЙЛИ БУЛИБ КОЛИШ УЧУН! 2024, Noyabr
Anonim
Image
Image

Bu loyiha "Taxtlar o'yini" dagi sirli o'rmon yong'inidan ilhomlanib, yashil rangdagi suyuqlik bo'lib, u yoqilganda yashil olovda portladi. Loyiha maxsus rang effektlari uchun RGB SMD5050 LED tasmalaridan foydalanishga qaratilgan. Uchta shisha buyumlar har biri oltita RGB LEDli lenta bilan jihozlangan. Arduino Uno chiroqlar uchun miltillovchi naqsh kabi olov yaratadi. RGB LEDlari to'q yashil rangdan och yashil ranggacha oq ranggacha gradient rang naqshini yaratish uchun kerak. Oddiy yashil LED etarli emas, yorqin oq rang yaratish uchun unga qizil va ko'k komponentlar kerak. Bonus sifatida, bu apparat har qanday boshqa ranglarni ishlab chiqarishi mumkin. Shisha buyumlar yorug'likni sindirish va haqiqiy yorug'lik manbasini, ya'ni kichik, juda texnik ko'rinadigan RGB SMD5050 LED chiziqlarini yashirish uchun kerak.

Bu g'oya siz xohlagan narsalarga va xohlagan dinamik rang sxemalariga kengaytirilishi mumkin. Bu ko'rsatma quyidagi rang sxemalari bilan uchta shisha buyumlar bilan o'rnatishni qanday amalga oshirganimni tasvirlaydi. O'rmon yong'inlari sxemasi kirish videoda ko'rinadi. Qolgan sxemalar ushbu ko'rsatmaning 6 -qadam sahifasidagi videoda ko'rsatilgan.

  • Yong'in. "Taxtlar o'yini" olovga tomoshabin kabi ilhom berdi.
  • Unicorn jalb qiluvchi. Kamalak ranglarini yo'qotadigan tomosha.
  • Ko'z yumish. Rangning tasodifiy o'zgarishi ikki xil tezlikda.
  • Xira. Tasodifiy ranglarning ikki xil tezlikda silliq o'zgarishi.
  • Jonli ranglar. Ob'ektlaringizni bitta rangli rang atrofida yumshoq tebranuvchi yorug'lik bilan ranglang.
  • Shamlar. LEDlar tabiiy sham oloviga taqlid qilsin.

O'rnatish

Asosiy sozlashda siz bitta tugmani bosish orqali oltita rang sxemasidan o'tasiz. Ikki marta bosish, agar mavjud bo'lsa, bitta rang sxemasida bir sozlamadan ikkinchisiga o'tadi. Rangni sozlash Arduino dasturini tahrirlash orqali qo'shilishi mumkin.

Kelgusida kengaytirilgan versiyada tugma rang sxemalarini boshqaradigan veb -sahifaga o'tadigan ESP8266 taxtasi bilan almashtiriladi. O'z navbatida veb -sahifani mobil qurilmalar brauzeri yordamida boshqarish mumkin. Bu narsalarni sozlashda yanada xilma -xillikni beradi:

  • o'zgarish tezligi va yo'nalishini belgilang
  • miltillovchi shamlar uchun rangni o'rnating
  • ranglarning yorqinligi va to'yinganligini o'rnating

Bu ko'rsatma asosiy interfeysga qaratilgan bo'lib, u faqat foydalanuvchi interfeysi sifatida tugmachani o'z ichiga oladi.

1 -qadam: Sizga nima kerak

Sizga nima kerak
Sizga nima kerak
Sizga nima kerak
Sizga nima kerak
  • Qisqa chiziqlar bilan kesish mumkin bo'lgan arzon RGB LED tasmasi
  • Quvvat bloki, tercihen 12 V 1,5 RGB LED tasmasi bilan birga kelgan narsa
  • Arduino UNO yoki shunga o'xshash
  • Ikki ULN2803AP IC: s
  • Oddiy bosish tugmasi
  • Perma-Proto non paneli
  • Tel
  • Elektron uchun quti
  • Ba'zi shisha buyumlar RGB LED chiziqlari bilan yoritilishi kerak
  • Asboblar (simlarni tortuvchi, lehimlantiruvchi temir, lehim …)

Etakchi chiziq

Men 90 RGB SMD LED -laridan tashkil topgan arzon LED tasmasini sotib oldim. Kichkina birlik, ularning rangini o'zgartirib, ledlarni boshqaradi. Qurilma masofadan boshqariladi va chiziq ranglarni har xil usulda o'zgartirishi mumkin. Ammo butun chiziq bir xil rangga ega. Qizig'i shundaki, siz chiziqni har bir chiziqda faqat uchta rgb LEDni o'z ichiga olgan kichik chiziqlarga kesib qo'yishingiz mumkin. Har bir tasma, qancha vaqt bo'lishidan qat'i nazar, 12 V kuchlanish bilan quvvatlanishi kerak. Uch rgbli LEDlarning har bir bo'lagi o'z kuchlanish rezistorlari bilan jihozlangan, ular lampalar uchun kuchlanish pasayishiga e'tibor beradi. Siz faqat 12 V va etarlicha amperlarni, yaxshi, milliamperlarni ta'minlashingiz kerak. Ushbu loyiha uchun men har birida 6 dona va 12 V 1.0 A quvvat blokining uchta tasmasini ishlataman. Boshqarish birligi va masofadan boshqarish pulti kerak emas.

ULN2803AP

Bitta LEDga ozgina tok kerak. Odatda, siz to'g'ridan -to'g'ri Arduino ma'lumot pimidan svetodiodni yoqishingiz mumkin, agar sizda rezistor bo'lsa, 5 V ma'lumot pinini LED uchun 3 V ga tushiradi. Lekin bitta RGB SMD5050 LED uchta LEDdan iborat, qizil, gren va ko'k. Va bu loyiha uchun men 6 ta RGB SMD5050 LED tasmalaridan foydalanayapman. Arduino Uno -ning bitta ma'lumot pinasi 6 ta LEDni boshqaradi. Ledlarni yoqish kuchi ma'lumot pinidan keladigan bo'lsa, bu faqat ma'lumot pinini tushirdi. Ammo, bu ma'lumotlarning to'qqiztasi bo'ladi va bu Arduino uchun juda katta oqim bo'ladi. Shuning uchun ULN2803AP ishga tushadi. ULN2803AP - bu 8 darlington tranzistorli birlashtirilgan chip. Menga 9 kerak, shuning uchun men faqat ikkita ULN2803AP chipini ishlataman. Bu menga 7 ta zaxira tranzistorni qoldiradi, agar men loyihani beshta ob'ektga aytmoqchi bo'lsam.

RGB SMD5050 LED -dagi bitta svetodiod 20 mA ga teng. Ulardan oltitasi 120 mA ni tashkil qiladi. ULN2803 -dagi bitta pin (bitta darlington tranzistor) 500 mA ga cho'kishi mumkin. Ammo butun chip oqim tomonidan ishlab chiqarilgan maksimal 1,44 Vt issiqlik bilan ishlay oladi. 120 mA 0,144 Vt ishlab chiqaradi, men ULN2803 chiplaridan biriga beshta, ikkinchisiga to'rtta chiziq qo'yaman. Bu bitta chipda 0,72 Vt, boshqa chipda 0,58 Vt bo'ladi. Shunday qilib, men yaxshi bo'lishim kerak. Har birida 120 mA bo'lgan ULN2803 ning barcha 8 ta chizig'idan foydalanish chipni 1,2 Vt ga qizdiradi.

Oddiy qilib aytganda, RGB SMD LED tasmasi quvvat manbaidan 12 V oladi. LED chizig'idan uchta rangli LEDlarning har birining oqimi ULN2803AP -dagi o'z piniga, so'ngra GND -ga o'tadi. O'chirish yopiladi va LED yonadi. Ammo ULN2803AP Arduino -dan 5 V ma'lumot signallari orqali yoqiladi/o'chadi. Bu signallar Arduino -dan bir necha milliamperni oladi.

Shisha buyumlar va LED chiziqlar

Menda g'alati shisha buyumlar bor edi, ular choy chiroqlari uchun mo'ljallangan edi. Men qayin yog'ochlaridan plastinkalarni kesib oldim, ular tursin va LED tasmalarini yopishtiradigan narsaga ega bo'lsin. Men ularni halqalarga aylantirish uchun chiziqlarda bir necha burmalar yasadim, bu erda alohida LED birliklari yuqoriga qaragan. Burmalardan ehtiyot bo'ling, shunda siz chiziqlarni kesmaysiz.

2 -qadam: Foydalanuvchi uchun ko'rsatmalar

Qurilma oddiy foydalanuvchi interfeysiga ega bo'ladi. U quvvat manbaini rozetkaga ulash orqali yoqiladi va birinchi rang sxemasidan boshlanadi, bu Wildfire. U tarmoqdan uzilishi bilan o'chadi. Tugmani bosish keyingi rang sxemasiga o'tadi. Ikki marta bosish har bir rang sxemasining pastki sxemalari orqali o'tadi. Men quyidagi rang sxemalarini amalga oshiraman:

  1. Yong'in. "Taxtlar o'yini" yashil olov bir oynadan ikkinchisiga o'tadigan ko'zoynak kabi olovni ilhomlantirdi. Shisha buyumlar bir -biriga vertikal joylashganda, bu effekt eng ajoyib ko'rinadi. Yong'inning har xil tezligida uch xil subcheme amalga oshiriladi.
  2. Unicorn jalb qiluvchi. Kamalak ranglarini yo'qotadigan tomosha. Xiralashish aylanma tarzda sodir bo'ladi, xuddi har bir rang bir oynadan ikkinchisiga o'tadi. Subchemes turli xil tezliklarga ega bo'ladi.
  3. Ko'z yumish. Rangni ikki xil tezlikda tasodifiy o'zgartirish. Subchemes turli palitralarga ega bo'ladi (faqat to'liq to'yingan ranglar, yarim to'yingan ranglar, ranglar doirasining faqat yarmidan ranglar)
  4. Xira. Tasodifiy ranglarning ikki xil tezlikda silliq o'zgarishi. O'xshash pastki qismlar №3.
  5. Jonli ranglar. Ob'ektlaringizni bitta rangli rang atrofida yumshoq tebranuvchi yorug'lik bilan ranglang. Pastki jadvallar ranglarni qizil, to'q sariq, sariq, yashil, ko'k, indigo yoki binafsha rangga o'rnatadi. Tebranish tanlangan rang atrofida 10 graduslik sektorda sodir bo'ladi. Uchta shisha buyum bir xil tanlangan rangga ega, lekin har bir ob'ekt o'z tasodifiy o'zgaruvchan tebranish chastotasiga ega bo'lib, butun to'plamga jonli rang beradi.
  6. Shamlar. LEDlar tabiiy sham oloviga taqlid qilsin. Uchta subcheme:

    1. "iloji boricha tinchlaning"
    2. "bir joyda ochiq oyna"
    3. "Bu qorong'u va bo'ronli tun edi"

3 -qadam: RGB ranglari haqida bir necha so'z

Bu bo'limda men RGB rang maydoni haqidagi fikrimni muhokama qilaman. Siz bu bo'limni o'tkazib yuborishingiz mumkin. Men nima uchun RGB LEDlarining ranglarini men kabi muomala qilishim haqida bir oz ma'lumot beraman.

Shunday qilib, RGB LED faqat qizil, yashil va ko'k chiroqqa ega. Bularni aralashtirish inson ko'zlari taniy oladigan barcha ranglarni hosil qiladi (deyarli). Har bir qism - qizil, yashil yoki ko'k - raqamli dunyoda, odatda, 0 dan 255 gacha bo'lgan raqamlar bilan belgilanadi. To'yingan rang uchun rang komponentlaridan biri nol, bitta rang komponenti 255 bo'lishi kerak. Ma'lumki, bizning raqamli dunyomizda atigi 1530 xil to'yingan rang bor.

RGB maydonini modellashtirishning bir usuli - bu kub. Kubning bitta tepasi qora. Bu tepalikdan biz qizil, ko'k yoki yashil chekka bo'ylab sayohat qilishimiz mumkin. Kubdagi har qanday nuqta qizil, yashil va ko'k koordinatalari bilan belgilangan rangdir. Qora tepalikdan eng uzoq nuqtaga sayohat qilib, biz oq tepaga kelamiz. Qora va oqdan tashqari oltita tepalikka e'tibor qaratib, biz qirralarni kuzatib, oltita tepalikni kesib o'tadigan yo'lni yaratishimiz mumkin. Har bir chekkada 256 nuqta yoki rang bor. Har bir tepalik ikki qirraga bo'linadi, shuning uchun ballarning umumiy soni 6 * 255 = 1530. Bu yo'l bo'ylab ranglar spektridagi to'la to'yingan 1530 ta rang o'tadi. Yoki kamalak. Tepaliklar qizil, sariq, yashil, ko'k, ko'k va binafsha ranglarni ifodalaydi.

Kubdagi boshqa har qanday nuqta rangni ifodalaydi, u to'yingan emas.

  • Yoki nuqta kub ichida, ya'ni qizil, yashil va ko'k koordinatalari noldan farq qiladi. Qora tepalikdan oq tepagacha diagonalni barcha kulrang soyalar chizig'i sifatida tasavvur qiling. Va kub ichidagi "to'yingan bo'lmagan ranglar" hammasi "to'yinganlik" diagonali bo'ylab to'yinganligidan so'nib bormoqda.
  • Yoki nuqta qora uchiga tegib turgan kubning uchta tekis yuzasidan birida yotadi. Bunday rangni to'yingan deb hisoblash mumkin, lekin qoraygan. Siz uni qanchalik qorong'ilashtirsangiz, u ranglarning to'yinganligini yo'qotadi.

To'liq to'yingan ranglarni tasvirlaydigan kub atrofida oltita chekka yo'lning o'rniga, biz bu 1530 rangni doira ichida joylashtirishimiz mumkin, bu erda biz 60 gradusli sektorda 255 xil rangga egamiz, masalan, qizil rangdan sariq rangga yashil rang qo'shganda.. Ranglar doirasidagi barcha ranglarni aylanib o'tish, uchta rangni boshqarish moslamasini siljitishga o'xshaydi, bittasi navbat bilan, qolgan ikkitasi qarama -qarshi pozitsiyalarda. Men ranglar doirasini yoki kamalak spektrini ba'zi rang sxemalarida ishlatmoqchi bo'lganim uchun, men o'zimning 1530 o'lchovimdan foydalanib, rangni (tusni) aylanadagi nuqta sifatida belgilayman:

1530 o'lchovli standart 360 o'lchov

====================================== qizil 0 0 to'q sariq 128 30 sariq 256 60 yashil 512 120 turkuaz 768 180 ko'k 1024 240 indigo 1152 270 binafsha 1280 300 pushti 1408 330

Ushbu 1530 o'lchovi kamalak ranglarini RGB LEDlari qiymatiga aylantirishni soddalashtiradi.

Nima uchun har bir bo'limda 255 ta rang? Nega 256 emas? Xo'sh, bitta sektorning 256 -chi rangi keyingi sektorning birinchi rangidir. Bu rangni ikki marta sanab bo'lmaydi.

PWM haqida bir necha so'z

Oddiy LED, ma'lum bir kuchlanishda yorqin porlash uchun mo'ljallangan. Bu kuchlanishni pasaytirish yorqinlikni pasayishiga olib kelishi mumkin, lekin LEDning o'zi faqat kuchlanishni pasaytirish orqali xiralashishi uchun mo'ljallanmagan. Kuchlanishning yarmida u umuman yoqilmasligi mumkin. Buning o'rniga, karartma to'liq kuchlanish va nol kuchlanish o'rtasida o'tish orqali amalga oshiriladi. Kommutatsiya qanchalik tez bo'lsa, shuncha miltillovchi miltillashni ko'ra olmaydi. Agar LED yarim vaqt yoniq bo'lsa va yarim tanaffus bo'lsa, inson ko'zlari yorug'likni to'la yorqin LED ta'sirining yarmi bilan porlagandek qabul qiladi. To'liq ta'sir qilish vaqti va nol effekt vaqti o'rtasidagi nisbatni sozlash - bu LEDni xiralashtirish. Bu PWM yoki puls kengligi modulyatsiyasi.

Men ushbu loyiha uchun sotib olgan arzon RGB SMD LED tasmasi PWMga g'amxo'rlik qiladigan qurilmani o'z ichiga oladi. Ushbu loyihada men Arduino UNO bilan PWM yarataman. RGB rang maydoni, odatda, kompyuter ekranida qo'llaniladigan, nazariy tuzilish bo'lib, unda har bir rangli kanal 0 dan 255 gacha bo'lgan qiymatni tasavvur qiladi va kanalning yorqinligi chiziqli ravishda qiymatga mos keladi. Kompyuterning grafik kartasi, bu chiziqli kutishlarning haqiqiy yoritgichlari bo'lishi mumkin bo'lgan har qanday qisqartirishni qoplashi mumkin. Ushbu loyihada ishlatilgan SMD LEDlari chiziqli ravishda PWM qiymatlariga mos keladimi yoki yo'qmi, bu loyiha doirasiga kirmaydi. PWM qiymati 255 eng yorqin nurni yaratadi. Lekin 128 qiymati 255 yorqinligining yarmi sifatida qabul qilinadigan yorqinlik bo'lmasligi mumkin. 192 va aynan 255 va 128 o'rtalarida yorqinlik sifatida qabul qilinmasligi mumkin.

4 -qadam: sxemalar

Sxemalar
Sxemalar

Bu erda men elektronikaning sxemalarini taqdim etaman. Fotosuratda mening aloqam qanday ko'rinishini ko'rsatadi. Men chiplarni, simlarni va tugmani perma proto taxtasiga lehimladim. Hozircha komponentlar faqat simlar bilan bog'langan, lekin men ularni qanday qilib chiroyli qutiga joylashtirishni va LED chiziqlariga simlarni qanday chizish kerakligini sizga topshiraman. Agar siz 4 simli tekis kabel topsangiz, uni ishlating, chunki bitta LED tasmasiga 4 ta sim kerak. Menda faqat 3 simli tekis kabel bor edi, shuning uchun menga qo'shimcha sim kerak edi, bu esa uni biroz chirkin qilib ko'rsatdi.

5 -qadam: Kod

Kod Arduino Uno uchun yozilgan. Uno -da faqat 6 ta PWM qobiliyatli pin bor, lekin menga ulardan 9 tasi kerak. Shunday qilib, men Brett Xagman yozgan maxsus PWM kutubxonasidan foydalanaman. Bu Arduino IDE -ga o'rnatilishi kerak.

wildfire.ino - bu asosiy loyiha fayli, u setup () va loop () funktsiyalarini, shuningdek, barcha sxemalar uchun boshqa umumiy funktsiyalarni o'z ichiga oladi.

wildfire.h - umumiy nomli fayl.

Har xil sxemali fayllarni loyihada alohida yorliq sifatida joylashtirish mumkin.

6 -qadam: Amalda

Image
Image

7 -qadam: keyingi rivojlanish

  • Foydalanuvchi interfeysi sxemalarni boshqarish uchun veb -sahifa bo'lgan Android telefon bilan simsiz aloqani yoqish uchun bitta tugmachali interfeysni ESP8266 bilan almashtiring.
  • Qo'llaniladigan chiziqda hali ham 70 ta RGB SMD LEDlari qolgan. Bu 24 tasma, har birida 3 tadan. Yana 24 ta kanalga yangicha yondashuv kerak. Unga Arduino Mega 2560 va yana bir qancha ULN2803AP chiplari kerak bo'ladi.
  • Original LED tasmasi uchun masofadan boshqarish pulti, shuningdek uni qabul qilgich ham ishlatilmagan. Men qabul qilgichni hali ochmaganman, lekin uni qandaydir tarzda qayta ishlatish mumkin. Arduino -ga o'z mantig'ini o'g'irlashga va yorug'lik namoyishini boshqarish uchun Arduino -ga raqamli ma'lumotlarni etkazib berishga ruxsat berish mumkin.

Tavsiya: