Возможно. Было бы время ради спортивного интереса оставил бы листать. По теории вероятности... Но ждать больше не вижу смысла. В Google Play есть приложение Remote Control for Dyson , расковыряв его нашел интересную папочку raw. Из этой папочки методом научного тыка нашел все коды кнопок. Скетч прилагаю (может кому сгодится)
/*
* IRremote: IRsendRawDemo - demonstrates sending IR codes with sendRaw
* An IR LED must be connected to Arduino PWM pin 3.
* Version 0.1 July, 2009
* Copyright 2009 Ken Shirriff
* http://arcfn.com
*
* IRsendRawDemo - added by AnalysIR (via www.AnalysIR.com), 24 August 2015
*
* This example shows how to send a RAW signal using the IRremote library.
* The example signal is actually a 32 bit NEC signal.
* Remote Control button: LGTV Power On/Off.
* Hex Value: 0x20DF10EF, 32 bits
*
* It is more efficient to use the sendNEC function to send NEC signals.
* Use of sendRaw here, serves only as an example of using the function.
*
*/
#include <IRremote.h>
IRsend irsend;
void setup()
{
Serial.begin(9600);
}
void loop() {
int khz = 38; // 38kHz carrier frequency for the NEC protocol
unsigned int irButtonStBy[] = {2180, 750, 730, 750, 730, 1410, 730, 1410, 730, 750, 730, 750, 730, 750, 730, 750, 730, 750, 730, 750, 730, 750, 730, 750, 730, 750, 730, 750, 730, 1410, 730, 750, 730, 65535};
unsigned int irButtonCool[] = {2180, 750, 730, 750, 730, 1410, 730, 1410, 730, 750, 730, 750, 730, 750, 730, 750, 730, 1410, 730, 750, 730, 1410, 730, 750, 730, 1410, 730, 750, 730, 1410, 730, 1410, 730, 65535};
unsigned int irButtomCoUp[] = {2180, 750, 730, 750, 730, 1410, 730, 1410, 730, 750, 730, 750, 730, 750, 730, 750, 730, 750, 730, 1410, 730, 750, 730, 1410, 730, 750, 730, 1410, 730, 1410, 730, 750, 730, 65535};
unsigned int irButtomCoDn[] = {2180, 750, 730, 750, 730, 1410, 730, 1410, 730, 750, 730, 750, 730, 750, 730, 750, 730, 1410, 730, 1410, 730, 1410, 730, 1410, 730, 1410, 730, 1410, 730, 1410, 730, 1410, 730, 65535};
unsigned int irButtonTeUp[] = {2180, 750, 730, 750, 730, 1410, 730, 1410, 730, 750, 730, 750, 730, 750, 730, 750, 730, 750, 730, 1410, 730, 1410, 730, 1410, 730, 1410, 730, 750, 730, 750, 730, 750, 730, 65535};
unsigned int irButtonTeDn[] = {2180, 750, 730, 750, 730, 1410, 730, 1410, 730, 750, 730, 750, 730, 750, 730, 750, 730, 1410, 730, 1410, 730, 750, 730, 750, 730, 1410, 730, 1410, 730, 750, 730, 1410, 730, 65535};
unsigned int irButtonTime[] = {2180, 750, 730, 750, 730, 1410, 730, 1410, 730, 750, 730, 750, 730, 750, 730, 750, 730, 1410, 730, 750, 730, 750, 730, 750, 730, 750, 730, 1410, 730, 750, 730, 750, 730, 65535};
unsigned int irButtonFocu[] = {2180, 750, 730, 750, 730, 1410, 730, 1410, 730, 750, 730, 750, 730, 750, 730, 750, 730, 750, 730, 1410, 730, 750, 730, 750, 730, 1410, 730, 750, 730, 1410, 730, 750, 730, 65535};
unsigned int irButtonDiff[] = {2180, 750, 730, 750, 730, 1410, 730, 1410, 730, 750, 730, 750, 730, 750, 730, 750, 730, 1410, 730, 750, 730, 1410, 730, 1410, 730, 750, 730, 1410, 730, 1410, 730, 1410, 730, 65535};
// unsigned int irButtonOsci[] = {2180, 750, 730, 750, 730, 1410, 730, 1410, 730, 750, 730, 750, 730, 750, 730, 750, 730, 750, 730, 750, 730, 1410, 730, 1410, 730, 750, 730, 750, 730, 750, 730, 1410, 730, 65535};
while (Serial.available() == 0);
int val = Serial.read() - '0';
Serial.println(val);
if (val == 0)
{
Serial.println("code irButtonStBy send");
irsend.sendRaw(irButtonStBy, sizeof(irButtonStBy) / sizeof(irButtonStBy[0]), khz);
}
if (val == 1)
{
Serial.println("code irButtonCool send");
irsend.sendRaw(irButtonCool, sizeof(irButtonCool) / sizeof(irButtonCool[0]), khz);
}
if (val == 2)
{
Serial.println("code irButtomCoolingUp send");
irsend.sendRaw(irButtomCoUp, sizeof(irButtomCoUp) / sizeof(irButtomCoUp[0]), khz);
}
if (val == 3)
{
Serial.println("code irButtomCoolingDown send");
irsend.sendRaw(irButtomCoDn, sizeof(irButtomCoDn) / sizeof(irButtomCoDn[0]), khz);
}
if (val == 4)
{
Serial.println("code irButtonTempUp send");
irsend.sendRaw(irButtonTeUp, sizeof(irButtonTeUp) / sizeof(irButtonTeUp[0]), khz); //Note the approach used to automatically calculate the size of the array.
}
if (val == 5)
{
Serial.println("code irButtonTempDn send");
irsend.sendRaw(irButtonTeDn, sizeof(irButtonTeDn) / sizeof(irButtonTeDn[0]), khz); //Note the approach used to automatically calculate the size of the array.
}
if (val == 6)
{
Serial.println("code irButtonSleepTimer send");
irsend.sendRaw(irButtonTime, sizeof(irButtonTime) / sizeof(irButtonTime[0]), khz);
}
/*if (val == 7)
{
Serial.println("code irButtonOscillation send");
irsend.sendRaw(irButtonOsci, sizeof(irButtonOsci) / sizeof(irButtonOsci[0]), khz); //Note the approach used to automatically calculate the size of the array.
} */
if (val == 8)
{
Serial.println("code irButtonFocused send");
irsend.sendRaw(irButtonFocu, sizeof(irButtonFocu) / sizeof(irButtonFocu[0]), khz);
}
if (val == 9)
{
Serial.println("code irButtonDiffused send");
irsend.sendRaw(irButtonDiff, sizeof(irButtonDiff) / sizeof(irButtonDiff[0]), khz);
}
Serial.println(val);
delay(100); //In this example, the signal will be repeated every 5 seconds, approximately.
}
на скорую руку. Код нужно оптимизировать - на одну кнопку памяти не хватает. Остается с заказчиком решить как это будет в железке - отельно пду или ретранслятор. Всем не равнодушным спасибо.
raw.rar