Тёплый ламповый «кликер»

в 8:29, , рубрики: arduino, diy или сделай сам, игры, схемотехника, теплый ламповый генератор, юмор, метки:

Тёплый ламповый «кликер» - 1

Предисловие

Путешествуя по просторам интернета я набрел на одну малоинтересную категорию игрушек — «кликеры». Особенно меня «порадовал» Office Clicker. Глупость конечно несусветная, но что-то в этом есть. Можно написать какой-нибудь скрипт, который будет играть вместо меня, но это слишком банально. Я решил сделать хардвэрный «кликер», но не просто хардверный, а теплый-ламповый «кликер»! Интересно? Прошу под кат!

Тёплый ламповый «кликер» - 2

Теплая «ламповая» схемотехника

Схема мне пришла в голову весьма нетривиальная, в основу ее легла автомобильная лампочка дальнего света (которую я далее гордо именую «лампой»):
Тёплый ламповый «кликер» - 3

Номиналы деталей:

  • R1 = 10 КОм (многооборотный);
  • 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. GOTO 1.

Частота генерируемого сигнала зависит от:

  • постоянной времени t=R5*C1;
  • времени разогрева (и остывания) «лампы».

Изменяя напряжение U2 мы меняем время разогрева «лампы», соответственно — чем больше U2 тем ниже будет частота.

Резистор R4 и стабилитрон D1 (на напряжение 3.3В) используются для формирования управляющего сигнала для следующего узла — платы Arduino Duo.

Тёплый ламповый «кликер» - 4
Тёплый ламповый «кликер» - 5
Тёплый ламповый «кликер» - 6

Интерфейс

Как вы уже поняли, в качестве интерфейсной платы между «ламповым» реле и компьютером я выбрал плату Arduino Duo.

Принцип работы очень прост:

  • когда в схеме «кликера» транзистор V1 закрыт, на Arduino поступает управляющий сигнал 3.3В, когда транзистор открыт — 0В;
  • Arduino интерпретирует 3.3В, как руководство к нажатию ЛКМ;
  • Arduino интерпретирует 0В, как руководство отпустить ЛКМ.

Вот программа для 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);
  }
}

Тестируем

Вместо тысячи слов, предлагаю посмотреть одно видео:

Спасибо за внимание! Надеюсь моя статья помогла улучшить ваше настроение!

Автор: geovas333

Источник

* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js