/*
This code emulates the Bulthaup infrared remote control for range hood DA 90 TAS 86 R.
Dieser Code emuliert die Infrarot Fernbedienung der Bulthaup Dunstabzugshaube DA 90 TAS 86 R.
Library:
IR-Remote
Hardware:
Arduino Uno, Nano
IR-LED connected to pin 3 - I did not use any pre-resistor. The signal is very short, thus the LED can cope with it.
Two switches conneted to pin 6 and 7, pull down to ground via 10k resistor
What I strongly recommend is just use it for teaching a standard programmable IR-remote from the shelf.
I used the SEKI Slim and it worked fine.
Remark: There is a 800€ service kit instead in case the original remote control is broken. Crazy !!
*/
#if defined(ARDUINO) && ARDUINO >= 100
#include "Arduino.h"
#else
#include "WProgram.h"
#endif
// ---- Libraries -------
#include <IRremote.h> //This lirary can be downloaded from the www.arduino.cc
IRsend sendbulthaup; //Enable sending IR code
#define PINLICHT 6 //Connet to switch light
#define PINVENTILATOR 7 //Connect to switch fan
// Raw code for the light button
unsigned int LichtRawData[41] = {572, 2772, 576, 496, 572, 500, 572, 500, 572, 500, 572, 496, 572, 500, 572, 500, 572, 468, 572, 496, 572, 21940, 572, 2772, 572, 500, 572, 500, 572, 468, 568, 500, 572, 1076, 572, 500, 572, 496, 1200, 1056, 568};
// Raw data for starting the fan
unsigned int VentRawData[49] = {596, 2748, 596, 444, 532, 476, 596, 476, 596, 440, 596, 476, 596, 444, 532, 476, 596, 476, 592, 444, 532, 21948, 568, 2776, 568, 1048, 1156, 1068, 1156, 1068, 1152, 1068, 1152, 1072, 596, 64216, 568, 2776, 568, 1048, 1156, 1072, 1148, 1072, 1152, 1068, 1152, 1072, 592};
// Raw data for increasing the fan
unsigned int VentRawDataRepeat [13]={ 624, 2720, 540, 1076, 1180, 1040, 1160, 1064, 1156, 1064, 1160, 1064, 624};
// =========================================================================
void setup() {
Serial.begin(9600);
pinMode (PINLICHT,INPUT);
pinMode (PINVENTILATOR,INPUT);
Serial.println("Press Button");
}
// =============================================================
void loop() {
if (digitalRead(PINLICHT) == HIGH) {
Serial.println ("Licht");
sendbulthaup.sendRaw(LichtRawData, sizeof(LichtRawData)/sizeof(LichtRawData[0]), 38);
delay(200);
}
if (digitalRead(PINVENTILATOR) == HIGH) {
Serial.println ("Ventilator");
sendbulthaup.sendRaw(VentRawData, sizeof(VentRawData)/sizeof(VentRawData[0]),38);
delay(64); //do not change the 64ms delay time. It is part of the sequence
while (digitalRead(PINVENTILATOR) == HIGH) { //if switch is still pushed
sendbulthaup.sendRaw(VentRawDataRepeat, sizeof(VentRawDataRepeat)/sizeof(VentRawDataRepeat[0]),38);
delay (64); //do not change the 64ms delay time. It is part of the sequence
}
delay(200);
}
}
Comments