ИК пульт ДУ на ИК лазере - управление техникой на больших расстояниях

Скрестил обычный проект ИК пульта с лазером и получилась неоднозначная игрушка.
Демонстрация работы на видео (надеюсь вставится).
Поскольку раздел требует кода, а его достаточно много, решил что простого примера из использованной популярной библиотеки IRRemote будет достаточно, тем более что суть не столько в коде, сколько в идее, которая отображена на блоксхеме.

Видео: https://www.youtube.com/watch?v=a9-3Va7cq7k

Пример из IRRemote

#include <Arduino.h>
#include "PinDefinitionsAndMore.h" // Define macros for input and output pin etc.
#include <IRremote.hpp>

void setup() {
    pinMode(LED_BUILTIN, OUTPUT);
    Serial.begin(115200);
    Serial.println(F("START " __FILE__ " from " __DATE__ "\r\nUsing library version " VERSION_IRREMOTE));
    IrSender.begin(); // Start with IR_SEND_PIN as send pin and if NO_LED_FEEDBACK_CODE is NOT defined, enable feedback LED at default feedback LED pin
    Serial.print(F("Ready to send IR signals at pin "));
    Serial.println(IR_SEND_PIN);
}

uint16_t sAddress = 0x0102;
uint8_t sCommand = 0x34;
uint8_t sRepeats = 0;

void loop() {
    Serial.println();
    Serial.print(F("Send now: address=0x"));
    Serial.print(sAddress, HEX);
    Serial.print(F(" command=0x"));
    Serial.print(sCommand, HEX);
    Serial.print(F(" repeats="));
    Serial.print(sRepeats);
    Serial.println();
    Serial.println(F("Send NEC with 16 bit address"));
    Serial.flush();
    IrSender.sendNEC(sAddress, sCommand, sRepeats);
}
1 лайк

Вопроса два:

  1. Какой смысл в создании темы с кодом из “простого примера”?
  2. Какая идея отображена на блоксхеме?

Пультом за километр телевизор включать. Оптический прицел к пульту на схеме не показан :slightly_smiling_face:

На блоксхеме некая конфигурация железа (что с чем соединить), имея которую пример становится вполне себе имеющим отношение к делу. А смысл темы - показать, что с лазером ик сигналы можно далеко передавать, что наверно и так было понятно, но тут с некой демонстрацией. Ну и прицел - это опция, без него тоже все работает как и без индикаторных диодиков. Поэтому их на схеме и нет :slight_smile:

а науя?

На видео вполне наглядно продемонстрировано - троллинг соседей.

1 лайк

Дебилы, б-ть.

1 лайк

оборотная сторона цифровизации

Я конечно против всех этих глупостей.
Но чисто технически такое уже есть готовое и даже с веб интерфейсом , сервисом в облаке, грабером ИК команд, настраиваемыми сценариями отправки команд по таймеру, база команд доступна от одного известного игрока в области ИК управления, и т.д.
Запрос должен идти не из базы пультов, а в базу. И еще кто будет составлять эту базу пультов? Многие базы коммерческие и платные.

Ради баловства лезть в комерческие и платные базы - перебор. Для этого вполне пойдет то, что можно найти в сети, например:
https://github.com/Lucaslhm/Flipper-IRDB
https://github.com/flipperdevices/flipperzero-firmware/tree/dev/assets/resources/infrared/assets

  • если и дальше упарываться, то каке-то базы можно наковырять из apk файлов некоторых андроид приложений-универсальныхДУ

Залил исходники: https://github.com/kdpkdp/irbrute

Поиграться можно и без лазера, обычный ИК диод пойдет:
Пин D6 - ИК-диод (через резистор как обычно) или ТТL вход драйвера
Пин D5 - диод индикации готовности к работе
Пин D2 - к положительному полюсу пищалки

В ino файле задать имя сети и пароль:

static constexpr const char NET_NAME[] = "set_your_net_name";
static constexpr const char NET_PASS[] = "set_your_net_pass";

Если с этими параметрами не законнектится к сети, должна подняться точка доступа. Имя ее будет скорее всего со словом ESP, кастомный вариант у меня чета не заработал. В сети этой точки гуй должен быть доступен по IP: 192.168.4.1, ну т.е. в браузере надо вбивать: http://192.168.4.1

Морда и база сигналов лежат в папке data, аплоадится отдельно от скетча.

Рутовая пейджа рисует такое:

При клике на UI пробрасывает в гуй:

Гуй грузится не быстро, там 400+кб данных.