Innholdsfortegnelse:

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

Video: Sound Reactive Billige Ir Led Strip: 4 trinn

Video: Sound Reactive Billige Ir Led Strip: 4 trinn
Video: How to bend a RGB strip around a corner 💡⤴️ 2024, November
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

vel, ideen kom etter at led -stripen kom fra AliExpress, og de var ikke neopiksler, men RGB LED -stripe med 44krys eller 24 viktige fjernkontrolltyper, Dumb me lol, jeg bestilte feil. Jeg ville ha dem til en fest, men med fjernkontroll! !! Naaah. Så jeg brettet ermene og googlet det.

Har en esp -basert IR -webserver som kartlegger de samme fjernkontrollknappene over IR -senderpinnen som er koblet til en IR -LED.

men jeg ville ha noe annerledes som en lydreaktiv, igjen fikk jeg mange opplæringsprogrammer med ws1811 eller neopiksler og noen til og med MOSFETer og LED -er, men jeg var ute av tid, så jeg prøvde en dum tilnærming til å kartlegge lyd selv om A0 PIn av esp og Kartlegging av utgangen i bøtter for å muliggjøre noen kombinasjoner av IR -fjernkontrollknapper bare bare rgb, men jeg vedder på at du kommer til å gjøre det bedre enn meg.

Rekvisita

1. a LED Strips åpenbart med strømforsyning

2. esp8266 / node mcu

3. Ir Emitter ledet

4. En motstand

5. Programmeringskabel

6. arduino ide

7. et loddejern (noen grunnleggende lodding)

8. en 7805 ic (for bruk av LED -forsyning som esp -forsyning)

9. En mmikrofonmodul eller aux y -deling for lydinngang

Trinn 1: Forberede Esp

  • Først av alt, koble Nodemcu med datamaskin eller bærbar PC.
  • Installer nå driveren til nodemcu (google det).
  • Etter at dette er åpnet, vil Arduino IDE (Selvfølgelig må du laste det ned og installere det) Klikk på "Verktøy" på Arduino verktøylinje, klikk på "Board" Velg "Board Manager" og søk etter esp8266 installer det (tar litt tid å fullføre)
  • Velg nå "Skisse" fra Arduino -verktøylinjen, velg "Inkluder bibliotek", velg deretter "Administrer biblioteker" Søk etter "IRremoteESP8266" og installer det
  • Nå er konfigurasjonen bare utført fra "Verktøy", vi trenger å gå til "Boards" Velg "NodeMcu 1.0 (ESP 12-E)" eller en annen versjon av ESP8266.

Trinn 2: Forberede og teste IR -LED

Forbereder og tester IR -LED
Forbereder og tester IR -LED

Først av alt må vi installere irLED -bibliotek for esp

Gå hit

Identifiserer LED -stripen enten 24 eller 44 nøkkel (større) fjernkontroll

for å få fjernkontrollkoden, gå HER

Med biblioteket installert må vi forberede IR -LED -en ved å koble den til som vist på bildet. Basert på det, koble til IR LED, last deretter opp følgende skisse og pek IR -LED på kontrolleren. LED -stripen skal blinke (slås av og på). // fungerer både med 24 og 44 taster Remote.

HER er koden for å gjøre det.

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

Trinn 3: Kabling og klargjøring av mikrofonen

Kabling og klargjøring av mikrofonen
Kabling og klargjøring av mikrofonen
Kabling og klargjøring av mikrofonen
Kabling og klargjøring av mikrofonen

Vi vil bare bruke analog pin på Espe8266 A0 for å ta inngang som analogt signal og bruke den til å utløse ir led basert på lyd

Koble Out Pin til a0

Koble 5V til Vin (AS node mcu har ikke 5v utgang)

det er det, vi vil justere IR -LED -en som er koblet til D2 -pinnen, til mottakeren av LED -stripen.

en

Trinn 4: Last opp koden og den er klar til å rocke

Last opp koden og den er klar til å rocke
Last opp koden og den er klar til å rocke
Last opp koden og den er klar til å rocke
Last opp koden og den er klar til å rocke

#inkludere #inkludere #definere mikrofonPin A0 int lyd; int lyd1; const int irPin = 4; // d2IRsend irsend (irPin); ugyldig oppsett () {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_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 // #definere IR_B5 0xB0F #056x5Ax5Ax5Ax5 #x56x56 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 #5f0 #IR5 #0f0 #IR5 #0f0 #IR5 #0f0 #IR5 #0f0 #IR5B #0f0 #IR5B05 / #define IR_B16 0xFFD827 // #define IR_UPR 0xFF28D7 // #define IR_UPG 0xFFA857 // #define IR_UPB 0xFF6897 // #define IR_QUICK 0xFFE817 // #define IR_DOWNR 0xFF08_DOWN #DOWN_DOWN #DOWN_DOWN #DOWN #DOWN #DOWN #DOWN #DOWN #DOWN_DOWN 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 // IRf #0xFE_FE0_FE0_FE0_FE0_FE0_FE0_FE0_FARE0_FARE0_FARE0_FARE0_FARE0_FARE0_FARE0_FARE0_FARE0_FARE0_FARE0 / void loop () {sound = analogRead (microphonePin); // å få inngangssignalavlesning Serial.print (lyd); // inngang av lydsignalavlesninger til seriell skjerm Serial.print (""); hvis (lyd> 415) {lyd1 = kart (lyd, 415, 750, 140, 255); // kartlegge høyere frekvensverdier som er over forskjøvet til skalaen 150 - 255} ellers hvis (lyd> 340 && lyd <415) // holde offsetavlesning til null skala..her forskyvningsverdi i området 340 - 415 (forskyvningsverdi ved 1,45v)..den avhenger av komponetter som brukes i krets.. {sound1 = map (lyd, 340, 415, 0, 9); } annet 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); } annet 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); } annet hvis (lyd1> 120) {irsend.sendNEC (IR_B, 32); forsinkelse (120); } annet hvis (lyd1> 80) {irsend.sendNEC (IR_B, 32); forsinkelse (120); } annet hvis (lyd1> 40) {irsend.sendNEC (IR_G, 32); forsinkelse (120); } annet hvis (lyd1> 10) {irsend.sendNEC (IR_R, 32); forsinkelse (120);} annet {irsend.sendNEC (IR_FADE7, 32); forsinkelse (120); } Serial.println (lyd1); forsinkelse (50); }

Anbefalt: