+// DS18B20 on pin 11
+OneWire oneWire(11);
+DallasTemperature sensors(&oneWire);
+
+
+// 315Mhz light sockets
+#define TX_PIN 12
+#define LED_PIN 13
+#define LED_ON digitalWrite(LED_PIN, HIGH);
+#define LED_OFF digitalWrite(LED_PIN, LOW);
+
+int int_0 = 300; // ms
+int int_1 = 900; // ms
+int wait = 2000; // ms
+int repeat = 20; // times (5 times seem a little low for sensors which are more than 10m away)
+
+void send_315(char *code) {
+ Serial.print("send 315Mhz ");
+ Serial.println(code);
+
+ // we have to send same signal at least two times
+ for(int r = 0; r < repeat; r++ ) {
+
+ digitalWrite(LED_PIN, HIGH);
+
+ for(int i = 0; i < strlen(code); i++) {
+ int i1 = int_0;
+ int i2 = int_1;
+ if (code[i] == '1' ) {
+ i1 = int_1;
+ i2 = int_0;
+ }
+ digitalWrite(TX_PIN, HIGH);
+ delayMicroseconds(i1);
+ digitalWrite(TX_PIN, LOW);
+ delayMicroseconds(i2);
+ }
+
+ digitalWrite(LED_PIN, LOW);
+
+ delayMicroseconds(wait); // guess
+ }
+
+}
+
+
+// DHT22
+#include "DHT.h"
+DHT dht;
+
+#include "RunningAverage.h"
+
+RunningAverage temp_avg(10);
+RunningAverage hum_avg(10);
+
+// setup
+
+void help() {
+ Serial.print("# press buttons on remote or send AB where A = socket (0..9), B = state (0 = off, 1 = on)\nB00...00 (24 digits) to send binary\n");
+}
+