Kazalo:

Zvočno odziven Poceni Ir Led trak: 4 koraki
Zvočno odziven Poceni Ir Led trak: 4 koraki

Video: Zvočno odziven Poceni Ir Led trak: 4 koraki

Video: Zvočno odziven Poceni Ir Led trak: 4 koraki
Video: Part 3 - Lord Jim Audiobook by Joseph Conrad (Chs 13-19) 2024, Julij
Anonim
Zvočno odziven Poceni Ir Led trak
Zvočno odziven Poceni Ir Led trak
Zvočno odziven Poceni Ir Led trak
Zvočno odziven Poceni Ir Led trak
Zvočno odziven Poceni Ir Led trak
Zvočno odziven Poceni Ir Led trak

Zvočno odziven Poceni Ir Led trak

no, ideja je prišla po tem, ko je LED trak prišel z AliExpressa in niso bili neopiksli, ampak LED trak RGB z 44 krys ali 24 tipkami daljinskega upravljalca, Dumb me lol, naročila sem napačnega. Želel sem jih za zabavo, vendar z daljincem! !! Naaah. Zato sem zavihal rokave in pobrskal po googlu.

Dobil sem spletni strežnik IR, ki temelji na esp -u in preslikava iste gumbe za daljinski upravljalnik prek vtiča oddajnika IR, priključenega na IR -diodo.

vendar sem hotel nekaj drugačnega, kot je zvočno reaktiven, spet sem dobil veliko vaj z ws1811 ali neopiksli in nekaj celo z MOSFET -i in LED diodami, vendar mi je zmanjkalo časa, zato sem poskusil z neumnim pristopom preslikave zvoka, čeprav A0 PIn esp in preslikava izhoda v vedrih za omogočanje nekaterih kombinacij IR daljinskih gumbov MOSTly rgb, vendar stavim, da vam bo uspelo bolje kot jaz.

Zaloge

1. LED trakovi očitno z napajanjem

2. esp8266 / vozlišče mcu

3. Ir Emitter led

4. Upor

5. Kabel za programiranje

6. arduino ide

7. spajkalnik (nekaj osnovnega spajkanja)

8. a 7805 ic (za uporabo LED napajanja kot napajalnika esp)

9. Modul mikrofona ali pomožni razdelilnik za vhod zvoka

1. korak: Priprava Esp

  • Najprej povežite Nodemcu z računalnikom ali prenosnikom.
  • Zdaj namestite gonilnik nodemcu (google it).
  • Po tem odprtju Arduino IDE (seveda ga morate prenesti in namestiti) Kliknite »Orodja« v orodni vrstici Arduino, kliknite »Board« Izberite »Board Manager« in poiščite esp8266, da ga namestite (traja nekaj časa)
  • Zdaj izberite "Sketch" v orodni vrstici Arduino, izberite "Include Library" od tam izberite "Manage libraries" Poiščite "IRremoteESP8266" in ga namestite
  • Zdaj je konfiguracija izvedena samo iz "Orodja". Pojdi moramo na "Plošče". Izberite "NodeMcu 1.0 (ESP 12-E)" ali drugo različico ESP8266.

2. korak: Priprava in testiranje IR LED

Priprava in testiranje IR LED
Priprava in testiranje IR LED

Najprej moramo namestiti knjižnico irLED za esp

Pojdi sem

Prepoznavanje vašega LED traku z daljinskim upravljalnikom s 24 ključi ali 44 ključi (večjim)

kodo za daljinski upravljalnik najdete TUKAJ

Z nameščeno knjižnico moramo pripraviti IR LED tako, da jo povežemo, kot je prikazano na sliki. Na podlagi tega povežite IR LED, nato naložite naslednjo skico in usmerite IR LED na krmilnik. LED trak naj utripa (vklopi in izklopi). // deluje tako s 24 kot 44 tipkami na daljavo.

TUKAJ je koda za to.

#define IR_OFF 0xF740BF // Resektivne ir kode v 32 bitih #define IR_ON 0xF7C0 #include <IRremoteESP8266.h IRsend irsend (4); // IR pin void setup () {irsend.begin (); } void loop () {irsend.sendNEC (IR_ON, 32); zamuda (5000); irsend.sendNEC (IR_OFF, 32); zamuda (5000); }

3. korak: Ožičenje in priprava mikrofona

Ožičenje in priprava mikrofona
Ožičenje in priprava mikrofona
Ožičenje in priprava mikrofona
Ožičenje in priprava mikrofona

Uporabili bomo samo analogni pin Espe8266 A0 za sprejemanje vhoda kot analognega signala in njegovo uporabo za sprožitev LED na podlagi zvoka

Priključite pin na a0

Priključite 5V na Vin (AS vozlišče mcu nima 5v izhoda)

to je to, IR IR, priključeno na pin D2, bomo poravnali z sprejemnikom LED traku.

a

4. korak: Naložite kodo in pripravljeno je za rock

Naložite kodo in pripravljena je za rock
Naložite kodo in pripravljena je za rock
Naložite kodo in pripravljena je za rock
Naložite kodo in pripravljena je za rock

#include #include #define microphonePin A0 int zvok; int zvok1; const int irPin = 4; // d2IRsend irsend (irPin); void setup () {Serial.begin (9600); pinMode (microphonePin, INPUT); pinMode (irPin, OUTPUT);} // ir LED kode #define IR_BPlus 0xFF3AC5 // #define IR_BMinus 0xFFBA45 // #define IR_ON 0xFF827D // #define IR_OFF 0xFF02FD // #define IR_RFFxxx definiraj IR_B 0xFFA25D // #define IR_W 0xFF22DD // #define IR_B1 0xFF2AD5 // #define IR_B2 0xFFAA55 // #define IR_B3 0xFF926D // #define IC_B4 0xFFB24D // #define IR_B8 0xFF32CD // #define IR_B9 0xFF38C7 // #define IR_B10 0xFFB847 // #define IR_B11 0xFF7887 // #define IR_B12 0xFFF807 // #define IR_BFF0 / #define IR_B16 0xFFD827 // #define IR_UPR 0xFF28D7 // #define IR_UPG 0xFFA857 // #define IR_UPB 0xFF6897 // #define IR_QUICK 0xFFE817 // #define IR_DOWNR 0xFF7xFFFx7 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 () {zvok = analogRead (mikrofonPin); // prejemanje vhodnega zvočnega signala Serial.print (zvok); // vnos odčitkov zvočnega signala na serijski zaslon Serial.print (""); če (zvok> 415) {zvok1 = zemljevid (zvok, 415, 750, 140, 255); // preslikava vrednosti višjih frekvenc, ki so nad odmikom na lestvici 150 - 255} drugače, če (zvok> 340 && zvok <415) // ohranimo odčitek odmika na lestvici nič.. tukaj je vrednost odmika v območju 340 - 415 (vrednost odmika pri 1.45v)..odvisno od komponent, ki se uporabljajo v vezju.. {sound1 = map (zvok, 340, 415, 0, 9); } else if (zvok 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); zakasnitev (120);} drugače, če (zvok1> 160) {irsend.sendNEC (IR_R, 32); irsend.sendNEC (IR_B, 32); zamuda (120); } else if (sound1> 120) {irsend.sendNEC (IR_B, 32); zamuda (120); } else if (sound1> 80) {irsend.sendNEC (IR_B, 32); zamuda (120); } else if (sound1> 40) {irsend.sendNEC (IR_G, 32); zamuda (120); } else if (sound1> 10) {irsend.sendNEC (IR_R, 32); delay (120);} else {irsend.sendNEC (IR_FADE7, 32); zamuda (120); } Serial.println (zvok1); zamuda (50); }

Priporočena: