sr501/BH1750/mq-2/dht11

Dependencies:   mbed

Fork of sensors_2 by w mx

Committer:
xmwmx
Date:
Wed Sep 12 15:51:26 2018 +0000
Revision:
1:1197997ae0ea
Parent:
0:6dca851b4779
Child:
2:cd0ea77c7d66
???+??

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Dennis_Yu 0:6dca851b4779 1 #ifndef SENSORS_H
Dennis_Yu 0:6dca851b4779 2 #define SENSORS_H
Dennis_Yu 0:6dca851b4779 3
Dennis_Yu 0:6dca851b4779 4 #include "mbed.h"
xmwmx 1:1197997ae0ea 5 //+++++++++++++++++++++BH1750+++++++++++++++++++++++++++++
xmwmx 1:1197997ae0ea 6 #define BH1750_I2CADDR 0x46
xmwmx 1:1197997ae0ea 7 #define BH1750_POWER_DOWN 0x00 // No active state
xmwmx 1:1197997ae0ea 8 #define BH1750_POWER_ON 0x01 // Wating for measurment command
xmwmx 1:1197997ae0ea 9 #define BH1750_RESET 0x07 // Reset data register value - not accepted in POWER_DOWN mode
xmwmx 1:1197997ae0ea 10 #define BH1750_CONTINUOUS_HIGH_RES_MODE 0x10 // Start measurement at 1lx resolution. Measurement time is approx 120ms.
xmwmx 1:1197997ae0ea 11 #define BH1750_CONTINUOUS_HIGH_RES_MODE_2 0x11 // Start measurement at 0.5lx resolution. Measurement time is approx 120ms.
xmwmx 1:1197997ae0ea 12 #define BH1750_CONTINUOUS_LOW_RES_MODE 0x13 // Start measurement at 4lx resolution. Measurement time is approx 16ms.
xmwmx 1:1197997ae0ea 13
xmwmx 1:1197997ae0ea 14 // Start measurement at 1lx resolution. Measurement time is approx 120ms.
xmwmx 1:1197997ae0ea 15 // Device is automatically set to Power Down after measurement.
xmwmx 1:1197997ae0ea 16 #define BH1750_ONE_TIME_HIGH_RES_MODE 0x20
xmwmx 1:1197997ae0ea 17
xmwmx 1:1197997ae0ea 18 // Start measurement at 0.5lx resolution. Measurement time is approx 120ms.
xmwmx 1:1197997ae0ea 19 // Device is automatically set to Power Down after measurement.
xmwmx 1:1197997ae0ea 20 #define BH1750_ONE_TIME_HIGH_RES_MODE_2 0x21
xmwmx 1:1197997ae0ea 21
xmwmx 1:1197997ae0ea 22 // Start measurement at 1lx resolution. Measurement time is approx 120ms.
xmwmx 1:1197997ae0ea 23 // Device is automatically set to Power Down after measurement.
xmwmx 1:1197997ae0ea 24 #define BH1750_ONE_TIME_LOW_RES_MODE 0x23
xmwmx 1:1197997ae0ea 25 //++++++++++++++++++++++++++++++++++++++++
xmwmx 1:1197997ae0ea 26
Dennis_Yu 0:6dca851b4779 27
Dennis_Yu 0:6dca851b4779 28 class sr501
Dennis_Yu 0:6dca851b4779 29 {
Dennis_Yu 0:6dca851b4779 30 /*****
Dennis_Yu 0:6dca851b4779 31 * 红外热释电对象
Dennis_Yu 0:6dca851b4779 32 * 感应输出高电平
Dennis_Yu 0:6dca851b4779 33 *****/
Dennis_Yu 0:6dca851b4779 34 private:
Dennis_Yu 0:6dca851b4779 35 // DigitalIn signal;
Dennis_Yu 0:6dca851b4779 36 bool status;
xmwmx 1:1197997ae0ea 37 InterruptIn signal1;
xmwmx 1:1197997ae0ea 38 DigitalIn signal2;
Dennis_Yu 0:6dca851b4779 39 void triggered();
Dennis_Yu 0:6dca851b4779 40 public:
Dennis_Yu 0:6dca851b4779 41 sr501(PinName pSignal);
xmwmx 1:1197997ae0ea 42 bool operator==(const bool &target);
Dennis_Yu 0:6dca851b4779 43 void reset();
xmwmx 1:1197997ae0ea 44 int read();
Dennis_Yu 0:6dca851b4779 45 };
xmwmx 1:1197997ae0ea 46 //=========================================
xmwmx 1:1197997ae0ea 47 class BH1750
xmwmx 1:1197997ae0ea 48 {
xmwmx 1:1197997ae0ea 49
xmwmx 1:1197997ae0ea 50 /*****
Dennis_Yu 0:6dca851b4779 51
xmwmx 1:1197997ae0ea 52 *****/
xmwmx 1:1197997ae0ea 53 private:
xmwmx 1:1197997ae0ea 54 I2C link;
xmwmx 1:1197997ae0ea 55 char rawdata[2];
xmwmx 1:1197997ae0ea 56 bool status;
xmwmx 1:1197997ae0ea 57 public:
xmwmx 1:1197997ae0ea 58 BH1750(PinName sda,PinName scl);
xmwmx 1:1197997ae0ea 59 BH1750(PinName sda,PinName scl,char mode[]);
xmwmx 1:1197997ae0ea 60 float getlightdata();
xmwmx 1:1197997ae0ea 61 };
Dennis_Yu 0:6dca851b4779 62 #endif