Агуулгын хүснэгт:

Дууны реактив хямд Ir Led Strip: 4 алхам
Дууны реактив хямд Ir Led Strip: 4 алхам

Видео: Дууны реактив хямд Ir Led Strip: 4 алхам

Видео: Дууны реактив хямд Ir Led Strip: 4 алхам
Видео: The Death-Defying History of Ejection Seats 2024, Долдугаар сарын
Anonim
Дууны реактив хямд Ir Led Strip
Дууны реактив хямд Ir Led Strip
Дууны реактив хямд Ir Led Strip
Дууны реактив хямд Ir Led Strip
Дууны реактив хямд Ir Led Strip
Дууны реактив хямд Ir Led Strip

Дууны реактив хямд Ir Led Strip

За, санаа нь AliExpress -аас ирсэн зурвас ирсэний дараа гарч ирсэн бөгөөд тэдгээр нь неопиксель биш, харин 44krys эсвэл 24 түлхүүр бүхий RGB LED зурвас байсан юм. !! Нааа. Тиймээс би ханцуйгаа нугалаад googled хийсэн.

IR -ээр холбогдсон IR ялгаруулагч зүү дээр ижил алсын товчлууруудыг байрлуулдаг, суурилсан IR вэб сервертэй.

Гэхдээ би реактив дуу шиг өөр зүйл хүсч байсан, дахиад л би ws1811 эсвэл неопиксель, зарим нь MOSFETs болон LED -тэй маш олон заавар авсан боловч цаг хугацаа нь хоцорсон байсан тул би A0 PIN ч гэсэн Mapping Audio -ийн тэнэг аргыг туршиж үзсэн. esp ба MAP гаралтыг хуванцар хэлбэрээр харуулах нь IR алсын товчлууруудын зарим хослолыг идэвхжүүлдэг.

Хангамж

1. Цахилгаан хангамж бүхий LED зурвас

2. esp8266 / зангилаа mcu

3. Ир Эмиттер удирдсан

4. Эсэргүүцэл

5. Програмчлалын кабель

6. arduino ide

7. гагнуурын төмөр (зарим үндсэн гагнуур)

8. 7805 ic (LED нийлүүлэлтийг esp хангамж болгон ашиглах зориулалттай)

9. Дууны оролтын ммикрофон модуль эсвэл aux y split

Алхам 1: Esp -ийг бэлдэж байна

  • Юуны өмнө Nodemcu -ийг компьютер эсвэл зөөврийн компьютерээр холбоно уу.
  • Одоо nodemcu драйверийг суулгаарай (google it).
  • Үүнийг нээсний дараа Arduino IDE (Мэдээж та үүнийг татаж аваад суулгах хэрэгтэй болно) Arduino toolbar дээрх "Tools" дээр дарж "Board" дээр дарж "Board Manager" -ийг сонгоод esp8266 суулгахыг хайна уу (дуусгахад хэсэг хугацаа шаардагдана.)
  • Одоо Arduino хэрэгслийн самбараас "Ноорог" -ыг сонгоод "Номын сан оруулах" -ыг сонгоод "Номын санг удирдах" -ыг сонгоод "IRremoteESP8266" -г хайж олоорой.
  • Одоо тохиргоог зөвхөн "Хэрэгслүүд" -ээс хийж байгаа бөгөөд бид "Самбарууд" руу очиж "NodeMcu 1.0 (ESP 12-E)" эсвэл ESP8266-ийн өөр хувилбарыг сонгох хэрэгтэй.

Алхам 2: IR LED бэлтгэх, турших

IR LED бэлтгэх ба турших
IR LED бэлтгэх ба турших

Юуны өмнө бид esp -д зориулж irLED номын сан суулгах хэрэгтэй

Энд оч

Таны LED зурвасыг 24 түлхүүр эсвэл 44 түлхүүр (том нэг) алсын удирдлага ашиглан тодорхойлох

Алсын удирдлагын кодыг авахын тулд ЭНД дарна уу

Номын сан суулгасан тохиолдолд бид IR LED -ээ Зураг дээр үзүүлсэн шиг холбож бэлтгэх хэрэгтэй. Үүний үндсэн дээр IR LED -ийг холбож, дараа нь Sketch -ийг байршуулж, IR LED -ийг хянагч руу чиглүүлнэ үү. LED зурвас анивчих ёстой (асаах, унтраах). // алсын удирдлагатай 24 ба 44 товчлууруудын аль алинд нь ажилладаг.

Үүнийг хийх код ЭНД байна.

#тодорхойлох IR_OFF 0xF740BF // 32 битийн резекцийн IR кодыг #тодорхойлох IR_ON 0xF7C0 #оруулах <IRremoteESP8266.h IRsend irsend (4); // IR pin void setup () {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 туузыг хүлээн авагчтай тохируулна.

a

Алхам 4: Код болон түүний бэлэн болох рокыг байршуулна уу

Код болон түүний бэлэн болсон рок -ийг байршуулаарай
Код болон түүний бэлэн болсон рок -ийг байршуулаарай
Код болон түүний бэлэн болсон рок -ийг байршуулаарай
Код болон түүний бэлэн болсон рок -ийг байршуулаарай

#оруулах #оруулах #тодорхойлох микрофонPin A0 int дуу; int sound1; const int irPin = 4; // d2IRsend irsend (irPin); void setup () {Serial.begin (9600); pinMode (микрофон зүү, оролт); pinMode (irPin, OUTPUT);} // ir led Codes #define IR_BPlus 0xFF3AC5 // #IR_BMinus 0xFFBA45 тодорхойлох # #IRfON 0xFF827D // #define IR_OFF 0xFF02FD // #FefFrFEF_FrFFFF_FF_FF_FF_FFFFF0F_A IR_B 0xFFA25D тодорхойлох # #IR_W 0xFF22DD тодорхойлох # #IR_B1 тодорхойлох 0xFF2AD5 // #тодорхойлох IR_B2 0xFFAA55 // #тодорхойлох IR_B3 0xFF926D // #тодорхойлох IR_B4 0xFF12ED // IRfWf 0xFFB24D // #тодорхойлох IR_B8 0xFF32CD // #тодорхойлох IR_B9 0xFF38C7 // #тодорхойлох IR_B10 0xFFB847 // #тодорхойлох IR_B11 0xFF7887 // #тодорхойлох IR_B12 0xFFF807 // 0ffnFref / #тодорхойлох IR_B16 0xFFD827 // #IR_UPR тодорхойлох 0xFF28D7 // #IR_UPG тодорхойлох 0xFFA857 // #IR_UPB 0xFF6897 тодорхойлох тодорхойлох 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 display 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); } өөр бол (дуу 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); } if if ((sound1)> 200) {irsend.sendNEC (IR_G, 32); irsend.sendNEC (IR_B, 32); delay (120);} if if (sound1> 160) {irsend.sendNEC (IR_R, 32); irsend.sendNEC (IR_B, 32); саатал (120); } if if (sound1> 120) {irsend.sendNEC (IR_B, 32); саатал (120); } if if (sound1> 80) {irsend.sendNEC (IR_B, 32); саатал (120); } if if (sound1> 40) {irsend.sendNEC (IR_G, 32); саатал (120); } if if (sound1> 10) {irsend.sendNEC (IR_R, 32); саатал (120);} өөр {irsend.sendNEC (IR_FADE7, 32); саатал (120); } Serial.println (sound1); саатал (50); }

Зөвлөмж болгож буй: