Udated configuration and light sensor

This commit is contained in:
Ziver Koc 2016-07-08 22:14:23 +02:00
parent 1dfaf781d2
commit 795893ea2e
8 changed files with 23 additions and 20 deletions

View file

@ -3,26 +3,27 @@
//#define ENABLE_DEBUG // comment out to disable debug
#define TIMER_MILLISECOND 60*1000 // poling in minutes
#define INDICATOR_PIN 13 // diode
#define TIMER_MILLISECOND 60000 // poling in minutes
#define INDICATOR_PIN 13 // diode
#define DEVICE_BASE_ID 20
// POWER CONSUMPTION SENSOR
//#define POWERCON_ENABLED // comment out to disable sensor
#define POWERCON_SENSOR SensorPhotocell()
#define POWERCON_PROTOCOL ProtocolOregon(11, 186)
#define POWERCON_PROTOCOL ProtocolOregon(11, DEVICE_BASE_ID + 1)
#define POWER_TIMER_MULTIPLIER 1
// TEMPERATURE SENSOR
#define TEMPERATURE_ENABLED // comment out to disable sensor
#define TEMPERATURE_SENSOR SensorDHT(DHT22, 10)
#define TEMPERATURE_PROTOCOL ProtocolOregon(11, 100)
#define TEMPERATURE_SENSOR SensorDHT(DHT11, 10)
#define TEMPERATURE_PROTOCOL ProtocolOregon(11, DEVICE_BASE_ID + 2)
#define TEMPERATURE_TIMER_MULTIPLIER 10
// LIGHT SENSOR
//#define LIGHT_ENABLED // comment out to disable sensor
#define LIGHT_SENSOR SensorDH1750()
#define LIGHT_PROTOCOL ?
#define LIGHT_ENABLED // comment out to disable sensor
#define LIGHT_SENSOR SensorBH1750()
#define LIGHT_PROTOCOL ProtocolOregon(11, DEVICE_BASE_ID + 3)
#define LIGHT_TIMER_MULTIPLIER 10

View file

@ -109,7 +109,7 @@ void loop()
{
static LightData lightData;
lightSensor->read(lightData);
DEBUG("Read LIGHT_SENSOR= lumen:%d", lightData.lumen);
DEBUGF("Read LIGHT_SENSOR= lumen:%d", lightData.lumen);
lightProtocol->send(lightData);
}
#endif

View file

@ -1,5 +1,4 @@
#include "Interrupt.h"
#include <Arduino.h>
#include <avr/power.h>
#include <avr/sleep.h>
#include <avr/wdt.h>
@ -107,7 +106,7 @@ ISR(WDT_vect)
Interrupt::handleWatchDogInterrupt();
}
void Interrupt::setupWatchDogInterrupt(uint16_t milliseconds)
void Interrupt::setupWatchDogInterrupt(int32_t milliseconds)
{
wdtTimeLeft = wdtTime = milliseconds;
setupWatchDogInterrupt();

View file

@ -1,6 +1,7 @@
#ifndef INTERRUPT_H
#define INTERRUPT_H
#include <Arduino.h>
typedef void (*InterruptFunction) ();
@ -10,7 +11,7 @@ public:
static void wakeUp() { wakeUpNow = true; };
static void sleep();
static void setupPinInterrupt(int pin);
static void setupWatchDogInterrupt(unsigned int milliseconds);
static void setupWatchDogInterrupt(int32_t milliseconds);
//static void setupTimerInterrupt(unsigned int milliseconds);
static void setPinCallback(InterruptFunction callback){ Interrupt::pinCallback = callback;}

View file

@ -23,6 +23,13 @@ void ProtocolOregon::send(const TemperatureData& data)
send(data.temperature, data.humidity);
}
void ProtocolOregon::send(const LightData& data)
{
send(data.lumen, 0);
}
void ProtocolOregon::send(float temperature, short humidity)
{
byte buffer[9];

View file

@ -5,7 +5,7 @@
#include "HalInterfaces.h"
class ProtocolOregon : public ProtocolTemperature, public ProtocolPowerConsumption
class ProtocolOregon : public ProtocolTemperature, public ProtocolPowerConsumption, public ProtocolLight
{
public:
ProtocolOregon(short pin, unsigned char address) : txPin(pin), address(address){};
@ -13,6 +13,7 @@ public:
virtual void setup();
virtual void send(const TemperatureData& data);
virtual void send(const PowerData& data);
virtual void send(const LightData& data);
private:
short txPin;

View file

@ -76,11 +76,6 @@ void SensorBH1750::configure(uint8_t mode) {
}
}
void SensorBH1750::read(PowerData& data)
{
data.consumption = pulses;
pulses = 0;
}
void SensorBH1750::read(LightData& data) {
uint16_t level;

View file

@ -5,10 +5,9 @@
#include "HalInterfaces.h"
class SensorBH1750 : public SensorPowerConsumption, public SensorLight{
class SensorBH1750 : public SensorLight{
public:
virtual void setup();
virtual void read(PowerData& data);
virtual void read(LightData& data);
private: