Мазмуну:

Үн реактивдүү арзан Ir Led Strip: 4 кадам
Үн реактивдүү арзан Ir Led Strip: 4 кадам

Video: Үн реактивдүү арзан Ir Led Strip: 4 кадам

Video: Үн реактивдүү арзан Ir Led Strip: 4 кадам
Video: ЗАПРЕЩЁННЫЕ ТОВАРЫ с ALIEXPRESS 2023 ШТРАФ и ТЮРЬМА ЛЕГКО! 2024, Декабрь
Anonim
Үн реактивдүү арзан Ir Led Strip
Үн реактивдүү арзан Ir Led Strip
Үн реактивдүү арзан Ir Led Strip
Үн реактивдүү арзан Ir Led Strip
Үн реактивдүү арзан Ir Led Strip
Үн реактивдүү арзан Ir Led Strip

Үн реактивдүү арзан Ir Led Strip

Жакшы, идея LED тилкеси AliExpressтен келгенден кийин пайда болду жана алар неопиксель эмес, 44krys же 24 негизги алыскы типтеги RGB LED тилкеси, дудук мага lol, мен туура эмес заказ кылдым. Мен аларды партияга кааладым, бирок алыстан! !! Нааа. Ошентип мен жеңдеримди бүктөп, аны гуглдадым.

IR жетектөөчү IR туташтыргычы аркылуу ошол эле алыскы баскычтарды картага алган IR веб -сервери бар.

бирок мен үн реактивдүү сыяктуу башка нерсени каалачумун, кайра ws1811 же неопикселдери бар көптөгөн окуу куралдарын алдым, кээ бирлери MOSFET жана LED менен да, бирок мен убактысы өтүп кеткендиктен, мен A0 PIN болсо да, Аудио картасын жасоо ыкмасын колдонуп көрдүм. esp жана Картага чыгаруу IR чакан баскычтарынын кээ бир комбинацияларын иштетүү үчүн чакаларга бөлүп берүү MOGly rgb гана, бирок мен ишенем, сен аны менден жакшыраак кыласың.

Жабдуулар

1. LED тилкелери, албетте, электр энергиясы менен

2. esp8266 / түйүн mcu

3. Ир Эмиттер жетектеген

4. Резистор

5. Программалоо кабели

6. arduino ide

7. ширетүүчү темир (кээ бир негизги ширетүү)

8. 7805 ic (жетектөөчү жабдууну esp камсыздоо катары колдонуу үчүн)

9. Үндү киргизүү үчүн микрофон модулу же aux y бөлүнүшү

1 -кадам: Esp даярдоо

  • Биринчиден, Nodemcu'ду компьютер же ноутбукка туташтырыңыз.
  • Эми nodemcu драйверин орнотуңуз (google it).
  • Бул ачылгандан кийин, Arduino IDE (Албетте, сиз аны жүктөп алып, орнотушуңуз керек) Arduino инструменттер тилкесиндеги "Куралдарга" чыкылдатыңыз "Тактага" чыкылдатыңыз "Такта менеджерин" тандап, аны орнотуу үчүн esp8266 издеңиз (аяктоо үчүн бир аз убакыт талап кылынат))
  • Эми, Arduino инструменттер тилкесинен "Эскизди" тандап, "Китепкананы кошууну" тандап, ал жерден "Китепканаларды башкаруу" дегенди тандап, "IRremoteESP8266" издеп, аны орнотуңуз.
  • Эми конфигурация "Аспаптардан" гана жасалат, биз "Тактага" өтүшүбүз керек "NodeMcu 1.0 (ESP 12-E)" же ESP8266нын башка версиясын танда.

2 -кадам: IR LEDди даярдоо жана тестирлөө

IR LED даярдоо жана сыноо
IR LED даярдоо жана сыноо

Биринчиден, биз esp үчүн irLED китепканасын орнотушубуз керек

Бул жакка бар

Жетектөөчү тилкени аныктоо 24 ачкыч же 44 ачкыч (чоңураак) алыстан

пульт кодун алуу үчүн БУЛ ЖЕРДЕ

Китепкана орнотулганда, биз IR LEDибизди Сүрөттө көрсөтүлгөндөй туташтырып даярдообуз керек. Анын негизинде IR LED туташтырыңыз, андан кийин төмөнкү эскизди жүктөп, IR LEDди контроллерге көрсөтүңүз. Жарык диодунун жарыгы өчүп -күйүшү керек (күйүп -өчөт). // Remote 24 жана 44 баскычтары менен иштейт.

БУЛ жерде муну жасоо үчүн код бар.

#define IR_OFF 0xF740BF // 32 биттеги резекциялык коддор #аныктоо IR_ON 0xF7C0 #кошуу <IRremoteESP8266.h IRsend irsend (4); // IR пин жараксыз орнотуу () {irsend.begin (); } void loop () {irsend.sendNEC (IR_ON, 32); кечигүү (5000); irsend.sendNEC (IR_OFF, 32); кечигүү (5000); }

3 -кадам: Микрофонду өткөрүү жана даярдоо

Микрофонду өткөрүү жана даярдоо
Микрофонду өткөрүү жана даярдоо
Микрофонду өткөрүү жана даярдоо
Микрофонду өткөрүү жана даярдоо

Биз аналогдук сигнал катары киргизүүнү алуу үчүн Espe8266 A0 аналогдук пинин колдонобуз жана аны үнгө негизделген ирди иштетүү үчүн колдонобуз.

A0 га туташтыруу

Винге 5V туташтырыңыз (AS түйүнү mcu 5v чыгарууга ээ эмес)

мына ушуну менен биз D2 пинге туташкан IR LEDди LED тилкесинин Ресиверине тегиздейбиз.

а

4 -кадам: Кодду жана Рокко даярдыгын жүктөңүз

Кодду жүктөңүз жана ал даяр
Кодду жүктөңүз жана ал даяр
Кодду жүктөңүз жана ал даяр
Кодду жүктөңүз жана ал даяр

#include #include #аныктоо microphonePin A0 int үнү; int sound1; const int irPin = 4; // d2IRsend irsend (irPin); void setup () {Serial.begin (9600); pinMode (микрофонPin, INPUT); pinMode (irPin, OUTPUT);} // ir led Codes #define IR_BPlus 0xFF3AC5 // #define IR_BMinus 0xFFBA45 // #define IR_ON 0xFF827D // #define IR_OFF 0xFF02FD // #FFF IRFF // //FFFFRAEFR_F5 IR_B 0xFFA25D аныктоо // #аныктоо IR_W 0xFF22DD // #аныктоо IR_B1 0xFF2AD5 // #аныктоо IR_B2 0xFFAA55 // #аныктоо IR_B3 0xFF926D // #аныктоо IR_B4 0xFF12ED // IRFW / 0 0xFFB24D // #define IR_B8 0xFF32CD // #IRfine IR_B9 0xFF38C7 // #define IR_B10 0xFFB847 // #define IR_B11 0xFF7887 // #define IR_B12 0xFFF807 // 0FeFeFref / #аныктоо IR_B16 0xFFD827 // #аныктоо IR_UPR 0xFF28D7 // #аныктоо IR_UPG 0xFFA857 // #аныктоо IR_UPB 0xFF6897 // #аныктоо IR_QUICK 0xFFE817 // #define IRFDF8F7F7F8F7F8_7 IR_SLOW 0xFFC837 аныктоо // #IR_DIY1 аныктоо 0xFF30CF // #аныктоо IR_DIY2 0xFFB04F // #аныктоо IR_DIY3 0xFF708F // #аныктоо 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); // кирүү аудио сигналын алуу Serial.print (үн); // Serial.print ("") Сериалдык дисплейине аудио сигналын окуусун киргизүү; if (sound> 415) {sound1 = map (sound, 415, 750, 140, 255); // 150 - 255 масштабынан жогору болгон жогорку жыштыктагы маанилерди картага түшүрүү, эгерде (үн> 340 && үн <415) // офсет окуусун нөл шкалага чейин кармоо.. бул жерде 340 - 415 диапазонунда офсет мааниси (офсеттин мааниси 1.45v)..ит схемада колдонулган компонеттерден көз каранды.. {sound1 = map (sound, 340, 415, 0, 9); } else if (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); кечиктирүү (120); } else if (sound1> 120) {irsend.sendNEC (IR_B, 32); кечиктирүү (120); } else if (sound1> 80) {irsend.sendNEC (IR_B, 32); кечиктирүү (120); } else if (sound1> 40) {irsend.sendNEC (IR_G, 32); кечиктирүү (120); } else if (sound1> 10) {irsend.sendNEC (IR_R, 32); delay (120);} else {irsend.sendNEC (IR_FADE7, 32); кечиктирүү (120); } Serial.println (sound1); кечиктирүү (50); }

Сунушталууда: