Taula de continguts:

Tira reactiva de so barata reactiva: 4 passos
Tira reactiva de so barata reactiva: 4 passos

Vídeo: Tira reactiva de so barata reactiva: 4 passos

Vídeo: Tira reactiva de so barata reactiva: 4 passos
Vídeo: Pneumonia em 4 Passos: do Diagnóstico ao Tratamento 2024, De novembre
Anonim
Tira reactiva de so barata reactiva de so
Tira reactiva de so barata reactiva de so
So reactiu barat amb tira led
So reactiu barat amb tira led
So reactiu barat amb tira led
So reactiu barat amb tira led

So reactiu barat amb tira led

bé, la idea va sorgir després que la tira led arribés d’Aliexpress i no eren neopíxels, sinó una tira LED RGB amb 44 tipus de comandaments de 44 krys o 24 claus. !! Naaah. Així que vaig plegar les mànigues i la vaig buscar a Google.

Tinc un servidor web IR basat en esp que mapea els mateixos botons remots sobre el pin de l’emissor IR connectat a un led IR.

però volia una cosa diferent, com un so reactiu, de nou, he rebut molts tutorials amb ws1811 o neopixels i alguns fins i tot amb MOSFET i LED, però vaig estar fora de temps, així que vaig provar un enfocament mut de Mapping Audio tot i que A0 PIn de esp i mapatge de la sortida en dipòsits per habilitar algunes combinacions de botons remots IR MOstly rgb només, però aposto que ho faràs millor que jo.

Subministraments

1. a LED Strips òbviament amb font d'alimentació

2. esp8266 / node mcu

3. Ir Emitter led

4. Una resistència

5. Cable de programació

6. arduino ide

7. un soldador (algunes soldadures bàsiques)

8. un ic 7805 (per utilitzar el subministrament de leds com a subministrament especial)

9. Un mòdul de micròfon o divisió auxiliar per a l'entrada de so

Pas 1: Preparació de l'Esp

  • En primer lloc, connecteu el Nodemcu amb l'ordinador o l'ordinador portàtil.
  • Ara instal·leu el controlador de nodemcu (google it).
  • Després d'aquesta obertura, l'Arduino IDE (per descomptat, heu de descarregar-lo i instal·lar-lo) Feu clic a "Eines" a la barra d'eines d'Arduino, feu clic a "Tauler" Seleccioneu "Gestor de taules" i cerqueu esp8266. Instal·leu-lo)
  • Ara, seleccioneu "Esbós" a la barra d'eines d'Arduino, seleccioneu "Inclou biblioteca" i seleccioneu "Gestiona les biblioteques". Cerqueu "IRremoteESP8266" i instal·leu-lo.
  • Ara la configuració només es fa des de "Eines". Hem d'anar a "Taules". Seleccioneu "NodeMcu 1.0 (ESP 12-E)" o una altra versió de l'ESP8266.

Pas 2: Preparació i prova del LED IR

Preparació i prova del LED IR
Preparació i prova del LED IR

Primer de tot, hem d’instal·lar la biblioteca irLED per a esp

Ves allà

Identifiqueu la vostra tira LED remota de 24 tecles o de 44 tecles (una més gran)

per obtenir el codi de comandaments a distància, aneu AQUÍ

Amb la biblioteca instal·lada, hem de preparar el nostre LED IR connectant-lo tal com es mostra a la imatge. Basant-vos-hi, connecteu el LED IR i, a continuació, pengeu el croquis següent i dirigiu el LED IR al controlador. La tira LED hauria de parpellejar (s’encén i s’apaga). // funciona amb 24 i 44 tecles Remot.

AQUÍ hi ha el codi per fer-ho.

#define IR_OFF 0xF740BF // Codis irectius en 32 bits # define IR_ON 0xF7C0 #include <IRremoteESP8266.h IRsend irsend (4); // IR pin void setup () {irsend.begin (); } void loop () {irsend.sendNEC (IR_ON, 32); retard (5000); irsend.sendNEC (IR_OFF, 32); retard (5000); }

Pas 3: Connexió i preparació del micròfon

Cablatge i preparació del micròfon
Cablatge i preparació del micròfon
Cablatge i preparació del micròfon
Cablatge i preparació del micròfon

Utilitzarem només pin analògic d'Espe8266 A0 per prendre l'entrada com a senyal analògic i utilitzar-lo per activar un led basat en el so

Connecteu el pin de sortida a a0

Connecteu 5V a Vin (el node AS mcu no té sortida de 5v)

ja està, alinearem el LED IR connectat al pin D2 al receptor de la tira LED.

a

Pas 4: pengeu el codi i el vostre llest per canviar-lo

Pengeu el codi i ja podeu llançar-lo
Pengeu el codi i ja podeu llançar-lo
Pengeu el codi i ja podeu llançar-lo
Pengeu el codi i ja podeu llançar-lo

#include # include # define microphonePin A0 int sound; int sound1; const int irPin = 4; // d2IRsend irsend (irPin); void setup () {Serial.begin (9600); pinMode (microphonePin, INPUT); pinMode (irPin, OUTPUT);} // Codi led ir #define IR_BPlus 0xFF3AC5 // #define IR_BMinus 0xFFBA45 // #define IR_ON 0xFF827D // #define IR_OFF 0xFF02FD // #define IR_R 0xFF1AE5 // #define IR_G 0x 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 IR_B5 0xFF0AF5 // #def 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 IR_B14 #x7 / #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_DOWN #deff 0x88 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_F_F0 / void loop () {so = analògicLlegeix (micròfonPin); // obtenir la lectura del senyal d'àudio d'entrada Serial.print (so); // introdueix lectures de senyals d'àudio a la pantalla Serial Serial.print (""); if (so> 415) {so1 = mapa (so, 415, 750, 140, 255); // mapeig de valors de freqüència més alts que es troben per sobre de la compensació a l’escala de 150 a 255} més si (so> 340 i so <415) // mantenint la lectura de desplaçament a escala zero. valor de desplaçament a 1.45v).. depèn dels components utilitzats al circuit.. {so1 = mapa (so, 340, 415, 0, 9); } else if (so 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); delay (120);} else if (sound1> 160) {irsend.sendNEC (IR_R, 32); irsend.sendNEC (IR_B, 32); retard (120); } else if (sound1> 120) {irsend.sendNEC (IR_B, 32); retard (120); } else if (sound1> 80) {irsend.sendNEC (IR_B, 32); retard (120); } else if (sound1> 40) {irsend.sendNEC (IR_G, 32); retard (120); } else if (sound1> 10) {irsend.sendNEC (IR_R, 32); delay (120);} else {irsend.sendNEC (IR_FADE7, 32); retard (120); } Serial.println (so1); retard (50); }

Recomanat: