Mundarija:

RC boshqariladigan Rgb Led Strip: 4 qadam (rasmlar bilan)
RC boshqariladigan Rgb Led Strip: 4 qadam (rasmlar bilan)

Video: RC boshqariladigan Rgb Led Strip: 4 qadam (rasmlar bilan)

Video: RC boshqariladigan Rgb Led Strip: 4 qadam (rasmlar bilan)
Video: REAL RACING 3 LEAD FOOT EDITION 2024, Noyabr
Anonim
RC boshqariladigan Rgb Led Strip
RC boshqariladigan Rgb Led Strip

Xonani individual yoritish uchun o'z qo'li bilan boshqariladigan LED chizig'ini yarating!

Ko'p rgb-chiziqli chiziqlar infraqizil masofadan boshqarish pulti tomonidan boshqariladi. Uni o'chirish yoki yoqish yoki rangini o'zgartirish uchun siz qabul qiluvchining oldida turishingiz kerak. Bu zerikarli va haqiqatan ham aqlli emas. Yorug'likni sovuqroq boshqarish uchun men chiziqning to'g'ri rangini belgilash uchun rc boshqaruv paneli yaratdim. RC kodini malina pi dan yuborish mumkin, IFTTT haqida o'ylang. Bu masofadan boshqarish pultidan ancha aqlli.

Sizga kerak bo'lgan narsalar:

  • rgb-led-strip, masalan, bu hiyla qiladi
  • ATTiny85
  • 433 MGtsli qabul qiluvchi (va ixtiyoriy ravishda yuboruvchi)
  • 5V regulyator (L7805)
  • 3 ta NPN tranzistorlari, men darlingtonarraydan foydalandim
  • 1 mF kondansatör
  • 10 mF kondansatör
  • 12V quvvat manbai
  • chiziqli chiziqli taxta
  • bir nechta simlar
  • ATTiny dasturchisi, arduino-mega yoki arduino-uno
  • ixtiyoriy ravishda malina pi signallarni yuborish uchun

1 -qadam: aylanma taxtani lehimlang

Devor taxtasini lehimlang
Devor taxtasini lehimlang
Devor taxtasini lehimlang
Devor taxtasini lehimlang
Devor taxtasini lehimlang
Devor taxtasini lehimlang

Agar sizda barcha komponentlar bo'lsa, siz aylanma taxtani lehimlashingiz kerak.

LED chizig'iga 12v, ATTiny va rc qabul qiluvchiga 5v kerak, shuning uchun aylana 12v oladi.

5V regulyatoridan foydalanadigan ATTiny va rc qabul qiluvchisi uchun mening aylanishim sooraj619dan ilhomlangan.

Kengash qizil-yashil va ko'k ranglarning uchta rangini 3-soniyali jadvalga o'tkazgich chizig'iga o'tkazadi. Belgilangan rangga erishish uchun har bir rang to'g'ri foizda. Vaqt jadvalining davomiyligi 3 ms bo'lganligi sababli siz uchta rangni yashil yashil va ko'k rangga almashtirishni ko'rmaysiz, lekin siz to'g'ri rangni ko'rasiz (masalan, qizil va yashil aralashgan sariq). Mening asboblar qutimda darlingtonarray bor edi, shuning uchun men bu qatorni ranglarni almashtirish uchun ishlatardim. Siz har qanday NPN tranzistorlaridan foydalanishingiz mumkin.

Qabul qilgichda 17 sm uzunlikdagi antennani unutmang.

2 -qadam: ATTiny -ni yoqing

Endi ATTiny-ni to'g'ri arduino-eskiz bilan o'chirish vaqti keldi.

Mikrokontrollerni yoqish uchun men arduino ide dan foydalandim. Menda dasturchi yo'q, shuning uchun men arduino-mega-dan foydalandim. Siz bu erda yoki bu erda tasvirlangan ATTiny-ni yoqish uchun arduino-uno yoki arduino-mega-dan foydalanishingiz mumkin.

Eskiz signalni qabul qilish uchun rc switch kutubxonasidan foydalanadi, uni bu yerdan yuklab olishingiz mumkin.

Rc switch kutubxonasi arduino platalari uchun yozilgan, shuning uchun u ATTiny mikrokontrollerida mavjud bo'lmagan ba'zi tartiblardan foydalanadi. ATTiny tufayli 153 dan 165 gacha chiziqlar uzilishni juda tubdan ishga tushiradi. Bundan tashqari, rc switch kutubxonasida "handleInterrupt" usulini "private" dan "public" ga o'tkazishingiz kerak.

3 -qadam: Raspberry Pi -dan kod yuboring

Raspberry Pi -dan kod yuboring
Raspberry Pi -dan kod yuboring
Raspberry Pi -dan kod yuboring
Raspberry Pi -dan kod yuboring

Endi chiroqni yoqish vaqti keldi.

Signal yuborish uchun siz rasperry pi -ni rc jo'natuvchisi bilan ulashingiz kerak. Bir nechta veb -saytlar malina pi bilan rc kodlarini yuborishni namoyish etadi. Masalan, bu erda, bu erda va bu erda. Rasmda televizor ekrani orqasidagi etakchi chiziq ko'rsatilgan, lekin bu bitta rangli uchta tasvirdan iborat fotomontaj.

Kod yuborish uchun minimal c dasturi quyidagicha ko'rinishi mumkin:

#"RCSwitch.h" ni qo'shing #qo'shing

#qo'shing

int main (int argc, char *argv ) {

int PIN = 0;

int xabar = atoi (argv [1]);

if (wiringPiSetup () == 1) 1 qaytarish;

printf ("xabar yuborish [%d] n", xabar);

RCSwitch mySwitch = RCSwitch ();

mySwitch.enableTransmit (PIN);

mySwitch.send (xabar, 32);

}

Rang 4 baytli butun son bilan kodlangan. Eng chap bayt 10 ga teng bo'lishi kerak, eskizda 178 ga qarang. Keyingi uch baytda har bir rang uchun rang intensivligi (qizil, yashil va ko'k) mavjud.

66% intensivlikdagi yashil chiroqni yoqish uchun buyruqni kiriting: sudo sendInt 167815680, bu erda sendInt yuqorida tuzilgan dastur.

Ledni o'chirish buyrug'i bilan: sudo sendInt 167772160

IFTTT imkoniyatlarini tasavvur qiling, masalan, elektron pochta uchun 3 soniya ko'k chiroq, google-taqvim bildirishnomasi uchun yashil rang. Qabul qilgich oldidagi masofadan boshqarish pultini bosishdan ko'ra aqlliroq;)

4 -qadam: korpus yarating

Qoplamani yarating
Qoplamani yarating
Qoplamani yarating
Qoplamani yarating
Qoplamani yarating
Qoplamani yarating

3D bosma muhofaza yarating.

Dizaynda elektr kabeli uchun teshik bor va yuqori chiziqli chiziqli chiziqni ulash uchun.

Men korpusni loyihalash uchun Fusion 360 -dan foydalandim va natijani.step fayli sifatida eksport qildim.

Netfabb tessellatsiyaga, shuningdek ishga tayyorgarlik ko'rishga imkon beradi. Men korpusning yuqori va pastki qismini o'z ichiga olgan 3mf biriktirdim. Netfabb shuningdek, gcode yaratishni qo'llab -quvvatlaydi.

Oxir -oqibat men korpusni chop etish uchun prusa i3 mk2 dan foydalandim.

Tavsiya: