Как отправить ИК-данные с 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);
});
});
@FrEqDe, 👍0
1 ответ
Лучший ответ:
Вы передаете данные, кодируя их с помощью одного из многих форматов Sony Consumer Remote Control и ожидаете декодировать их с помощью одного из многих возможных форматов, подобных RS232. Вы, скорее всего, получите что-то среднее между ничем и случайными значениями.
Вместо этого рассмотрите отправку данных с использованием только протоколов RS232. Это то, что делается в этом руководстве. Рекомендуется повторить руководство, прежде чем переходить к использованию TTL-USB-ключа и компьютера. Это должно подтвердить работу передатчика. Обратите внимание, что в примере кода передатчика руководства не используется библиотека ИК-пульта дистанционного управления. Только общие последовательные библиотеки.
Несколько слов об учебном пособии. Рассмотрите возможность использования второго из двух примеров в учебном пособии. Первый не модулирует ИК-передатчик и не будет работать с общедоступными ИК-приемниками. Второй модулирует ИК-передатчик и обсуждает, как изменить модуляцию для адаптации к различным ИК-приемникам.
- Ардуино для чтения с преобразователя RS232 в последовательный модуль TTL
- Как читать и записывать на устройство rs232 с/на Arduino
- Как отправить HTTP-post данные в Node Express API с Arduino esp822 6?
- Считывание серийного номера с заголовком и конечным маркером
- Взаимодействие с контроллером температуры Eurotherm 2416 через Modbus RS232
- Как отправить данные на 15 метров с помощью KY-005
- Использование Arduino для чтения и записи данных на устройство RS232
- Подключите Arduino к ПЛК (обмен данными)