جدول المحتويات:

قطاع الأشعة تحت الحمراء رد الفعل رخيصة الصوت: 4 خطوات
قطاع الأشعة تحت الحمراء رد الفعل رخيصة الصوت: 4 خطوات

فيديو: قطاع الأشعة تحت الحمراء رد الفعل رخيصة الصوت: 4 خطوات

فيديو: قطاع الأشعة تحت الحمراء رد الفعل رخيصة الصوت: 4 خطوات
فيديو: اتهموها باستغلال الموقف.. ممرضة أميركية تنشر فيديو غريب من داخل مستشفى 2024, شهر نوفمبر
Anonim
الصوت رد الفعل رخيصة الأشعة تحت الحمراء بقيادة قطاع
الصوت رد الفعل رخيصة الأشعة تحت الحمراء بقيادة قطاع
الصوت رد الفعل رخيصة الأشعة تحت الحمراء بقيادة قطاع
الصوت رد الفعل رخيصة الأشعة تحت الحمراء بقيادة قطاع
الصوت رد الفعل رخيصة الأشعة تحت الحمراء بقيادة قطاع
الصوت رد الفعل رخيصة الأشعة تحت الحمراء بقيادة قطاع

الصوت رد الفعل رخيصة الأشعة تحت الحمراء بقيادة قطاع

حسنًا ، جاءت الفكرة بعد وصول شريط LED من AliExpress ولم يكونوا نيوبكسل ولكن شريط RGB LED مع 44krys أو 24 نوعًا عن بعد ، Dumb me lol ، لقد طلبت الشيء الخاطئ ، أردتهم للحفلة ، ولكن مع جهاز التحكم عن بعد! !! نعيم. لذلك قمت بطي أكمامي وبحثت في غوغل.

حصلت على خادم ويب IR قائم على esp والذي يقوم بتعيين نفس الأزرار البعيدة عبر دبوس باعث الأشعة تحت الحمراء المتصل بمصباح IR.

لكنني أردت شيئًا مختلفًا مثل رد الفعل الصوتي ، مرة أخرى حصلت على الكثير من البرامج التعليمية مع ws1811 أو neopixels وبعضها مع MOSFETs و LED`s ، لكنني كنت خارج الوقت لذا جربت نهجًا غبيًا لتعيين الصوت على الرغم من A0 PIn من esp وتعيين الإخراج في الدلاء لتمكين بعض مجموعات أزرار التحكم عن بعد بالأشعة تحت الحمراء MOstly rgb فقط ولكن أراهن أنك ستجعله أفضل مني.

اللوازم

1. من الواضح أن شرائط LED مع امدادات الطاقة

2. esp8266 / عقدة mcu

3. قاد الأشعة تحت الحمراء باعث

4. المقاوم

5. برمجة الكابلات

6. اردوينو بيئة تطوير متكاملة

7. حديد لحام (بعض اللحام الأساسي)

8. a 7805 ic (لاستخدام العرض led كمورد esp)

9. وحدة مميكروفون أو تقسيم aux y لإدخال الصوت

الخطوة 1: تحضير Esp

  • بادئ ذي بدء ، قم بتوصيل Nodemcu بجهاز الكمبيوتر أو الكمبيوتر المحمول.
  • الآن قم بتثبيت برنامج تشغيل nodemcu (google it).
  • بعد هذا الفتح ، فإن Arduino IDE (بالطبع تحتاج إلى تنزيله وتثبيته) انقر فوق "أدوات" في شريط أدوات Arduino انقر فوق "لوحة" حدد "Board Manager" وابحث عن esp8266 قم بتثبيته (سيستغرق بعض الوقت للانتهاء)
  • الآن ، حدد "Sketch" من شريط أدوات Arduino حدد "Include Library" من هناك حدد "Manage libraries" ابحث عن "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 مفتاحًا عن بعد.

هنا هو رمز القيام بذلك.

#define IR_OFF 0xF740BF // أكواد الأشعة تحت الحمراء في 32 بت # حدد IR_ON 0xF7C0 # تتضمن <IRremoteESP8266.h IRsend irsend (4) ؛ // إعداد باطل IR pin () {irsend.begin () ؛ } حلقة باطلة () {irsend.sendNEC (IR_ON، 32) ؛ تأخير (5000) ؛ irsend.sendNEC (IR_OFF، 32) ، تأخير (5000) ؛ }

الخطوة 3: توصيل الأسلاك وتجهيز الميكروفون

الأسلاك وتحضير الميكروفون
الأسلاك وتحضير الميكروفون
الأسلاك وتحضير الميكروفون
الأسلاك وتحضير الميكروفون

سنستخدم فقط دبوسًا تناظريًا من Espe8266 A0 لأخذ المدخلات كإشارة تناظرية واستخدامها لتشغيل مصباح الأشعة تحت الحمراء استنادًا إلى الصوت

قم بتوصيل دبوس إلى a0

قم بتوصيل 5V بـ Vin (AS لا تحتوي العقدة mcu على إخراج 5 فولت)

هذا كل شيء سنقوم بمحاذاة IR LED المتصل بدبوس D2 إلى جهاز الاستقبال لشريط LED.

أ

الخطوة 4: قم بتحميل الكود وجاهزيته للتشغيل

قم بتحميل الكود وجاهزيته للتشغيل
قم بتحميل الكود وجاهزيته للتشغيل
قم بتحميل الكود وجاهزيته للتشغيل
قم بتحميل الكود وجاهزيته للتشغيل

# تضمين # تضمين # تحديد صوت microphonePin A0 int ؛ الصوت int1 ؛ const int irPin = 4 ؛ // d2IRsend irsend (irPin) ؛ إعداد باطل () {Serial.begin (9600) ؛ pinMode (microphonePin ، INPUT) ؛ pinMode (irPin ، الإخراج) ؛} // ir led Codes #define IR_BPlus 0xFF3AC5 // #define IR_BMinus 0xFFBA45 // #define IR_ON 0xFF827D // #define IR_OFF 0xFF02FD // #define IR_RFFF1AE5 // #define IR_RFFF1AE5 // # حدد 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 0xFFB24D // #define IR_B8 0xFF32CD // #define IR_B9 0xFF38C7 // #define IR_B10 0xFFB847 // #define IR_B11 0xFF7887 // #define IR_B12 0xFFFF807 // # 0x58define IR_B13 / #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_DOWNR 0xFF08F7 // #define IR_UPB تعريف 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_JUMP3 0xFF20DF // #define IR_JUMP3 0xFF20DF // #define IR_JUMP3 / void loop () {sound = analogRead (microphonePin) ؛ // الحصول على إشارة إدخال الصوت قراءة Serial.print (صوت) ؛ // قراءات إشارة الإدخال الصوتية للعرض التسلسلي Serial.print ("") ؛ إذا (صوت> 415) {sound1 = خريطة (صوت ، 415 ، 750 ، 140 ، 255) ؛ // تعيين قيم التردد الأعلى التي تكون أعلى من الإزاحة إلى المقياس 150-255} وإلا إذا (الصوت> 340 && الصوت <415) // إبقاء قراءة الإزاحة على مقياس صفري.. حيث تكون قيمة الإزاحة في النطاق من 340 - 415 (قيمة الإزاحة عند 1.45 فولت).. تعتمد على المكونات المستخدمة في الدائرة.. {sound1 = map (sound، 340، 415، 0، 9)؛ } else if (sound 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) ؛} 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)؛ تأخير (120)؛} آخر {irsend.sendNEC (IR_FADE7، 32)؛ تأخير (120) ؛ } Serial.println (sound1) ؛ تأخير (50) ؛ }

موصى به: