Mündəricat:

Səs Reaktiv Ucuz İr Led Strip: 4 Addım
Səs Reaktiv Ucuz İr Led Strip: 4 Addım

Video: Səs Reaktiv Ucuz İr Led Strip: 4 Addım

Video: Səs Reaktiv Ucuz İr Led Strip: 4 Addım
Video: Как поработить человечество ►1 Прохождение Destroy all humans! 2024, Iyul
Anonim
Səs Reaktiv Ucuz İr Led Strip
Səs Reaktiv Ucuz İr Led Strip
Səs Reaktiv Ucuz İr Led Strip
Səs Reaktiv Ucuz İr Led Strip
Səs Reaktiv Ucuz İr Led Strip
Səs Reaktiv Ucuz İr Led Strip

Səs Reaktiv Ucuz İr Led Strip

Yaxşı, fikir led şeridi AliExpress -dən gəldikdən sonra gəldi və bunlar neopiksellər deyil, 44krys və ya 24 əsas uzaqdan idarə olunan RGB LED şeridi, lal mənə, lol, səhv birini sifariş etdim. Mən onları partiya üçün istədim, amma uzaqdan! !! Naaah. Buna görə qollarımı qatlayıb googledim.

Eyni uzaqdan idarəetmə düymələrini İQ -lə qoşulmuş İQ yayıcı pininin üzərində yerləşdirən esp əsaslı İR Web serveri var.

amma reaktiv bir səs kimi fərqli bir şey istədim, yenə də ws1811 və ya neopixelli, hətta MOSFET'li və LEDli çoxlu Dərsliklər aldım, amma vaxtım çatmadı, buna görə də A0 Pİn olmasına baxmayaraq Səs Eşlemenin lal bir yanaşmasını sınadım. esp və İR uzaqdan düymələrin bəzi birləşmələrini aktivləşdirmək üçün çıxışı kovalarla xəritələşdirmək yalnız rgb çoxdur, amma bahis edirəm ki, bunu məndən daha yaxşı edəcəksən.

Təchizat

1. Aydındır ki, enerji təchizatı olan bir LED şeridi

2. esp8266 / node mcu

3. İr Emitter rəhbərlik edirdi

4. Bir rezistor

5. Proqramlaşdırma kabeli

6. arduino ide

7. bir lehimləmə dəmiri (bəzi əsas lehimləmə)

8. 7805 ic (led təchizatı esp təchizatı kimi istifadə etmək üçün)

9. Səs girişi üçün mikrofon modulu və ya aux y split

Addım 1: Esp hazırlamaq

  • Əvvəlcə Nodemcu'yu kompüter və ya dizüstü kompüterə bağlayın.
  • İndi nodemcu sürücüsünü quraşdırın (google it).
  • Bu açıldıqdan sonra Arduino IDE (Əlbəttə yükləməlisiniz və quraşdırmalısınız) Arduino alətlər çubuğundakı "Alətlər" düyməsini vurun "İdarə Heyəti" üzərinə basın "İdarə Heyəti Meneceri" ni seçin və esp8266 quraşdırılmasını axtarın (tamamlanması bir az vaxt aparacaq).)
  • İndi Arduino alətlər çubuğundan "Eskiz" seçin, "Kitabxana daxil et" seçin, oradan "Kitabxanaları idarə et" seçin "IRremoteESP8266" axtarın və quraşdırın.
  • İndi konfiqurasiya yalnız "Alətlər" dən aparılır, "Növləri" bölməsinə keçməliyik "NodeMcu 1.0 (ESP 12-E)" və ya ESP8266-nın başqa bir versiyasını seçin.

Addım 2: IR LED -in hazırlanması və sınanması

IR LED -in hazırlanması və sınanması
IR LED -in hazırlanması və sınanması

Əvvəlcə esp üçün irLED kitabxana qurmalıyıq

Bura gedin

Led şeridinizi ya 24 düymədən, ya da 44 düymədən (daha böyük) uzaqdan təyin edin

Uzaqdan kodu əldə etmək üçün BURADA gedin

Kitabxana quraşdırıldıqda İQ LED -i Şəkildə göstərildiyi kimi bağlayaraq hazırlamalıyıq. Bunun əsasında IR LED -ni bağlayın, sonra aşağıdakı Sketch -i yükləyin və IR LED -i nəzarətçiyə yönəldin. LED şeridi yanıb -sönməlidir (açılır və sönür). // həm 24, həm də 44 düyməli Uzaqdan işləyir.

Bunu etmək üçün BURADA kod var.

#define IR_OFF 0xF740BF // 32 bitdə rezektiv ir kodları #IR_ON 0xF7C0 müəyyən edin #daxil edin <IRremoteESP8266.h IRsend irsend (4); // IR pin boşluğu qurulması () {irsend.begin (); } void loop () {irsend.sendNEC (IR_ON, 32); gecikmə (5000); irsend.sendNEC (IR_OFF, 32); gecikmə (5000); }

Addım 3: Mikrofonun çəkilməsi və hazırlanması

Mikrofonun çəkilməsi və hazırlanması
Mikrofonun çəkilməsi və hazırlanması
Mikrofonun çəkilməsi və hazırlanması
Mikrofonun çəkilməsi və hazırlanması

Girişin analoq siqnal olaraq qəbul edilməsi və Səsə əsaslanan ledin işə salınması üçün istifadə etmək üçün yalnız Espe8266 A0 analog pinindən istifadə edəcəyik.

Pin'i a0 -a bağlayın

5V -ni Vin -ə qoşun (AS node mcu -da 5v çıxışı yoxdur)

budur ki, D2 pininə bağlı olan IR LEDini LED şeridinin qəbuledicisinə uyğunlaşdıracağıq.

a

Addım 4: Kodu Yükləyin və Roka Hazırdır

Kodu Yükləyin və Roka Hazırdır
Kodu Yükləyin və Roka Hazırdır
Kodu Yükləyin və Roka Hazırdır
Kodu Yükləyin və Roka Hazırdır

#daxil edin #daxil edin #müəyyən mikrofonPin A0 int səsi; int səs 1; const int irPin = 4; // d2IRsend irsend (irPin); void setup () {Serial.begin (9600); pinMode (mikrofonPin, GİRİŞ); pinMode (irPin, ÇIKIŞ);} // ir led kodları #IR_BPlus 0xFF3AC5 təyin edin // #IR_BMinus 0xFFBA45 təyin edin // #IRfone 0xFF827D // #IRFOFF 0xFF02FD // #FeFine IRFR9R IR_B 0xFFA25D müəyyən edin // #IR_W 0xFF22DD müəyyən edin // #IRfB2 təyin edin 0xFF2AD5 // #IRfin IR_B2 0xFFAA55 təyin edin // #IRfin IR_B3 0xFF926D təyin edin. 0xFFB24D // #define IR_B8 0xFF32CD // #define IR_B9 0xFF38C7 // #define IR_B10 0xFFB847 // #define IR_B11 0xFF7887 // #define IR_B12 0xFFF807 / IRFFFFF77 / #define IR_B16 0xFFD827 // #IR_UPR 0xFF28D7 təyin edin // #IR_UPG 0xFFA857 təyin edin // #IR_UPB 0xFF6897 // #define IR_QUICK 0xFFE817 // #defineFrFFFFF8F7F7F7F8 IR_SLOW 0xFFC837 təyin edin // #IR_DIY1 0xFF30CF təyin edin // #IR_DIY2 0xFFB04F müəyyən edin # #IR_DIY3 0xFF708F müəyyən edin # #IR_AUTO təyin edin 0xFFF00F // # müəyyən IR_DIY4 0xFF10EF // # müəyyən IR_DIY5 0xFF906F // # müəyyən IR_DIY6 0xFF50AF // # müəyyən IR_FLASH 0xFFD02F // # müəyyən IR_JUMP3 0xFF20DF // # müəyyən IR_JUMP7 0xFFA05F // # müəyyən IR_FADE3 0xFF609F // # müəyyən IR_FADE7 0xFFE01F / / void loop () {sound = analogRead (microphonePin); // giriş səs siqnalının oxunması Serial.print (səs); // Serial ekran Serial.print ("") üçün səs siqnal oxunuşlarını daxil edin; if (səs> 415) {sound1 = xəritə (səs, 415, 750, 140, 255); // 150 - 255} miqyasında ofsetdən yuxarı olan daha yüksək tezlik dəyərlərinin xəritələnməsi (əgər səs> 340 && səsi <415) // ofset oxunmasını sıfır miqyasda saxlamaq.. burada 340 - 415 aralığında ofset dəyəri (ofset dəyəri 1.45v).. bu dövrədə istifadə olunan komponentlərdən asılıdır.. {sound1 = map (sound, 340, 415, 0, 9); } else if (səs 240) {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); } başqa halda ((səs1)> 200) {irsend.sendNEC (IR_G, 32); irsend.sendNEC (IR_B, 32); gecikmə (120);} başqa halda (səs1> 160) {irsend.sendNEC (IR_R, 32); irsend.sendNEC (IR_B, 32); gecikmə (120); } if if (sound1> 120) {irsend.sendNEC (IR_B, 32); gecikmə (120); } else if (sound1> 80) {irsend.sendNEC (IR_B, 32); gecikmə (120); } else if (sound1> 40) {irsend.sendNEC (IR_G, 32); gecikmə (120); } else if (sound1> 10) {irsend.sendNEC (IR_R, 32); gecikmə (120);} başqa {irsend.sendNEC (IR_FADE7, 32); gecikmə (120); } Serial.println (səs1); gecikmə (50); }

Tövsiyə: