الفرس مصباح دافئ



مقدمة


أثناء السفر عبر الإنترنت ، صادفت فئة واحدة من الألعاب غير المثيرة للاهتمام - "أدوات النقر". كنت سعيدًا بشكل خاص مع Office Clicker . من المؤكد أن الغباء مطلق ، ولكن هناك شيء فيه. يمكنك كتابة بعض النصوص التي سيتم تشغيلها في مكاني ، ولكن هذا أمر شائع جدًا. قررت أن أصنع جهاز نقر للأجهزة ، ولكن ليس فقط جهاز النقر ، ولكن جهاز نقر المصباح الدافئ! مثيرة للاهتمام؟ أطلب قطع!



دارات "أنبوب" دافئة


كان المخطط في ذهني غير تافه للغاية ، فقد كان يعتمد على لمبة سيارة عالية الشعاع (والتي أسميها بفخر "المصباح"):


فئات التفاصيل:
  • R1 = 10 KOhm (متعدد الدوران) ؛
  • R2 = 5 أوم (5 واط) ؛
  • R3 = 470 أوم (0.25 واط) ؛
  • R4 = 100 أوم (0.25 واط) ؛
  • C1 = 47 درجة فهرنهايت (25 فولت).

مبدأ تشغيل الدائرة على النحو التالي:
  1. يبرد "المصباح" (يبرد) ؛
  2. الجهد U1 <U2 ؛
  3. يقدم جهاز المقارنة إشارة الزناد إلى الترانزستور T1 ؛
  4. الترانزستور T1 مفتوح ؛
  5. اتصالات التتابع مغلقة ؛
  6. يبدأ التيار بالتدفق عبر "المصباح" => يسخن ؛
  7. تزداد مقاومة "المصباح" ؛
  8. يرتفع الجهد U1 ويقترب من U2 ؛
  9. عندما U1> U2 ، يتوقف المقارنة عن الإشارة إلى T1 ؛
  10. مغلق الترانزستور T1.
  11. اتصالات التتابع مفتوحة ؛
  12. U1> U2 ، ولكن ينخفض ​​تدريجيًا U1 ؛
  13. جوتو 1.

يعتمد تردد الإشارة المولدة على:
  • ثابت الزمن t = R5 * C1 ؛
  • وقت تسخين (وتبريد) المصباح.

تغيير الجهد U2 ، نغير وقت تسخين "المصباح" ، على التوالي - كلما زاد U2 ، انخفض التردد.

يتم استخدام المقاوم R4 وثنائي زينر D1 (للجهد 3.3 فولت) لتوليد إشارة تحكم للعقدة التالية - لوحة Arduino Duo.





واجهة


كما فهمت بالفعل ، اخترت لوحة Arduino Duo كلوحة واجهة بين مرحل "الأنبوب" والكمبيوتر.

مبدأ التشغيل بسيط للغاية:
  • عندما يتم إغلاق الترانزستور V1 في دائرة "الفرس" ، يتلقى Arduino إشارة تحكم 3.3V ، عندما يكون الترانزستور مفتوحًا - 0V ؛
  • يفسر أردوينو 3.3V كدليل للضغط على LMB ؛
  • يفسر أردوينو 0V كدليل لإطلاق LMB.


هذا هو برنامج Arduino الذي كتبته عن هذا:
#define VACUUM_LINE 13

void setup()
{
  pinMode(VACUUM_LINE, INPUT_PULLUP);
  Mouse.begin();
}

void loop()
{
  if (digitalRead(VACUUM_LINE) == HIGH)
  {
    Mouse.press();
    delay(10);
  }
  if (digitalRead(VACUUM_LINE) == LOW)
  {
    Mouse.release();
    delay(10);
  }
}


الاختبار


بدلاً من ألف كلمة ، أقترح مشاهدة مقطع فيديو واحد:


شكرا لكم على اهتمامكم! آمل أن تساعد مقالتي في تحسين مزاجك!

Source: https://habr.com/ru/post/ar394859/


All Articles