İçindekiler:

Ses Reaktif Ucuz Ir Led Şerit: 4 Adım
Ses Reaktif Ucuz Ir Led Şerit: 4 Adım

Video: Ses Reaktif Ucuz Ir Led Şerit: 4 Adım

Video: Ses Reaktif Ucuz Ir Led Şerit: 4 Adım
Video: Mindplus Şerit LED, Aydınlatma, Telefon Uygulaması ile kontrol, uzaktan kumanda ile kontrol, RGB LED 2024, Temmuz
Anonim
Ses Reaktif Ucuz Ir Led Şerit
Ses Reaktif Ucuz Ir Led Şerit
Ses Reaktif Ucuz Ir Led Şerit
Ses Reaktif Ucuz Ir Led Şerit
Ses Reaktif Ucuz Ir Led Şerit
Ses Reaktif Ucuz Ir Led Şerit

Ses Reaktif Ucuz Ir Led Şerit

Pekala, fikir led şerit AliExpress'ten geldikten sonra geldi ve bunlar neopiksel değil, 44krys veya 24 tuşlu uzaktan kumandalı RGB LED şerit, Aptal beni lol, yanlış olanı sipariş ettim. Onları bir parti için istedim, ama uzaktan kumandalı! !! Hayır. Bu yüzden kollarımı katladım ve google'da arattım.

Bir IR led'e bağlı IR yayıcı pimi üzerinde aynı uzak düğmeleri eşleyen esp tabanlı IR Web sunucusuna sahiptir.

ama ses tepkisel gibi farklı bir şey istedim, yine ws1811 veya neopikseller ve hatta bazıları MOSFET'ler ve LED'ler ile bir sürü Öğretici aldım, ancak zamanım doldu, bu yüzden A0 PIn olsa da Ses Eşleştirmenin Aptal yaklaşımını denedim. esp ve IR uzaktan kumanda Düğmelerinin bazı kombinasyonlarını etkinleştirmek için çıktıları kovalarda eşlemek Çoğunlukla yalnızca rgb ama bahse girerim bunu benden daha iyi yapacaksınız.

Gereçler

1. Güç kaynağı ile açıkçası bir LED Şeritler

2. esp8266 / düğüm mcu

3. Verici led

4. Bir direnç

5. Programlama kablosu

6. arduino kimliği

7. bir havya (bazı temel havya)

8. a 7805 ic (led kaynağının esp kaynağı olarak kullanılması için)

9. Ses girişi için bir mikrofon modülü veya yardımcı bölme

Adım 1: Esp'yi Hazırlama

  • Her şeyden önce, Nodemcu'yu bilgisayar veya dizüstü bilgisayara bağlayın.
  • Şimdi nodemcu(google it) sürücüsünü kurun.
  • Bu açıldıktan sonra, Arduino IDE (Tabii ki indirip kurmanız gerekiyor)Arduino araç çubuğundaki "Araçlar"a tıklayın "Board"a tıklayın "Board Manager"ı seçin ve esp8266'yı arayın kurun (bitmesi biraz zaman alacaktır))
  • Şimdi, Arduino araç çubuğundan "Sketch" i seçin, oradan "Kütüphaneyi Dahil Et" i seçin, oradan "Kitaplıkları yönet" i seçin "IRremoteESP8266" yı arayın ve kurun
  • Şimdi yapılandırma sadece "Araçlar"dan yapılıyor, "Panolar" a gitmemiz gerekiyor "NodeMcu 1.0(ESP 12-E)" veya ESP8266'nın başka bir sürümünü seçin.

Adım 2: IR LED'i Hazırlama ve Test Etme

IR LED'i Hazırlama ve Test Etme
IR LED'i Hazırlama ve Test Etme

Öncelikle esp için irLED kütüphanesini kurmamız gerekiyor

Buraya gidin

Led şeridinizi 24 tuşlu veya 44 tuşlu (daha büyük olan) uzaktan tanımlama

uzaktan kumanda kodunu almak için BURAYA gidin

Kütüphane kuruluyken IR ledimizi resimdeki gibi bağlayarak hazırlamamız gerekiyor. Buna dayanarak IR LED'i bağlayın, ardından aşağıdaki Sketch'i yükleyin ve IR LED'i kontrolöre doğrultun. LED şerit yanıp sönmelidir (açılır ve kapanır). // hem 24 hem de 44 tuş Remote ile çalışır.

BURADA bunu yapmak için kod.

#define IR_OFF 0xF740BF //32 bitte özel ir kodları#define IR_ON 0xF7C0 #include<IRremoteESP8266.h IRsend irsend(4); // IR pin void setup() { irsend.begin(); } geçersiz döngü() { irsend.sendNEC(IR_ON, 32); gecikme (5000); irsend.sendNEC(IR_OFF, 32); gecikme (5000); }

Adım 3: Mikrofonu Kablolama ve Hazırlama

Mikrofonu Kablolama ve Hazırlama
Mikrofonu Kablolama ve Hazırlama
Mikrofonu Kablolama ve Hazırlama
Mikrofonu Kablolama ve Hazırlama

Girişi Analog sinyal olarak almak ve Sese dayalı ir led'i tetiklemek için kullanmak için sadece Espe8266 A0'ın Analog pinini kullanacağız.

Çıkış Pinini a0'a bağlayın

5V'yi Vin'e bağlayın (AS düğümü mcu'nun 5v çıkışı yoktur)

işte bu kadar D2 pinine bağlı IR LED'i LED şeridi Alıcısına hizalayacağız.

a

Adım 4: Kodu Yükleyin ve Çalmaya Hazır

Kodu Yükleyin ve Sallanmaya Hazır
Kodu Yükleyin ve Sallanmaya Hazır
Kodu Yükleyin ve Sallanmaya Hazır
Kodu Yükleyin ve Sallanmaya Hazır

#include #include#mikrofonu tanımlaPin A0 int ses; int ses1; const int irPin = 4; //d2IRsend irsend(irPin);void setup() { Serial.begin(9600); pinMode(mikrofonPin, GİRİŞ); pinMode(irPin, OUTPUT);} // ir led Kodları #define IR_BPlus 0xFF3AC5 // #define IR_BMinus 0xFFBA45 // #define IR_ON 0xFF827D // #define IR_OFF 0xFF02FD // #define IR_R 0xFF1AE5 // #define IR_R 0xFF1AE5 // IR_B 0xFFA25D tanımla // #define IR_W 0xFF22DD // #IR_B1 tanımla 0xFF2AD5 // #IR_B2 tanımla 0xFFAA55 // #IR_B3 tanımla 0xFF926D // #IR_B4 tanımla 0xFF12ED // #IR_B5 0xFF0AF5 tanımla // #IR_B1 0xFF2AD5 tanımla // 0xFFB24D // #define IR_B8 0xFF32CD // #IR_B9 tanımlayın 0xFF38C7 // #IR_B10 tanımlayın 0xFFB847 // #IR_B11 tanımlayın 0xFF7887 // #IR_B12 tanımlayın 0xFFF807 // #IR_B13 tanımlayın / #define IR_B16 0xFFD827 // #define IR_UPR 0xFF28D7 // #define IR_UPG 0xFFA857 // #define IR_UPB 0xFF6897 // #define IR_QUICK 0xFFE817 // #define IR_DOWNR 0xFF08F7 // #define IR_UPG 0xFF08F7 // #define 0xFFF_ tanımla IR_SLOW 0xFFC837 // #IR_DIY1 0xFF30CF // #IR_DIY2 tanımla 0xFFB04F // #IR_DIY3 0xFF708F // #IR_AUTO tanımla 0xFFF00F // #define IR_DIY4 0xFF10EF // #define IR_DIY5 0xFF906F // #define IR_DIY6 0xFF50AF // #define IR_FLASH 0xFFD02F // #define IR_JUMP3 0xFF20DF // #define IR_FADEF 0xF/ / void loop() { ses = analogRead(mikrofonPin); // Serial.print(ses) okuma giriş ses sinyali alınıyor; // ses sinyali okumalarını Seri ekrana girin Serial.print(" "); if (ses > 415) { ses1 = harita(ses, 415, 750, 140, 255); // 150 - 255 ölçeğinin üzerinde olan daha yüksek frekans değerlerinin eşlenmesi } else if (ses > 340 && ses < 415) // ofset okumasını sıfır ölçekte tutmak.. burada ofset değeri 340 - 415 aralığında(ofset değeri 1.45v'de)..devrede kullanılan bileşenlere bağlıdır.. { ses1 = harita(ses, 340, 415, 0, 9); } else if (ses 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); } else if ((ses1) > 200) { irsend.sendNEC(IR_G, 32); irsend.sendNEC(IR_B, 32); gecikme(120);} else if (ses1 > 160) { irsend.sendNEC(IR_R, 32); irsend.sendNEC(IR_B, 32); gecikme(120); } else if (ses1 > 120) { irsend.sendNEC(IR_B, 32); gecikme(120); } else if (ses1 > 80) { irsend.sendNEC(IR_B, 32); gecikme(120); } else if (ses1 > 40) { irsend.sendNEC(IR_G, 32); gecikme(120); } else if (ses1 > 10) { irsend.sendNEC(IR_R, 32); gecikme(120);} else { irsend.sendNEC(IR_FADE7, 32); gecikme(120); } Serial.println(ses1); gecikme(50); }

Önerilen: