Სარჩევი:

ხმის რეაქტიული იაფი Ir Led Strip: 4 ნაბიჯი
ხმის რეაქტიული იაფი Ir Led Strip: 4 ნაბიჯი

ვიდეო: ხმის რეაქტიული იაფი Ir Led Strip: 4 ნაბიჯი

ვიდეო: ხმის რეაქტიული იაფი Ir Led Strip: 4 ნაბიჯი
ვიდეო: ჩვეულებრივი შედუღების მანქანა აღარ არის! MMA TIG-მდე 2024, ივლისი
Anonim
ხმის რეაქტიული იაფი Ir Led Strip
ხმის რეაქტიული იაფი Ir Led Strip
ხმის რეაქტიული იაფი Ir Led Strip
ხმის რეაქტიული იაფი Ir Led Strip
ხმის რეაქტიული იაფი Ir Led Strip
ხმის რეაქტიული იაფი Ir Led Strip

ხმის რეაქტიული იაფი Ir Led Strip

კარგად, იდეა გაჩნდა მას შემდეგ, რაც led strip ჩამოვიდა AliExpress– დან და ისინი არ იყვნენ ნეოპიქსელები, არამედ RGB LED ზოლები 44krys ან 24 გასაღები დისტანციური ტიპებით, მუნჯი მე lol, მე უბრძანა არასწორი ერთი. მე მინდოდა ისინი წვეულებაზე, მაგრამ დისტანციური! !! ნააჰ. ასე რომ, მე დავხურე ჩემი sleeves და google.

მივიღე esp დაფუძნებული IR ვებ სერვერი, რომელიც ასახავს იმავე დისტანციურ ღილაკებს IR emitter pin- ზე, რომელიც დაკავშირებულია IR led- თან.

მაგრამ მე მინდოდა რაღაც განსხვავებული, როგორც ხმის რეაქტიული, ისევ მივიღე ბევრი გაკვეთილი ws1811 ან ნეოპიქსელებით, ზოგი კი MOSFET– ით და LED– ით, მაგრამ მე დროზე ადრე გავცდი, ამიტომ შევეცადე აუდიოს რუქის მუნჯი მიდგომა, თუმცა A0 PIn of esp და რუქების გამოტანა თაიგულებში, რათა შესაძლებელი იყოს IR დისტანციური ღილაკების MOstly rgb- ის ზოგიერთი კომბინაცია, მაგრამ ვდებ, რომ თქვენ ჩემზე უკეთესს გახდით.

მარაგები

1. LED ზოლები აშკარად დენის წყაროსთან

2. esp8266 / კვანძი mcu

3. ირ ემიტერი ხელმძღვანელობდა

4. რეზისტორი

5. პროგრამირების კაბელი

6. arduino ide

7. გასაყიდი რკინა (ზოგიერთი ძირითადი შედუღება)

8. a 7805 ic (გამოსაყენებლად led მიწოდების როგორც esp მიწოდება)

9. მიკროფონის მოდული ან aux y გაყოფილი ხმის შესასვლელად

ნაბიჯი 1: Esp- ის მომზადება

  • უპირველეს ყოვლისა, დაუკავშირეთ ნოდემკუ კომპიუტერს ან ლეპტოპს.
  • ახლა დააინსტალირეთ nodemcu დრაივერი (google it).
  • ამის გახსნის შემდეგ, Arduino IDE (რა თქმა უნდა თქვენ უნდა გადმოწეროთ და დააინსტალიროთ) დააწკაპუნეთ "Tools" - ზე Arduino ინსტრუმენტთა პანელზე დააწკაპუნეთ "Board" - ზე აირჩიეთ "Board Manager" და მოძებნეთ esp8266 დააინსტალირეთ (დასრულებას გარკვეული დრო დასჭირდება))
  • ახლა, Arduino ინსტრუმენტთა პანელიდან აირჩიეთ "ესკიზი" აირჩიეთ "ბიბლიოთეკის ჩართვა" იქიდან აირჩიეთ "ბიბლიოთეკების მართვა" მოძებნეთ "IRremoteESP8266" და დააინსტალირეთ
  • ახლა კონფიგურაცია ხდება მხოლოდ "ინსტრუმენტებიდან", ჩვენ უნდა გადავიდეთ "დაფებზე" აირჩიეთ "NodeMcu 1.0 (ESP 12-E)" ან ESP8266 სხვა ვერსია.

ნაბიჯი 2: IR LED- ის მომზადება და ტესტირება

IR LED- ის მომზადება და ტესტირება
IR LED- ის მომზადება და ტესტირება

უპირველეს ყოვლისა, ჩვენ უნდა დავაინსტალიროთ irLED ბიბლიოთეკა esp

წადი აქ

იდენტიფიცირება თქვენი led ზოლები ან 24 გასაღები ან 44 გასაღები (უფრო დიდი) დისტანციური

დისტანციური კოდის მისაღებად წადით აქ

ბიბლიოთეკის დამონტაჟებით ჩვენ უნდა მოვამზადოთ ჩვენი IR LED მისი შეერთებით, როგორც ეს ნაჩვენებია სურათზე. მასზე დაყრდნობით დააკავშირეთ IR LED, შემდეგ ატვირთეთ შემდეგი ესკიზი და მიუთითეთ IR LED კონტროლერი. LED ზოლები უნდა აციმციმდეს (ჩართულია და გამორთულია). // მუშაობს როგორც 24, ასევე 44 ღილაკით დისტანციური მართვის საშუალებით.

აქ არის კოდი ამის გაკეთება.

#განსაზღვრეთ IR_OFF 0xF740BF // ამოიღეთ ir კოდები 32 ბიტში #განსაზღვრეთ 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– ის ანალოგიურ პინს, რომ შევიყვანოთ ანალოგურ სიგნალად და გამოვიყენოთ იგი ბგერის საფუძველზე

შეაერთეთ Out Pin 0 -თან

შეაერთეთ 5V Vin– თან (AS კვანძის mcu– ს არ აქვს 5v გამომავალი)

ეს არის ის, რომ ჩვენ გავაერთიანებთ IR LED- ს, რომელიც დაკავშირებულია D2 პინთან, LED ზოლის მიმღებთან.

ნაბიჯი 4: ატვირთეთ კოდი და ის მზად არის როკზე

ატვირთეთ კოდი და ის მზად არის როკზე
ატვირთეთ კოდი და ის მზად არის როკზე
ატვირთეთ კოდი და ის მზად არის როკზე
ატვირთეთ კოდი და ის მზად არის როკზე

#მოიცავს #მოიცავს #განსაზღვრავს მიკროფონს Pin A0 int sound; int sound1; const int irPin = 4; // d2IRsend irsend (irPin); void setup () {Serial.begin (9600); pinMode (microphonePin, INPUT); pinMode (irPin, OUTPUT);} // ir led კოდები #განსაზღვრეთ IR_BPlus 0xFF3AC5 // #განსაზღვრეთ IR_BMinus 0xFFBA45 // #განსაზღვრეთ IR_ON 0xFF827D // #განსაზღვრეთ IR_OFF 0xFF02FD // #define IRAR 0xF6FFEF_FFEF_FFEF_F_FFEF_F_FFEF_F_FF_FF_FF_FF_FF_FRF განსაზღვრეთ IR_B 0xFFA25D // #განსაზღვრეთ IR_W 0xFF22DD // #განსაზღვრეთ IR_B1 0xFF2AD5 // #განსაზღვრეთ IR_B2 0xFFAA55 // #განსაზღვრეთ IR_B3 0xFF926D // #განსაზღვრეთ IR_B4 0xFFFEDED // #define_6 0xFFB24D // #განსაზღვრეთ IR_B8 0xFF32CD // #განსაზღვრეთ IR_B9 0xFF38C7 // #განსაზღვრეთ IR_B10 0xFFB847 // #განსაზღვრეთ IR_B11 0xFF7887 // #განსაზღვრეთ IR_B12 0xFFF807 // #de7ine_F7Ef_F7788_B7 0F8EF_F7EF_F7EF_F7EF_F7EF_F7EF_F7EF_07_F13EF_F7EF_07_F13EF_F7EF_07 / #define IR_B16 0xFFD827 // #განსაზღვრეთ IR_UPR 0xFF28D7 // #განსაზღვრეთ IR_UPG 0xFFA857 // #განსაზღვრეთ IR_UPB 0xFF6897 // #განსაზღვრეთ IR_QUICK 0xFFE817 // #define IR_DOWNR 0xF განსაზღვრეთ IR_SLOW 0xFFC837 // #განსაზღვრეთ IR_DIY1 0xFF30CF // #განსაზღვრეთ IR_DIY2 0xFFB04F // #განსაზღვრეთ IR_DIY3 0xFF708F // #განსაზღვრეთ IR_AUTO 0xFFF00F // განსაზღვრავს IR_DIY4 0xFF10EF // განსაზღვრავს IR_DIY5 0xFF906F // განსაზღვრავს IR_DIY6 0xFF50AF // განსაზღვრავს IR_FLASH 0xFFD02F // განსაზღვრავს IR_JUMP3 0xFF20DF // განსაზღვრავს IR_JUMP7 0xFFA05F // განსაზღვრავს IR_FADE3 0xFF609F // განსაზღვრავს IR_FADE7 0xFFE01F / / void loop () {sound = analogRead (microphonePin); // შეყვანის აუდიო სიგნალის კითხვა Serial.print (ხმა); // აუდიო სიგნალის წაკითხვის შეტანა სერიულ ჩვენებაზე Serial.print (""); if (ხმა> 415) {sound1 = რუკა (ხმა, 415, 750, 140, 255); // უფრო მაღალი სიხშირის მნიშვნელობების შედგენა, რომლებიც გადააჭარბებს 150 - 255 შკალას სხვაგან თუ (ხმა> 340 && ხმა <415) // ოფსეტური კითხვის შენარჩუნება ნულოვან შკალაზე.. აქ არის ოფსეტური მნიშვნელობა დიაპაზონში 340 - 415 (ოფსეტური მნიშვნელობა 1.45v).. ეს დამოკიდებულია წრეში გამოყენებულ კომპონენტებზე.. {sound1 = რუკა (ხმა, 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); } else if ((sound1)> 200) {irsend.sendNEC (IR_G, 32); irsend.sendNEC (IR_B, 32); დაგვიანებით (120);} სხვა შემთხვევაში (ხმა 1> 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); დაგვიანებით (120);} სხვა {irsend.sendNEC (IR_FADE7, 32); დაგვიანება (120); } Serial.println (sound1); დაგვიანება (50); }

გირჩევთ: