#include <IRremote.h>
// IR transmitter pin
//#define IR_TRANSMIT 18 // transmitter pin, adjust as needed
const uint16_t IR_TRANSMIT = 18; // transmitter pin, adjust as needed
IRsend irsend(IR_TRANSMIT);
void setup() {
Serial.begin(115200);
}
void loop() {
int khz = 38; // IR LED modulation frequency
/*uint16_t rawData[] = {900, 450, 900, 450, 900, 450}; // signal pattern, 900 ms on, 450 ms off
irsend.sendRaw(rawData, sizeof(rawData)/sizeof(rawData[0]), khz); // sending raw signal at 38 kHz
Serial.println("Sending IR signal..."); // prints a message each time a signal is sent
delay(1000); // waiting a second before sending the signal again*/
/*new addition starts here*/
// name in hex ASCII values "John Doe"
// 'J' = 0x4A, 'o' = 0x6F, 'h' = 0x68, 'n' = 0x6E, ' ' = 0x20, 'D' = 0x44, 'o' = 0x6F, 'e' = 0x65
uint16_t rawData[] = {0x4A, 0x6F, 0x68, 0x6E, 0x20, 0x44, 0x6F, 0x65};
// sending each character in the array as a separate IR message
for(int i = 0; i < sizeof(rawData)/sizeof(rawData[0]); i++) {
// sending one character at a time
uint16_t charData[] = {rawData[i], 0xFFFF}; // 0xFFFF represents the end of a character
irsend.sendRaw(charData, sizeof(charData)/sizeof(charData[0]), khz); // sending data at 38 kHz
delay(100); // short delay between characters
}
Serial.println("Sending IR signal..."); // prints a message each time a signal is sent
delay(2000); // waiting a longer before the next name is sent
/*new addition ends here*/
}