INHOUDSOPGAWE:

Klankreaktiewe goedkoop Ir Led Strip: 4 stappe
Klankreaktiewe goedkoop Ir Led Strip: 4 stappe

Video: Klankreaktiewe goedkoop Ir Led Strip: 4 stappe

Video: Klankreaktiewe goedkoop Ir Led Strip: 4 stappe
Video: Основные ошибки при возведении перегородок из газобетона #5 2024, November
Anonim
Klankreaktief Goedkoop Ir Led Strip
Klankreaktief Goedkoop Ir Led Strip
Klankreaktief Goedkoop Ir Led Strip
Klankreaktief Goedkoop Ir Led Strip
Klankreaktief Goedkoop Ir Led Strip
Klankreaktief Goedkoop Ir Led Strip

Klankreaktief Goedkoop Ir Led Strip

Die idee het gekom nadat die LED -strook van AliExpress af gekom het, en dit was nie 'n neopixel nie, maar 'n RGB -LED -strook met 44 krusse of 24 sleutel -afstandsbedienings. !! Naaah. Dus het ek my moue gevou en dit gegoogle.

Het 'n esp -gebaseerde IR -webbediener wat dieselfde afstandsbedienbare knoppies oor die IR -emitterpen wat aan 'n IR -LED gekoppel is, afbeeld.

maar ek wou iets anders hê, soos 'n geluid wat reaktief was, ek het weer baie tutoriale gekry met ws1811 of neopixels, en sommige selfs met MOSFET's en LED's, maar ek was uit die tyd, en ek probeer 'n dom benadering om Mapping Audio te gebruik, alhoewel A0 PIn van esp en kartering van die uitset in emmers om 'n paar kombinasies van IR -afstandsbedienbare knoppies slegs moontlik te maak, maar ek wed dat u dit beter sal maak as ek.

Voorrade

1. a LED Strips natuurlik met kragtoevoer

2. esp8266 / node mcu

3. Ir Emitter gelei

4. 'n Weerstand

5. Programmeerkabel

6. arduino ide

7. 'n soldeerbout (basiese soldeer)

8. 'n 7805 ic (vir die gebruik van LED -toevoer as esp -toevoer)

9. 'n Mikrofoonmodule of aux y -split vir klankinvoer

Stap 1: Berei Esp

  • Koppel eers die Nodemcu aan met 'n rekenaar of skootrekenaar.
  • Installeer nou die bestuurder van nodemcu (google dit).
  • Nadat dit oopgemaak is, begin die Arduino IDE (natuurlik moet u dit aflaai en installeer) Klik op "Tools" op die Arduino -werkbalk, klik op "Board" Kies "Board Manager" en soek na esp8266 om dit te installeer (dit sal 'n rukkie neem om te voltooi)
  • Kies nou 'Skets' in die Arduino -werkbalk, kies 'Sluit biblioteek in', kies 'Bestuur biblioteke' Soek na 'IRremoteESP8266' en installeer dit
  • Die konfigurasie word slegs gedoen vanaf 'Tools', ons moet na 'Boards', 'NodeMcu 1.0 (ESP 12-E)' of 'n ander weergawe van ESP8266.

Stap 2: Voorbereiding en toetsing van IR LED

IR LED voorberei en toets
IR LED voorberei en toets

In die eerste plek moet ons die irLED -biblioteek installeer vir esp

GAAN hier

Identifiseer u LED -strook, óf 24 sleutel óf 44 sleutel (groter) afstandsbediening

Gaan na HIER om die afstandskode te kry

Met die biblioteek geïnstalleer, moet ons ons IR -LED voorberei deur dit aan te sluit soos in die prentjie getoon. Verbind IR LED op grond daarvan, laai dan die volgende skets op en wys die IR LED na die beheerder. Die LED -strook moet knipper (aan en af). // werk beide met 24 en 44 sleutels Remote.

HIER is die kode om dit te doen.

#define IR_OFF 0xF740BF // Resektiewe ir -kodes in 32 bisse #definieer IR_ON 0xF7C0 #include <IRremoteESP8266.h IRsend irsend (4); // Opstel van leidraad vir IR -pen () {irsend.begin (); } leemte -lus () {irsend.sendNEC (IR_ON, 32); vertraging (5000); irsend.sendNEC (IR_OFF, 32); vertraging (5000); }

Stap 3: Bedrading en voorbereiding van die mikrofoon

Bedrading en voorbereiding van die mikrofoon
Bedrading en voorbereiding van die mikrofoon
Bedrading en voorbereiding van die mikrofoon
Bedrading en voorbereiding van die mikrofoon

Ons sal slegs 'n analoog pen van Espe8266 A0 gebruik om insette as analoog sein in te neem en dit te gebruik om die LED op grond van klank te aktiveer

Koppel Out Pin aan op a0

Koppel 5V aan Vin (AS -node mcu het nie 5v -uitset nie)

dit is dit, ons pas die IR -LED wat aan die D2 -pen gekoppel is, in op die ontvanger van die LED -strook.

a

Stap 4: Laai die kode op en dit is gereed om te rock

Laai die kode op en dit is gereed om te rock
Laai die kode op en dit is gereed om te rock
Laai die kode op en dit is gereed om te rock
Laai die kode op en dit is gereed om te rock

#sluit in #sluit in #definieer mikrofoonPin A0 int klank; int klank1; const int irPin = 4; // d2IRsend irsend (irPin); ongeldige opstelling () {Serial.begin (9600); pinMode (mikrofoonPin, INVOER); 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 // definieer IR_B 0xFFA25D // #define IR_W 0xFF22DD // #define IR_B1 0xFF2AD5 // #define IR_B2 0xFFAA55 // #define IR_B3 0xFF926D // #define IR_B4 0xFF12ED // #definieer IR_B5 0xB05 #xB05 #xB05 #xB05 #xBB5 0xFF0F # 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 //_fine_05 #14f5 #Bf 0E5 //14 #5f #0f4 #8de #0f4 #8de #0defineer / #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 definieer 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 //fine 0_FE0_F05 #FE0_F05 #FE0_F05 #FE0_FE0 #FE0_F05_FE0_F05_FE0_F05_FE0_F05_F05_F05FD02 / void loop () {sound = analogRead (microphonePin); // die invoer van klanksein lees Serial.print (klank); // voer lesings van klankseine in na Serial display Serial.print (""); as (klank> 415) {klank1 = kaart (klank, 415, 750, 140, 255); // kartering van hoër frekwensie waardes wat bo die offset is op die skaal van 150 - 255} anders as (klank> 340 && klank <415) // die offsetlesing op nulskaal hou.. hier 'n offsetwaarde in die reeks van 340 - 415 (offsetwaarde by 1.45v).. dit hang af van komponente wat in stroombaan gebruik word. {sound1 = map (sound, 340, 415, 0, 9); } anders as (klank 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); } anders as ((klank1)> 200) {irsend.sendNEC (IR_G, 32); irsend.sendNEC (IR_B, 32); vertraging (120);} anders as (klank1> 160) {irsend.sendNEC (IR_R, 32); irsend.sendNEC (IR_B, 32); vertraging (120); } anders as (klank1> 120) {irsend.sendNEC (IR_B, 32); vertraging (120); } anders as (klank1> 80) {irsend.sendNEC (IR_B, 32); vertraging (120); } anders as (klank1> 40) {irsend.sendNEC (IR_G, 32); vertraging (120); } anders as (klank1> 10) {irsend.sendNEC (IR_R, 32); vertraging (120);} anders {irsend.sendNEC (IR_FADE7, 32); vertraging (120); } Serial.println (klank1); vertraging (50); }

Aanbeveel: