Оглавление:
- Шаг 1: Le Montage
- Шаг 2: Le Code Arduino
- Шаг 3: Infos Sur Les Codes Infra-Rouge
- Шаг 4: информация о Sur Codes RX433
Видео: Récupérer Les Codes Infra-Rouge Et 433 МГц: 4 шага
2024 Автор: John Day | [email protected]. Последнее изменение: 2024-01-30 11:53
Le but est d’afficher les code des télécommandes du style commande de lampe, porte de garage и autre fonctionnant sous 433 mhz (RX433) mais aussi ceux des télécommandes infra-rouge de télévision au autre.
On pourra donc ensuite, grâce à une autre montage, envoyer ces codes et piloter n’importe quoi!
Шаг 1: Le Montage
Простой, на Arduino Nano, приемник инфракрасного излучения и приемник 433 МГц.
Шаг 2: Le Code Arduino
// InfraRouge
#включают
int recvPin = 11; // вывод Arduino для приемника InfraRouge (TOSP4838)
IRrecv irrecv (recvPin);
// RX433
#включают
RCSwitch mySwitch = RCSwitch ();
decode_results результаты;
установка void ()
{
Serial.begin (9600);
irrecv.enableIRIn ();
irrecv.blink13 (true); // упомянем внутренние светодиодные лампы InfraRouge
mySwitch.enableReceive (0); // Приемник RX433 (XY-MK-5V) на вывод 2 Arduino Uno et Nano
}
// сообщение кодов InfraRouge
void ircode (decode_results * результаты)
{
// Panasonic
if (results-> decode_type == PANASONIC) {
Serial.print (результаты-> адрес, HEX);
Serial.print (":");
}
Serial.print (результаты-> значение, HEX);
}//пустота
// объявление кодов кодировок
недействительное кодирование (decode_results * результаты)
{
switch (results-> decode_type) {
дефолт:
case UNKNOWN: Serial.print («Инконну»); перерыв;
case NEC: Serial.print («NEC»); перерыв;
case SONY: Serial.print («СОНИ»); перерыв;
корпус RC5: Serial.print («RC5»); перерыв;
корпус RC6: Serial.print («RC6»); перерыв;
case DISH: Serial.print ("БЛЮДО"); перерыв;
case SHARP: Serial.print ("SHARP"); перерыв;
case JVC: Serial.print («JVC»); перерыв;
корпус SANYO: Serial.print («SANYO»); перерыв;
корпус MITSUBISHI: Serial.print («MITSUBISHI»); перерыв;
case SAMSUNG: Serial.print («SAMSUNG»); перерыв;
корпус LG: Serial.print («LG»); перерыв;
case WHYNTER: Serial.print ("WHYNTER"); перерыв;
case AIWA_RC_T501: Serial.print ("AIWA_RC_T501"); перерыв;
case PANASONIC: Serial.print ("PANASONIC"); перерыв;
case DENON: Serial.print («Denon»); перерыв;
}
}
// дамп результатов
void dumpInfo (decode_results * results)
{
// Проверяем, не переполнен ли буфер
if (results-> overflow) {
Serial.println («Слишком длинный ИК-код. Отредактируйте IRremoteInt.h и увеличьте RAWBUF»);
возвращение;
}
// Показать стандарт кодировки
Serial.print ("Кодировка:");
кодировка (результаты);
Serial.println ("");
// Показать код и длину
Serial.print ("Код:");
ircode (результаты);
Serial.print ("(");
Serial.print (результаты-> биты, DEC);
Serial.println ("биты)");
}
//состав
void dumpRaw (decode_results * результаты)
{
// Распечатать необработанные данные
Serial.print ("Время [");
Serial.print (результаты-> rawlen-1, DEC);
Serial.println ("]:");
for (int i = 1; i rawlen; i ++) {
беззнаковый длинный x = результаты-> rawbuf * USECPERTICK;
if (! (i & 1)) {// даже
Serial.print ("-");
если (x <1000) Serial.print ("");
если (x <100) Serial.print ("");
Serial.print (x, DEC); Серийный принт (x, DEC);
} else {// нечетное
Serial.print ("");
Serial.print ("+");
если (x <1000) Serial.print ("");
если (x <100) Serial.print ("");
Serial.print (x, DEC); Серийный принт (x, DEC);
если (я rawlen-1) Serial.print (","); // ',' не нужно для последнего
}
если (! (i% 8)) Serial.println ("");
}
Serial.println (""); // Новая линия
}
//+=============================================================================
// Выгрузить структуру decode_results.
//
void dumpCode (decode_results * результаты)
{
// Начать объявление
Serial.print ("целое число без знака"); // тип переменной
Serial.print ("rawData ["); // имя массива
Serial.print (результаты-> rawlen - 1, DEC); // размер массива
Serial.print ("] = {"); // Начать объявление
// Дамп данных
for (int i = 1; i rawlen; i ++) {
Serial.print (результаты-> rawbuf * USECPERTICK, DEC);
если (я rawlen-1) Serial.print (","); // ',' не требуется на последнем
если (! (i & 1)) Serial.print ("");
}
// Конец объявления
Serial.print ("};"); //
// Комментарий
Serial.print ("//");
кодировка (результаты);
Serial.print ("");
ircode (результаты);
// Новая линия
Serial.println ("");
// Теперь дамп "известных" кодов
if (results-> decode_type! = НЕИЗВЕСТНО) {
// У некоторых протоколов есть адрес
if (results-> decode_type == PANASONIC) {
Serial.print ("unsigned int addr = 0x");
Serial.print (результаты-> адрес, HEX);
Serial.println (";");
}
// Все протоколы имеют данные
Serial.print ("unsigned int data = 0x");
Serial.print (результаты-> значение, HEX);
Serial.println (";");
}
}
пустой цикл ()
/ *********************************************** * InfraRouge ***************************************** /
{
decode_results результаты; // Где-нибудь для хранения результатов
if (irrecv.decode (& results)) {// Захватываем ИК-код
dumpInfo (& результаты); // Вывод результатов
dumpRaw (& результаты); // Вывод результатов в формате RAW
dumpCode (& результаты); // Вывод результатов в виде исходного кода
Serial.println (""); // Пустая строка между записями
irrecv.resume (); // Готовимся к следующему значению
}
/ *********************************************** *** RX433 ******************************************* /
если (mySwitch.available ())
{
int value = mySwitch.getReceivedValue ();
Serial.println («RX433»);
if (значение == 0) {
Serial.print («Кодаж инконну»);
} еще
{
Serial.print («Reçu»);
Serial.print (mySwitch.getReceivedValue ());
Serial.print ("/");
Serial.print (mySwitch.getReceivedBitlength ());
Serial.print ("бит");
Serial.print ("Protocole:");
Serial.println (mySwitch.getReceivedProtocol ());
}
mySwitch.resetAvailable ();
} // RX433
}//петля
Шаг 3: Infos Sur Les Codes Infra-Rouge
Il y a plusieurs protocoles:
NEC: 32 бита (подробности протокола)
Sony: 12 или 20 бит (подробности протокола) (Общие сведения о кодах дистанционного управления Sony IR).
RC5: 12 бит (подробности протокола)
RC6: 20 или 36 бит (подробности протокола)
Залейте Sony и RC5 / 6, передача уже 3 раза!
ВНИМАНИЕ: библиотека IRremote.h не похожа на кодексы для 32-битных кодов. Les RC6, 36 doivent donc êtres envoyer en raw, qui prennent plus de taille mémoire.
L’envoie des codes se fera avec la librairie IRremote.h
Пример: (0x девантный код файла) и другие биты irsend.sendNEC (0xA55A38C7, 32);
Шаг 4: информация о Sur Codes RX433
L’envoie se fera avec la librairie RCSwitch.h
Пример mySwitch.send (1975778, 24);
На peut facilement piloter avec cela des prises commandés.
Рекомендуемые:
Как сделать дверной звонок без касания, определение температуры тела, GY-906, 433 МГц с помощью Arduino: 3 шага
Как сделать дверной звонок без касания, определение температуры тела, GY-906, 433 МГц с использованием Arduino: Сегодня мы создадим дверной звонок без сенсорного экрана, он будет определять температуру вашего тела. В нынешней ситуации очень важно знать, если у кого-то температура тела выше, чем обычно, когда кто-то стучит. Этот проект будет светить красным светом, если обнаружит
Сделай сам рация с универсальными радиочастотными модулями 433 МГц: 4 шага
DIY Walkie-Talkie с универсальными радиочастотными модулями 433 МГц: в этом проекте я покажу вам, как использовать универсальные радиочастотные модули 433 МГц от Ebay для создания функциональной портативной радиостанции. Это означает, что мы сравним различные радиочастотные модули, немного узнаем об усилителе класса d и, наконец, построим рацию
Датчик температуры и влажности Arduino на солнечных батареях в качестве датчика Oregon 433 МГц: 6 шагов
Датчик температуры и влажности Arduino с питанием от солнечных батарей в качестве датчика Oregon 433 МГц: это конструкция датчика температуры и влажности с питанием от солнечной энергии. Датчик имитирует датчик Oregon с частотой 433 МГц и отображается в шлюзе Telldus Net. Что вам нужно: 1x " 10-светодиодный Датчик движения солнечной энергии " с Ebay. Убедитесь, что написано: "Аккумулятор 3,7 В"
Беспроводная связь с использованием дешевых радиочастотных модулей 433 МГц и микроконтроллеров Pic. Часть 2: 4 шага (с изображениями)
Беспроводная связь с использованием дешевых радиочастотных модулей 433 МГц и микроконтроллеров Pic. Часть 2: В первой части этого руководства я продемонстрировал, как запрограммировать PIC12F1822 с использованием MPLAB IDE и компилятора XC8 для беспроводной передачи простой строки с использованием дешевых модулей TX / RX 433 МГц. Модуль приемника был подключен через USB к UART TTL. кабельное объявление
Удаленные интеллектуальные розетки 433 МГц с управлением Amazon Alexa с ESP8266: 4 шага
Удаленные интеллектуальные розетки 433 МГц, управляемые Amazon Alexa с ESP8266: в этой инструкции я покажу вам, как настроить Amazon Echo для управления удаленными розетками 433 МГц с помощью ESP8266. Что вам нужно: розетки с дистанционным управлением 433 МГц с DIP-переключателями ESP8266 (самый простой Кстати, NodeMCU Boar