X-Git-Url: https://git.realraum.at/?a=blobdiff_plain;f=rf433ctl%2Frf433ctl.pde;h=c37778c56a798e2d785376436655c94d3028d995;hb=1931337bc1b3812d25c0ff95cd02ea19b9239324;hp=6f5ae7d67bd2400707937bae1328d6c549ad6327;hpb=61b441cbb78836befd0fbcad80f02893ebb2db0b;p=svn42.git diff --git a/rf433ctl/rf433ctl.pde b/rf433ctl/rf433ctl.pde index 6f5ae7d..c37778c 100644 --- a/rf433ctl/rf433ctl.pde +++ b/rf433ctl/rf433ctl.pde @@ -22,6 +22,7 @@ OneWire onewire(ONE_WIRE_PIN); DallasTemperature dallas_sensors(&onewire); DeviceAddress onShieldTemp = { 0x10, 0xE7, 0x77, 0xD3, 0x01, 0x08, 0x00, 0x3F }; +#define TEMPC_OFFSET_ARDUINO_GENEREATED_HEAT -4.0 typedef struct { byte offset; @@ -204,7 +205,7 @@ void printTemperature(DeviceAddress deviceAddress) dallas_sensors.requestTemperatures(); float tempC = dallas_sensors.getTempC(deviceAddress); Serial.print("Temp C: "); - Serial.println(tempC); + Serial.println(tempC TEMPC_OFFSET_ARDUINO_GENEREATED_HEAT); //Serial.print(" Temp F: "); //Serial.println(DallasTemperature::toFahrenheit(tempC)); // Converts tempC to Fahrenheit } @@ -226,7 +227,7 @@ void updateLightLevel(unsigned int pin) return; unsigned int diff = abs(value - light_level_mean_); - if (diff > 250) + if (light_level_mean_ < 6 || diff > 250) light_level_mean_ = value; else light_level_mean_=(unsigned int) ( ((float) light_level_mean_) * 0.98 + ((float)value)*0.02 ); @@ -288,6 +289,8 @@ void setup() pinMode(PANIC_BUTTON_PIN, INPUT); // set pin to input digitalWrite(PANIC_BUTTON_PIN, HIGH); // turn on pullup resistors analogWrite(BLUELED_PWM_PIN,0); + + Serial.begin(9600); onewire.reset(); onewire.reset_search(); @@ -295,9 +298,7 @@ void setup() //in case we change temp sensor: if (!dallas_sensors.getAddress(onShieldTemp, 0)) Serial.println("Error: Unable to find address for Device 0"); - dallas_sensors.setResolution(onShieldTemp, 9); - - Serial.begin(9600); + dallas_sensors.setResolution(onShieldTemp, 9); } unsigned int ir_time=IR_SAMPLE_DURATION; @@ -307,6 +308,13 @@ boolean pb_state=0; boolean pb_postth_state=0; unsigned int pb_time=0; +void sensorEchoCommand(char command) +{ + Serial.print("Sensor "); + Serial.print(command); + Serial.print(": "); +} + void loop() { ir_time--; @@ -333,7 +341,7 @@ void loop() { pb_postth_state=1; Serial.println("PanicButton"); - flash_led(7); + flash_led(4); } else if (!pb_state) pb_postth_state=0; @@ -386,10 +394,15 @@ void loop() else if(command == 'h') send_frame(words[D2_OFF]); else if(command == 'T') + { + sensorEchoCommand(command); printTemperature(onShieldTemp); + } else if(command == 'P') + { + sensorEchoCommand(command); printLightLevel(); - + } else Serial.println("Error: unknown command"); }