Jeg gjorde det sånn her:
 
	 
 
	 
	 
 
	 
 
	I de fleste Arduino-eksemplene må man sette hvilken pin (i tillegg til GND/jord) som brukes til sending. Der står GPI04 som regel som standard,  og selv om GPI04 er det samme som "D2" på ESP8266, fikk ihvertfall ikke jeg det til å funke før jeg endra variabelen fra "4" til "D2". Leste at det kunne være utslagsgivende i en eller annen ESP8266 FAQ på Github, husker ikke helt hvor. På den annen side har jeg brukt både D2/D3 etc og GPIO-numrene om hverandre i flere andre script som har funka fint, så jeg tipper årsaken er at folk ikke har vært konsekvente med navngivingen, og hard-coda inn ulike referansenavn her og der.
 
	 
 
	Puh, altfor lang forklaring, men det kan jo hende noen får noe ut av det. Uansett - her er eksemplet som funka hos meg.
 
#include <Arduino.h>
#include <IRremoteESP8266.h>
#include <IRsend.h>
const uint16_t kIrLed = D2;  // ESP8266 GPIO pin to use. Recommended: 4 (D2).
IRsend irsend(kIrLed);  // Set the GPIO to be used to sending the message.
// Example of data captured by IRrecvDumpV2.ino
uint16_t rawData[67] = {9000, 4500, 650, 550, 650, 1650, 600, 550, 650, 550,
                        600, 1650, 650, 550, 600, 1650, 650, 1650, 650, 1650,
                        600, 550, 650, 1650, 650, 1650, 650, 550, 600, 1650,
                        650, 1650, 650, 550, 650, 550, 650, 1650, 650, 550,
                        650, 550, 650, 550, 600, 550, 650, 550, 650, 550,
                        650, 1650, 600, 550, 650, 1650, 650, 1650, 650, 1650,
                        650, 1650, 650, 1650, 650, 1650, 600};
// Example Samsung A/C state captured from IRrecvDumpV2.ino
uint8_t samsungState[kSamsungAcStateLength] = {
    0x02, 0x92, 0x0F, 0x00, 0x00, 0x00, 0xF0,
    0x01, 0xE2, 0xFE, 0x71, 0x40, 0x11, 0xF0};
void setup() {
  irsend.begin();
#if ESP8266
  Serial.begin(115200, SERIAL_8N1, SERIAL_TX_ONLY);
#else  // ESP8266
  Serial.begin(115200, SERIAL_8N1);
#endif  // ESP8266
}
void loop() {
  Serial.println("NEC");
  irsend.sendNEC(0x00FFE01FUL);
  delay(2000);
  Serial.println("Sony");
  irsend.sendSony(0xa90, 12, 2);  // 12 bits & 2 repeats
  delay(2000);
  Serial.println("a rawData capture from IRrecvDumpV2");
  irsend.sendRaw(rawData, 67, 38);  // Send a raw data capture at 38kHz.
  delay(2000);
  Serial.println("a Samsung A/C state from IRrecvDumpV2");
  irsend.sendSamsungAC(samsungState);
  delay(2000);
}
	 
 
	Jeg så forresten at det lå en annen eksempelfil tilgjengelig for Arduino, som konverterer ir-koder mellom de ulike protokollene (som man også kan gjøre her:  http://irdb.tk/convert/).
 
	 
 
	 
 
	Hilsen Andreas
 
	 
 
	IoT-entusiast, Programmerer, webutvikler, musikkprodusent og mye mer
 
	atchoo.net • fredloes.no • atchoo.net/dev/telldus/blink1