Как отправить ИК-данные с Arduino на USB-TTL

У меня есть светодиодный приемник KY-022 и светодиодный излучатель KY-005, также есть PL2303 (USB-TTL). Вот код выдающего светодиода:

#include <IRremote.h>
IRsend irsend;

void setup()
{
 Serial.begin(9600);
}

void loop() 
{
   for (int i = 0; i < 50; i++) { 
     irsend.sendSony(0xa90, 12); // Sony TV power code
     //Serial.print(0xa90,HEX);
     delay(40);
   }
}

Схема подключения следующая:

Выход KY-022 я подключил к выводу RXD PL2303, на котором есть светодиод, указывающий на получение данных, однако при использовании программы HyperTerminal для просмотра полученных данных ничего не отображается.

Я нашел похожую информацию, но они используют другую модель светодиода, однако я думаю, что она должна работать так же. Что я могу сделать?

Я также тестирую с node js, используя пакет node js, но в консоли я получаю только нечитаемые символы или что-то вроде этого Буфер 00 e0 e0 e0 e0, если я не применяю toString() к данным.

Это мой код в node JS.

var SerialPort = require('serialport');
var io = require('socket.io').listen(3000);

var serialPort = new SerialPort("COM9", {
    baudRate: 9600,
    parser: new SerialPort.parsers.Readline("\n")
});

io.sockets.on('connection', function(socket){
    socket.on('message', function(msg){
        console.log(msg);
    });

    socket.on('disconnected', function(){
        console.log('disconnected');
    });
});

var clearData = "";
var readData = "";

serialPort.on('open',function(){
    console.log('open');
    serialPort.on('data', function(data){
        console.log(data);
        readData += data.toString();
        io.sockets.emit('message',data);
    });
});

, 👍0


1 ответ


Лучший ответ:

3

Вы передаете данные, кодируя их с помощью одного из многих форматов Sony Consumer Remote Control и ожидаете декодировать их с помощью одного из многих возможных форматов, подобных RS232. Вы, скорее всего, получите что-то среднее между ничем и случайными значениями.

Вместо этого рассмотрите отправку данных с использованием только протоколов RS232. Это то, что делается в этом руководстве. Рекомендуется повторить руководство, прежде чем переходить к использованию TTL-USB-ключа и компьютера. Это должно подтвердить работу передатчика. Обратите внимание, что в примере кода передатчика руководства не используется библиотека ИК-пульта дистанционного управления. Только общие последовательные библиотеки.

Несколько слов об учебном пособии. Рассмотрите возможность использования второго из двух примеров в учебном пособии. Первый не модулирует ИК-передатчик и не будет работать с общедоступными ИК-приемниками. Второй модулирует ИК-передатчик и обсуждает, как изменить модуляцию для адаптации к различным ИК-приемникам.

,