Sisukord:

Heli reageeriv odav Ir LED -riba: 4 sammu
Heli reageeriv odav Ir LED -riba: 4 sammu

Video: Heli reageeriv odav Ir LED -riba: 4 sammu

Video: Heli reageeriv odav Ir LED -riba: 4 sammu
Video: ТЕПЕРЬ НЕ ПРОПАДУ 10-ть самоделок ВЫРУЧАТ ГДЕ УГОДНО! 2024, November
Anonim
Heli reaktiivne Odav Ir LED -riba
Heli reaktiivne Odav Ir LED -riba
Heli reaktiivne Odav Ir LED -riba
Heli reaktiivne Odav Ir LED -riba
Heli reaktiivne Odav Ir LED -riba
Heli reaktiivne Odav Ir LED -riba

Heli reaktiivne Odav Ir LED -riba

Noh, idee tuli pärast seda, kui led -riba saabus AliExpressist ja need ei olnud neopikslid, vaid RGB LED -riba 44 -kilose või 24 võtmega kaugjuhtimispuldiga, Dumb me lol, ma tellisin vale. Ma tahtsin neid peoks, kuid puldiga! !! Naaah. Seega panin varrukad kokku ja googeldasin.

Sain esp -põhise IR -veebiserveri, mis kaardistab samad kaugjuhtimispuldid üle IR -kiirguse puldi, mis on ühendatud IR -juhtmega.

aga ma tahtsin midagi teistsugust, näiteks heli reageerivat, sain jälle palju õpetusi ws1811 või neopikslitega ja mõnda isegi MOSFET -ide ja LED -idega, kuid mul oli aeg otsas, nii et proovisin heli kaardistamise lolli lähenemist, kuigi A0 PIn esp ja väljundi kaardistamine ämbrites, et võimaldada mõningaid IR -kaugjuhtimispuldi kombinatsioone. Ainult rgb, kuid vean kihla, et muudate selle minust paremaks.

Tarvikud

1. LED -ribad ilmselt toiteallikaga

2. esp8266 / sõlm mcu

3. Ir Emitter juhtis

4. Takisti

5. Programmeerimiskaabel

6. arduino ide

7. jootekolb (mõni põhiline jootmine)

8. 7805 ic (LED -toite kasutamiseks esp -toiteallikana)

9. Heli sisendi jaoks mõeldud mmikrofonimoodul või lisaseade

1. samm: Esp ettevalmistamine

  • Kõigepealt ühendage Nodemcu arvuti või sülearvutiga.
  • Nüüd installige nodemcu draiver (googeldage see).
  • Pärast selle avamist ilmub Arduino IDE (muidugi peate selle alla laadima ja installima). Klõpsake Arduino tööriistaribal nuppu "Tööriistad", klõpsake "Tahvel", valige "Tahvlihaldur" ja otsige esp8266 selle installimiseks (võtab aega)
  • Nüüd valige Arduino tööriistaribalt "Visand", valige sealt "Kaasa raamatukogu" ja valige "Halda raamatukogusid" Otsige "IRremoteESP8266" ja installige see
  • Nüüd on konfigureerimine tehtud ainult "Tööriistadelt", peame minema "Tahvlid" Valige "NodeMcu 1.0 (ESP 12-E)" või mõni muu ESP8266 versioon.

Samm: IR -LED -i ettevalmistamine ja testimine

IR -LED -i ettevalmistamine ja testimine
IR -LED -i ettevalmistamine ja testimine

Esiteks peame esp jaoks installima irLED -i kogu

Mine siia

LED -riba tuvastamine kas 24 klahvi või 44 võtmega (suurem) kaugjuhtimispult

kaugjuhtimispuldi koodi saamiseks minge SIIA

Kui raamatukogu on installitud, peame oma IR -LED ette valmistama, ühendades selle nagu pildil näidatud. Selle põhjal ühendage IR LED, seejärel laadige üles järgmine visand ja suunake IR LED kontrollerile. LED -riba peaks vilkuma (lülitub sisse ja välja). // töötab nii 24 kui 44 võtmega Kaugjuhtimispult.

Siin on kood, kuidas seda teha.

#define IR_OFF 0xF740BF // Resektiivsed koodid 32 bitti #define IR_ON 0xF7C0 #include <IRremoteESP8266.h IRsend irsend (4); // IR pin void setup () {irsend.begin (); } void loop () {irsend.sendNEC (IR_ON, 32); viivitus (5000); irsend.sendNEC (IR_OFF, 32); viivitus (5000); }

Samm: mikrofoni ühendamine ja ettevalmistamine

Mikrofoni juhtmestik ja ettevalmistamine
Mikrofoni juhtmestik ja ettevalmistamine
Mikrofoni juhtmestik ja ettevalmistamine
Mikrofoni juhtmestik ja ettevalmistamine

Kasutame ainult Espe8266 A0 analoogpistikut sisendi võtmiseks analoogsignaaliks ja selle kasutamiseks heli alusel LED -i käivitamiseks

Ühendage tihvt a0 -ga

Ühendage 5 V Viniga (AS -i sõlme mcu -l pole 5 V väljundit)

see on see, me joondame D2 -piniga ühendatud IR -LED LED -riba vastuvõtjaga.

a

Samm: laadige kood üles ja see on valmis kasutamiseks

Laadige kood üles ja see on rokkimiseks valmis
Laadige kood üles ja see on rokkimiseks valmis
Laadige kood üles ja see on valmis
Laadige kood üles ja see on valmis

#include #include #define microphonePin A0 int heli; int heli1; const int irPin = 4; // d2IRsend irsend (irPin); void setup () {Serial.begin (9600); pinMode (mikrofonPin, INPUT); pinMode (irPin, OUTPUT);} // on led -koodid #define IR_BPlus 0xFF3AC5 // #define IR_BMinus 0xFFBA45 // #define IR_ON 0xFF827D // #define IR_OFF 0xFF02FD // #define IR_R 0FF // // 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 IRF0BF_F5_F5 0xFFB24D // #define IR_B8 0xFF32CD // #define IR_B9 0xFF38C7 // #define IR_B10 0xFFB847 // #define IR_B11 0xFF7887 // #define IR_B12 0xFFF807 // #define IR_B10_FR #IRF13 / #define IR_B16 0xFFD827 // #define IR_UPR 0xFF28D7 // #define IR_UPG 0xFFA857 // #define IR_UPB 0xFF6897 // #define IR_QUICK 0xFFE817 // #define IR_DOWNR 0xFFFF #IRFFFF 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 0xFFA05F // #define IR_FADE3 0xFF609F // #define IR_FADE7 0xFFE01F / / void loop () {sound = analogRead (microphonePin); // sisendsignaali lugemine Serial.print (heli); // sisesta helisignaali näidud jadakuvale Serial.print (""); if (heli> 415) {sound1 = kaart (heli, 415, 750, 140, 255); // kõrgemate sageduste väärtuste kaardistamine, mis on üle nihke, skaalal 150–255} muidu, kui (heli> 340 ja heli <415) // nihke lugemine nulli skaalal.. siin on nihke väärtus vahemikus 340–415 (nihke väärtus 1.45v).. see sõltub vooluahelas kasutatavatest komponentidest.. {sound1 = kaart (heli, 340, 415, 0, 9); } else if (heli 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); } muu kui ((heli1)> 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); viivitus (120); } muu kui (heli1> 120) {irsend.sendNEC (IR_B, 32); viivitus (120); } muu kui (heli1> 80) {irsend.sendNEC (IR_B, 32); viivitus (120); } muu kui (heli1> 40) {irsend.sendNEC (IR_G, 32); viivitus (120); } muu kui (heli1> 10) {irsend.sendNEC (IR_R, 32); delay (120);} else {irsend.sendNEC (IR_FADE7, 32); viivitus (120); } Serial.println (heli1); viivitus (50); }

Soovitan: