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;
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
}
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 );
void flash_led(int times)
{
- flash_led_time_=314*times;
+ flash_led_time_ += 314*times;
}
//********************************************************************//
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();
//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;
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--;
{
pb_postth_state=1;
Serial.println("PanicButton");
- flash_led(7);
+ flash_led(4);
}
else if (!pb_state)
pb_postth_state=0;
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");
}