Mundarija:

Ovozli reaktiv arzon Ir Led Strip: 4 qadam
Ovozli reaktiv arzon Ir Led Strip: 4 qadam

Video: Ovozli reaktiv arzon Ir Led Strip: 4 qadam

Video: Ovozli reaktiv arzon Ir Led Strip: 4 qadam
Video: Многопользовательские 3D воздушные истребители!! 🛩✈🛫🛬 - Air Wars 3 GamePlay 🎮📱 2024, Noyabr
Anonim
Ovozli reaktiv arzon Ir Led Strip
Ovozli reaktiv arzon Ir Led Strip
Ovozli reaktiv arzon Ir Led Strip
Ovozli reaktiv arzon Ir Led Strip
Ovozli reaktiv arzon Ir Led Strip
Ovozli reaktiv arzon Ir Led Strip

Ovozli reaktiv arzon Ir Led Strip

Xo'sh, bu fikr AliExpress -dan kelgan etakchi chiziqdan keyin paydo bo'ldi va ular neopixel emas, balki 44krys yoki 24 kalitli masofadan boshqariladigan RGB LED tasmasi edi. !! Naaah. Shunday qilib, men yenglarimni bukib, googledan o'tkazdim.

IK -LEDga ulangan IQ -emitentli pin orqali bir xil masofadagi tugmachalarni xaritaga soladigan, ESP -ga asoslangan IR -server mavjud.

lekin men ovozli reaktiv kabi boshqacha narsani xohlardim, yana menda ws1811 yoki neopixelli, hatto MOSFET va LED -larga ega bo'lgan juda ko'p darsliklar bor edi, lekin menda vaqt yo'q edi, shuning uchun men A0 PIN -da ovozni xaritalashning ahmoqona yondashuvini sinab ko'rdim. esp va infraqizil tugmachalarning ba'zi kombinatsiyalarini yoqish uchun chiqindilarni chelaklarda xaritalash faqat rgb, lekin menimcha, siz buni mendan yaxshiroq qilasiz.

Ta'minotlar

1. Quvvat manbai bo'lgan LED chiziqlar

2. esp8266 / tugun mcu

3. Ir Emitter rahbarlik qildi

4. Qarshilik

5. Dasturlash kabeli

6. arduino ide

7. lehimlantiruvchi temir (ba'zi bir asosiy lehim)

8. 7805 ic (LED ta'minotini esp ta'minoti sifatida ishlatish uchun)

9. Ovoz kiritish uchun mikrofonli modul yoki aux y split

1 -qadam: Esp -ga tayyorgarlik

  • Birinchidan, Nodemcu -ni kompyuter yoki noutbuk bilan ulang.
  • Endi nodemcu drayverini o'rnating (google it).
  • Bu ochilgandan so'ng, Arduino IDE (Albatta, siz uni yuklab olishingiz va o'rnatishingiz kerak) Arduino asboblar panelidagi "Asboblar" ni bosing "Kengash" ni bosing "Kengash menejeri" ni tanlang va uni o'rnatish uchun esp8266 ni qidiring (tugatish uchun biroz vaqt kerak bo'ladi).)
  • Endi Arduino asboblar panelidan "Chizma" ni tanlang "Kutubxonani qo'shish" -ni tanlang "Kutubxonalarni boshqarish" -ni tanlang "IRremoteESP8266" ni qidiring va o'rnating.
  • Endi konfiguratsiya faqat "Asboblar" orqali amalga oshiriladi, biz "Kengashlar" ga o'tishimiz kerak "NodeMcu 1.0 (ESP 12-E)" yoki ESP8266-ning boshqa versiyasini tanlang.

2 -qadam: IQ LEDni tayyorlash va sinovdan o'tkazish

IQ LEDni tayyorlash va sinovdan o'tkazish
IQ LEDni tayyorlash va sinovdan o'tkazish

Avvalo, biz esp uchun irLED kutubxonasini o'rnatishimiz kerak

Bu erga boring

24 ta kalit yoki 44 ta (kattaroq) masofadan boshqarish pultini aniqlash

masofadan boshqarish pulti kodini olish uchun BU YERGA kiring

Kutubxona o'rnatilgan bo'lsa, biz IR LEDni Rasmda ko'rsatilgandek ulash orqali tayyorlashimiz kerak. Buning asosida IQ LEDni ulang, so'ngra quyidagi eskizni yuklang va IQ LEDni tekshirgichga yo'naltiring. LED tasmasi miltillashi kerak (yonadi va o'chadi). // 24 va 44 tugmachalari bilan ishlaydi.

BU YERDA buni amalga oshirish uchun kod.

#define IR_OFF 0xF740BF // Rezektiv ir kodlari 32 bitda #IR_ON 0xF7C0 ni belgilang #qo'shing <IRremoteESP8266.h IRsend irsend (4); // IR pin void setup () {irsend.begin (); } void loop () {irsend.sendNEC (IR_ON, 32); kechikish (5000); irsend.sendNEC (IR_OFF, 32); kechikish (5000); }

3 -qadam: Mikrofonni ulash va tayyorlash

Mikrofonni ulash va tayyorlash
Mikrofonni ulash va tayyorlash
Mikrofonni ulash va tayyorlash
Mikrofonni ulash va tayyorlash

Biz kiritishni analog signal sifatida qabul qilish va tovushga asoslangan LEDni ishga tushirish uchun faqat Espe8266 A0 analog pinidan foydalanamiz.

A0 ga pinni ulang

5V -ni Vin -ga ulang (AS tugunining mcu -da 5V chiqishi yo'q)

Shunday qilib, biz D2 piniga ulangan IQ LEDni LED tasmasini qabul qiluvchiga moslashtiramiz.

a

4 -qadam: Kodni yuklang va u tayyor

Kodni yuklang va u tayyor
Kodni yuklang va u tayyor
Kodni yuklang va u tayyor
Kodni yuklang va u tayyor

#kiritish #qo'shish #mikrofonni belgilashPin A0 int ovozi; int ovozi 1; const int irPin = 4; // d2IRsend irsend (irPin); void setup () {Serial.begin (9600); pin rejimi (mikrofon pin, kirish); pinMode (irPin, OUTPUT);} // ir led kodlari #IR_BPlus 0xFF3AC5 ta'rifini belgilang // #IR_BMinusni aniqlang 0xFFBA45 // #IRfONni aniqlang 0xFF827D // #ta'rif IR_OFF 0xFF02FD // #Fayl IRF_F5 // IRFRF9 IR_B 0xFFA25D ni belgilang // #IR_Wni aniqlang 0xFF22DD // #IR_B1ni belgilang 0xFF2AD5 // #IRfini aniqlang IR_B2 0xFFAA55 // #IRfni aniqlang IR_B3 0xFF926D // IRfini aniqlang. 0xFFB24D // #IR_B8 ni aniqlang 0xFF32CD // #IR_B9ni aniqlang 0xFF38C7 // #IRfini aniqlang IR_B10 0xFFB847 // #ta'rifni IR_B11 0xFFF887 // #frefni aniqlang / #define IR_B16 0xFFD827 // #IR_UPRni belgilash 0xFF28D7 // #IR_UPG ni belgilash 0xFFA857 // #IR_UPBni belgilash 0xFF6897 // #IRfni aniqlang IR_DFF8/7 IR_SLOW 0xFFC837 ni belgilang // #IR_DIY1ni aniqlang 0xFF30CF // #IR_DIY2 ni aniqlang 0xFFB04F // #IR_DIY3 ni aniqlang 0xFF708F // #IR_AUTO ni aniqlang 0xFFF00F // #define IR_DIY4 0xFF10EF // #define IR_DIY5 0xFF906F // #define IR_DIY6 0xFF50AF // #define IR_FLASH 0xFFD02F // #define IR_JUMP3 0xFF20DF // #define IR_JUMP7 0xFFA05F // #define IR_FADE3 0xFF609F // #define IR_FADE7 0xFFE01F / / void loop () {sound = analogRead (microphonePin); // kirish audio signalini o'qishni olish Serial.print (tovush); // Serial.print ("") seriyali displeyiga audio signal o'qilishini kiritish; if (tovush> 415) {sound1 = xarita (tovush, 415, 750, 140, 255); // yuqori chastotali qiymatlarni 150 dan 255 gacha shkalasi bilan solishtirish, aks holda (ovoz> 340 && tovush <415) // ofset o'qishni nol o'lchovda ushlab turish.. bu erda 340 - 415 oralig'ida ofset qiymati (ofset qiymati 1.45v)).. bu sxemada ishlatiladigan komponentlarga bog'liq.. {sound1 = map (tovush, 340, 415, 0, 9); } if if (240 -tovush) {irsend.sendNEC (IR_FLASH, 32); irsend.sendNEC (IR_QUICK, 32); irsend.sendNEC (IR_QUICK, 32); irsend.sendNEC (IR_QUICK, 32); irsend.sendNEC (IR_QUICK, 32); irsend.sendNEC (IR_QUICK, 32); irsend.sendNEC (IR_QUICK, 32); } if if ((sound1)> 200) {irsend.sendNEC (IR_G, 32); irsend.sendNEC (IR_B, 32); kechiktirish (120);} else if (sound1> 160) {irsend.sendNEC (IR_R, 32); irsend.sendNEC (IR_B, 32); kechikish (120); } if if (sound1> 120) {irsend.sendNEC (IR_B, 32); kechikish (120); } if if (sound1> 80) {irsend.sendNEC (IR_B, 32); kechikish (120); } if if (sound1> 40) {irsend.sendNEC (IR_G, 32); kechikish (120); } if if (sound1> 10) {irsend.sendNEC (IR_R, 32); kechiktirish (120);} boshqa {irsend.sendNEC (IR_FADE7, 32); kechikish (120); } Serial.println (ovoz1); kechikish (50); }

Tavsiya: