Indholdsfortegnelse:

Sound Reactive Billige Ir Led Strip: 4 trin
Sound Reactive Billige Ir Led Strip: 4 trin

Video: Sound Reactive Billige Ir Led Strip: 4 trin

Video: Sound Reactive Billige Ir Led Strip: 4 trin
Video: How to bend a RGB strip around a corner 💡⤴️ 2024, Juli
Anonim
Sound Reactive Billige Ir Led Strip
Sound Reactive Billige Ir Led Strip
Sound Reactive Billige Ir Led Strip
Sound Reactive Billige Ir Led Strip
Sound Reactive Billige Ir Led Strip
Sound Reactive Billige Ir Led Strip

Sound Reactive Billige Ir Led Strip

Nå, ideen kom, efter at LED -stripen ankom fra AliExpress, og de var ikke neopixels, men RGB LED -stripe med 44 krys eller 24 nøglet fjernbetjeningstyper, dum mig lol, jeg bestilte den forkerte. Jeg ville have dem til en fest, men med fjernbetjening! !! Naaah. Så jeg foldede ærmerne og googlede det.

Fik en esp -baseret IR -webserver, der kortlægger de samme fjernbetjeningsknapper over IR -senderens pin, der er tilsluttet en IR -LED.

men jeg ville have noget anderledes som en lydreaktiv, igen fik jeg masser af selvstudier med ws1811 eller neopixel og nogle endda med MOSFET'er og LED'er, men jeg var ude af tid, så jeg prøvede en dum tilgang til at kortlægge lyd, selvom A0 PIn af esp og kortlægning af output i spande for at muliggøre nogle kombinationer af IR -fjernbetjeningsknapper kun kun rgb, men jeg vedder på, at du vil gøre det bedre end mig.

Forbrugsvarer

1. a LED Strips naturligvis med strømforsyning

2. esp8266 / node mcu

3. Ir Emitter led

4. En modstand

5. Programmering af kabel

6. arduino ide

7. et loddejern (nogle grundlæggende lodninger)

8. en 7805 ic (til brug af LED -forsyning som esp -forsyning)

9. Et mmikrofonmodul eller aux y -split til lydindgang

Trin 1: Forberedelse af Esp

  • Først og fremmest skal du forbinde Nodemcu med computer eller bærbar computer.
  • Installer nu driveren til nodemcu (google det).
  • Efter denne åbning, Arduino IDE (Selvfølgelig skal du downloade den og installere den) Klik på "Værktøjer" på Arduino værktøjslinje, klik på "Board" Vælg "Board Manager" og søg efter esp8266 installer den (tager noget tid at afslutte)
  • Vælg nu "Skitse" fra Arduino -værktøjslinjen, vælg "Inkluder bibliotek", vælg derefter "Administrer biblioteker" Søg efter "IRremoteESP8266" og installer det
  • Nu er konfigurationen kun udført fra "Værktøjer", vi skal gå til "Boards" Vælg "NodeMcu 1.0 (ESP 12-E)" eller en anden version af ESP8266.

Trin 2: Forberedelse og test af IR -LED

Klargøring og test af IR -LED
Klargøring og test af IR -LED

Først og fremmest skal vi installere irLED -bibliotek til esp

Gå her

Identificering af din LED -strip enten 24 nøgler eller 44 nøgler (større) fjernbetjening

for at få fjernbetjeningskoden, gå HER

Med biblioteket installeret skal vi forberede vores IR -LED ved at forbinde det som vist på billedet. Baseret på det, tilslut IR LED, upload derefter følgende skitse og peg IR -LED'en til controlleren. LED -strimlen skal blinke (tændes og slukkes). // fungerer både med 24 og 44 taster Remote.

HER er koden til at gøre det.

#define IR_OFF 0xF740BF // Resektive ir -koder i 32 bits #definere IR_ON 0xF7C0 #include <IRremoteESP8266.h IRsend irsend (4); // Opsætning af ugyldig IR -pin () {irsend.begin (); } void loop () {irsend.sendNEC (IR_ON, 32); forsinkelse (5000); irsend.sendNEC (IR_OFF, 32); forsinkelse (5000); }

Trin 3: Tilslutning og klargøring af mikrofonen

Kabelføring og klargøring af mikrofonen
Kabelføring og klargøring af mikrofonen
Kabelføring og klargøring af mikrofonen
Kabelføring og klargøring af mikrofonen

Vi vil kun bruge en analog pin på Espe8266 A0 til at indtaste input som et analogt signal og bruge det til at udløse ir -LED baseret på lyd

Tilslut Out Pin til a0

Tilslut 5V til Vin (AS node mcu har ikke 5v output)

det er det, vi justerer IR -LED'en, der er forbundet til D2 -stiften, til modtageren af LED -strimler.

-en

Trin 4: Upload koden og dens klar til rock

Upload koden og dens klar til at rocke
Upload koden og dens klar til at rocke
Upload koden og dens klar til at rocke
Upload koden og dens klar til at rocke

#include #include #define microphonePin A0 int sound; int lyd1; const int irPin = 4; // d2IRsend irsend (irPin); void setup () {Serial.begin (9600); pinMode (mikrofonPin, INPUT); pinMode (irPin, OUTPUT);} // ir ledede koder #define IR_BPlus 0xFF3AC5 // #define IR_BMinus 0xFFBA45 // #define IR_ON 0xFF827D // #define IR_OFF 0xFF02FD // #define IR_R 0xFF1AE5 // #define IR_R 0xFF1AE5 // definere 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 0xB0F #056x50x #056x56x56 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 0_FF8E7 //14 #5f #0f4 #5f0 #IR5 #0f0 #IR5 #0f0 #IR5 #0f0 #IR5 #0f0 #IR5 #0f4 / #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_DOWNG 0xFF8877 // #define IR_DOWNB 0xFF48B7 // # definere 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 // #0_FE0_F05 #FE0_FE0_FE0_FE0_FE0_FE0_FE0_FEJ #0FE0_FEJ #0FEJ #0FEJ #0FEJ #0FEJ #0FEJ #0FEFFE #EFFE #IFXE / void loop () {sound = analogRead (microphonePin); // at få input lydsignal læsning Serial.print (lyd); // input lydsignalaflæsninger til Serial display Serial.print (""); hvis (lyd> 415) {lyd1 = kort (lyd, 415, 750, 140, 255); // kortlægning af højere frekvensværdier, der er over forskudt til skalaen 150 - 255} ellers hvis (lyd> 340 && lyd <415) // holder offset -læsning til nul skala..her forskydningsværdi i intervallet 340 - 415 (forskydningsværdi ved 1,45v).. det afhænger af komponenter brugt i kredsløb.. {sound1 = map (lyd, 340, 415, 0, 9); } ellers hvis (lyd 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); } ellers hvis ((lyd1)> 200) {irsend.sendNEC (IR_G, 32); irsend.sendNEC (IR_B, 32); forsinkelse (120);} ellers hvis (lyd1> 160) {irsend.sendNEC (IR_R, 32); irsend.sendNEC (IR_B, 32); forsinkelse (120); } ellers hvis (lyd1> 120) {irsend.sendNEC (IR_B, 32); forsinkelse (120); } ellers hvis (lyd1> 80) {irsend.sendNEC (IR_B, 32); forsinkelse (120); } ellers hvis (lyd1> 40) {irsend.sendNEC (IR_G, 32); forsinkelse (120); } ellers hvis (lyd1> 10) {irsend.sendNEC (IR_R, 32); forsinkelse (120);} ellers {irsend.sendNEC (IR_FADE7, 32); forsinkelse (120); } Serial.println (lyd1); forsinkelse (50); }

Anbefalede: