Cuprins:

Sunet reactiv ieftin Ir Led Strip: 4 pași
Sunet reactiv ieftin Ir Led Strip: 4 pași

Video: Sunet reactiv ieftin Ir Led Strip: 4 pași

Video: Sunet reactiv ieftin Ir Led Strip: 4 pași
Video: AQUARIUM LIGHTING TUTORIAL - PLANTED TANK LIGHTING 2024, Noiembrie
Anonim
Sunet reactiv ieftin Ir Led Strip
Sunet reactiv ieftin Ir Led Strip
Sunet reactiv ieftin Ir Led Strip
Sunet reactiv ieftin Ir Led Strip
Sunet reactiv ieftin Ir Led Strip
Sunet reactiv ieftin Ir Led Strip

Sunet reactiv ieftin Ir Led Strip

Ei bine, ideea a venit după ce banda LED a sosit de la AliExpress și nu erau neopixeli, ci banda LED RGB cu 44 de tipuri de telecomenzi cheie sau 24, Stupi-mă lol, am comandat-o pe cea greșită. Îi doream pentru o petrecere, dar cu telecomandă! !! Naaah. Așa că mi-am pliat mânecile și am căutat-o pe Google.

Am un server web IR bazat pe sp, care mapează aceleași butoane de la distanță peste pinul emițătorului IR conectat la un led IR.

dar am vrut ceva diferit, cum ar fi un sunet reactiv, din nou, am primit o mulțime de tutoriale cu ws1811 sau neopixeli și unele chiar cu MOSFET-uri și LED-uri, dar am rămas fără timp, așa că am încercat o abordare stupidă de Mapping Audio deși A0 PIn de esp și Cartografierea ieșirii în cupe pentru a permite unele combinații de butoane la distanță IR MOstly rgb doar, dar pariez că o veți face mai bună decât mine.

Provizii

1. un LED Strips evident cu sursa de alimentare

2. esp8266 / nod mcu

3. Ir Emitter led

4. Un rezistor

5. Cablu de programare

6. arduino ide

7. un fier de lipit (unele lipire de bază)

8. un 7805 ic (pentru utilizarea alimentării cu LED-uri ca sursă specială)

9. Un modul de microfon sau o divizare aux y pentru intrarea de sunet

Pasul 1: Pregătirea Esp

  • În primul rând, conectați Nodemcu la computer sau laptop.
  • Acum instalați driverul nodemcu (google it).
  • După această deschidere, ID-ul Arduino (Desigur, trebuie să-l descărcați și să-l instalați) Faceți clic pe „Instrumente” din bara de instrumente Arduino, faceți clic pe „Placă” Selectați „Board Manager” și căutați esp8266 instalați-l (va dura ceva timp pentru a finaliza)
  • Acum, selectați „Schiță” din bara de instrumente Arduino selectați „Includeți biblioteca” de acolo selectați „Gestionați bibliotecile” Căutați „IRremoteESP8266” și instalați-l
  • Acum, configurația se face doar din „Instrumente”, trebuie să mergem la „Plăci” Selectați „NodeMcu 1.0 (ESP 12-E)” sau o altă versiune a ESP8266.

Pasul 2: Pregătirea și testarea LED-ului IR

Pregătirea și testarea LED-ului IR
Pregătirea și testarea LED-ului IR

În primul rând, trebuie să instalăm o bibliotecă irLED pentru sp

Du-te aici

Identificarea benzii dvs. LED fie cu 24 de taste, fie cu 44 de taste (una mai mare) la distanță

pentru a obține codul telecomenzilor, mergeți AICI

Cu biblioteca instalată, trebuie să ne pregătim LED-ul IR conectându-l așa cum se arată în imagine. Pe baza acestuia conectați LED-ul IR, apoi încărcați următoarea schiță și îndreptați LED-ul IR către controler. Banda LED ar trebui să clipească (se aprinde și se stinge). // funcționează atât cu 24, cât și cu 44 de taste la distanță.

AICI este codul pentru a face acest lucru.

#define IR_OFF 0xF740BF // Coduri IR irective în 32 de biți # define IR_ON 0xF7C0 #include <IRremoteESP8266.h IRsend irsend (4); // IR pin void setup () {irsend.begin (); } void loop () {irsend.sendNEC (IR_ON, 32); întârziere (5000); irsend.sendNEC (IR_OFF, 32); întârziere (5000); }

Pasul 3: Cablarea și pregătirea microfonului

Cablarea și pregătirea microfonului
Cablarea și pregătirea microfonului
Cablarea și pregătirea microfonului
Cablarea și pregătirea microfonului

Vom folosi doar pinul analogic al Espe8266 A0 pentru preluarea intrării ca semnal analog și utilizarea acestuia pentru a declanșa un led bazat pe sunet

Conectați Pinul Out la a0

Conectați 5V la Vin (nodul AS mcu nu are ieșire de 5v)

asta este, vom alinia LED-ul IR conectat la pinul D2 la receptorul benzii LED.

A

Pasul 4: Încărcați codul și este gata să se întoarcă

Încărcați codul și este gata de ascultare
Încărcați codul și este gata de ascultare
Încărcați codul și este gata de ascultare
Încărcați codul și este gata de ascultare

#include # include # define microphonePin A0 int sound; int sound1; const int irPin = 4; // d2IRsend irsend (irPin); void setup () {Serial.begin (9600); pinMode (microphonePin, INPUT); pinMode (irPin, OUTPUT);} // ir led Codes #define IR_BPlus 0xFF3AC5 // #define IR_BMinus 0xFFBA45 // #define IR_ON 0xFF827D // #define IR_OFF 0xFF02FD // #define IR_R 0xFF1AE5 // #define IR_G 0x define IR_B 0xFFA25D // #define IR_W 0xFF22DD // #define IR_B1 0xFF2AD5 // #define IR_B2 0xFFAA55 // #define IR_B3 0xFF926D // #define IR_B4 0xFF12ED // #define IR_B5 0xFF0AF5 // 0x 0xFFB24D // #define IR_B8 0xFF32CD // #define IR_B9 0xFF38C7 // #define IR_B10 0xFFB847 // #define IR_B11 0xFF7887 // #define IR_B12 0xFFF807 // #define IR_B13 0xFF18E7 // #define IR_B14 #x5 / #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_DOWN #deff 0x88 define IR_SLOW 0xFFC837 // #define IR_DIY1 0xFF30CF // #define IR_DIY2 0xFFB04F // #define IR_DIY3 0xFF708F // #define IR_AUTO 0xFFF00F // #define IR_DIY4 0xFF10EF // #define IR_DIY5 0xFF906F // #define IR_DIY6 0xFF50AF // #define IR_FLASH 0xFFD02F // #define IR_JUMP3 0xFF20DF // #define IR_JUMP7_F_F0 / void loop () {sunet = analogRead (microphonePin); // obținerea citirii semnalului audio de intrare Serial.print (sunet); // introduceți citirile semnalului audio pe afișajul Serial Serial.print (""); if (sunet> 415) {sunet1 = hartă (sunet, 415, 750, 140, 255); // maparea valorilor de frecvență mai mari, care sunt peste offset la scara de 150 - 255} altfel dacă (sunet> 340 && sunet <415) // menținerea citirii offsetului la scara zero.. aici valoarea de offset în intervalul de 340 - 415 (valoarea offset la 1.45v).. depinde de componentele utilizate în circuit.. {sunet1 = hartă (sunet, 340, 415, 0, 9); } else if (sunet 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 ((sound1)> 200) {irsend.sendNEC (IR_G, 32); irsend.sendNEC (IR_B, 32); delay (120);} else if (sound1> 160) {irsend.sendNEC (IR_R, 32); irsend.sendNEC (IR_B, 32); întârziere (120); } else if (sound1> 120) {irsend.sendNEC (IR_B, 32); întârziere (120); } else if (sound1> 80) {irsend.sendNEC (IR_B, 32); întârziere (120); } else if (sound1> 40) {irsend.sendNEC (IR_G, 32); întârziere (120); } else if (sound1> 10) {irsend.sendNEC (IR_R, 32); delay (120);} else {irsend.sendNEC (IR_FADE7, 32); întârziere (120); } Serial.println (sound1); întârziere (50); }

Recomandat: