Передача значений ИК-сигнала с помощью инфракрасного излучателя на Arduino
У меня есть Arduino Mega и светодиод, излучающий ИК-излучение, и я хочу отправить данные "шестнадцатеричные данные", которые я выбрал, используя этот светодиод, и я попробовал библиотеку IRRemote, и я успешно использовал IRrecv
класс, но при использовании IRsend
я не получил никакого сигнала и попытался посмотреть на светодиод через мобильную камеру
контакт ИК-излучателя имеет ШИМ 3 и подключил его к 3,3 В один раз и к 5 В один раз
#include <IRremote.h>
IRsend irsend;
void setup()
{
Serial.begin(9600);
}
void loop() {
if (Serial.read() != -1) {
for (int i = 0; i < 3; i++) {
irsend.sendSony(0xa90, 12); // Sony TV power code
delay(40);
}
}
}
и для получателя:
#include <IRremote.h>
int RECV_PIN = 11;
IRrecv irrecv(RECV_PIN);
decode_results results;
void setup()
{
Serial.begin(9600);
irrecv.enableIRIn(); // Start the receiver
}
void loop() {
if (irrecv.decode(&results)) {
Serial.println(results.value, HEX);
irrecv.resume(); // Receive the next value
}
}
любая помощь приветствуется:) Хисо
1 ответ
Я посмотрел на библиотеку IRRemote.cpp, на которую вы ссылались, и в заголовочном файле вы можете увидеть, что каждая плата Arduino имеет уникальный PWM
контакт, который используется для передачи инфракрасных данных, поэтому используйте PWM 9
уверен, что работать на Arduino Mega