doc: improve & complete documentation on many sensors
Signed-off-by: Brendan Le Foll <brendan.le.foll@intel.com>
12
README.md
@ -25,7 +25,9 @@ may also create more complex structures in order to interface with them.
|
|||||||
|
|
||||||
Temperature Sensors:
|
Temperature Sensors:
|
||||||
* upm::MAX31723
|
* upm::MAX31723
|
||||||
|
* upm::MAX31855
|
||||||
* upm::TH02
|
* upm::TH02
|
||||||
|
* upm::GroveTemp
|
||||||
|
|
||||||
Compass/Gyro/Magnometer Sensors:
|
Compass/Gyro/Magnometer Sensors:
|
||||||
* upm::Hmc5883l
|
* upm::Hmc5883l
|
||||||
@ -34,10 +36,11 @@ Compass/Gyro/Magnometer Sensors:
|
|||||||
Atmospheric Pressure Sensors:
|
Atmospheric Pressure Sensors:
|
||||||
* upm::GY65
|
* upm::GY65
|
||||||
|
|
||||||
Proximity Sensors:
|
Light/Proximity Sensors:
|
||||||
* upm::MAXDS3231M
|
* upm::MAXDS3231M
|
||||||
* upm::MAX44000
|
* upm::MAX44000
|
||||||
* upm::HCSR04
|
* upm::HCSR04
|
||||||
|
* upm::GroveLight
|
||||||
|
|
||||||
Gas Sensors:
|
Gas Sensors:
|
||||||
* upm::MQ2
|
* upm::MQ2
|
||||||
@ -51,16 +54,21 @@ Displays:
|
|||||||
* upm::ST7735
|
* upm::ST7735
|
||||||
* upm::SSD1308
|
* upm::SSD1308
|
||||||
* upm::SSD1327
|
* upm::SSD1327
|
||||||
|
|
||||||
|
LED controllers/segment displays:
|
||||||
* upm::TM1637
|
* upm::TM1637
|
||||||
|
* upm::MY9221
|
||||||
|
|
||||||
RFID:
|
RFID:
|
||||||
* upm::SM130
|
* upm::SM130
|
||||||
|
|
||||||
Wireless Communication:
|
Wireless Communication:
|
||||||
* upm::NRF24l01
|
* upm::NRF24l01
|
||||||
|
* upm::NRF8001
|
||||||
|
|
||||||
Servo
|
Servo/motors:
|
||||||
* upm::ES08A
|
* upm::ES08A
|
||||||
|
* upm::stepmotor
|
||||||
|
|
||||||
Digital potentiometer
|
Digital potentiometer
|
||||||
* upm::MAX5487
|
* upm::MAX5487
|
||||||
|
27
TODO
Normal file
@ -0,0 +1,27 @@
|
|||||||
|
Easy:
|
||||||
|
MAX7221 - SPI 8 digit LED
|
||||||
|
- https://mbed.org/components/MAX7221/
|
||||||
|
-
|
||||||
|
SCA61T - inclinometer SPI
|
||||||
|
- https://mbed.org/components/SCA61T-Inclinometer/
|
||||||
|
DS1721 - i2c temperature/thermostat
|
||||||
|
- https://mbed.org/components/DS1721/
|
||||||
|
MPL3115A2 - i2c altimeter
|
||||||
|
- https://mbed.org/components/MPL3115A2/
|
||||||
|
- http://www.ebay.co.uk/itm/Barometric-Pressure-Altitude-Temperature-Sensor-I2C-MPL3115A2-/221499210102?pt=UK_BOI_Electrical_Test_Measurement_Equipment_ET&hash=item339261b976
|
||||||
|
TEMT6200 - Ambient light sensor
|
||||||
|
- https://mbed.org/components/TEMT6200/
|
||||||
|
CMPS03 - i2c digital compass
|
||||||
|
- https://mbed.org/components/CMPS03-Digital-Compass/
|
||||||
|
- http://www.ebay.co.uk/itm/Magnetic-Compass-CMPS03-/221437925374?pt=UK_BOI_Electrical_Test_Measurement_Equipment_ET&hash=item338eba97fe
|
||||||
|
- http://www.robot-italy.com/it/cmps03-robot-compass-module.html
|
||||||
|
|
||||||
|
Medium
|
||||||
|
E-ink sharp 1.3" LCD
|
||||||
|
- https://mbed.org/components/13-SHARP-Memory-LCD/
|
||||||
|
LCD-S401
|
||||||
|
- https://mbed.org/components/Lumex-LCD-S401/
|
||||||
|
|
||||||
|
Hard:
|
||||||
|
RA8875 - 480x272 SPI 4 wire
|
||||||
|
- https://mbed.org/components/RA8875-Based-Display/
|
BIN
docs/images/grovegas.jpeg
Normal file
After Width: | Height: | Size: 131 KiB |
BIN
docs/images/grovergblcd.jpeg
Normal file
After Width: | Height: | Size: 33 KiB |
BIN
docs/images/lcm1602.jpeg
Normal file
After Width: | Height: | Size: 41 KiB |
BIN
docs/images/lpd8806.jpeg
Normal file
After Width: | Height: | Size: 8.5 KiB |
Before Width: | Height: | Size: 24 KiB After Width: | Height: | Size: 18 KiB |
BIN
docs/images/max31855.jpeg
Normal file
After Width: | Height: | Size: 3.9 KiB |
BIN
docs/images/max44000.jpeg
Normal file
After Width: | Height: | Size: 18 KiB |
BIN
docs/images/mq9.jpeg
Normal file
After Width: | Height: | Size: 9.7 KiB |
BIN
docs/images/ssd1308.jpeg
Normal file
After Width: | Height: | Size: 19 KiB |
BIN
docs/images/ssd1327.jpeg
Normal file
After Width: | Height: | Size: 62 KiB |
@ -1,4 +1,4 @@
|
|||||||
Grove - Gas Sensor(MQ-2):Combustible Gas、Smoke [middle sensitivity]
|
Grove - Gas Sensor(MQ-2):Combustible Gas Smoke [middle sensitivity]
|
||||||
Grove - Gas Sensor(MQ-3):Alcohol and Benzine [HIGH sensitivity] Long warmup
|
Grove - Gas Sensor(MQ-3):Alcohol and Benzine [HIGH sensitivity] Long warmup
|
||||||
Grove - Gas Sensor(MQ-5):LPG, Natural Gas, Town Gas [high sensitivity]
|
Grove - Gas Sensor(MQ-5):LPG, Natural Gas, Town Gas [high sensitivity]
|
||||||
Grove - Gas Sensor(MQ-9):LPG, CO, CH4 [low sensitivity]
|
Grove - Gas Sensor(MQ-9):LPG, CO, CH4 [low sensitivity]
|
||||||
|
@ -38,7 +38,7 @@ namespace upm {
|
|||||||
/**
|
/**
|
||||||
* @brief C++ API for Gas sensors
|
* @brief C++ API for Gas sensors
|
||||||
*
|
*
|
||||||
* This file defines the Gas Analog sensors
|
* This file defines the Gas Analog sensors virtual functions
|
||||||
*/
|
*/
|
||||||
class Gas {
|
class Gas {
|
||||||
public:
|
public:
|
||||||
|
@ -31,7 +31,13 @@ namespace upm {
|
|||||||
/**
|
/**
|
||||||
* @brief C++ API for MQ2 gas sensor
|
* @brief C++ API for MQ2 gas sensor
|
||||||
*
|
*
|
||||||
|
* The Grove - Gas Sensor (MQ2) module is useful for gas leakage detecting
|
||||||
|
* (in home and industry). It can detect LPG, i-butane, methane, alcohol,
|
||||||
|
* Hydrogen, smoke and other combustible gases. It's a medium sensitivity
|
||||||
|
* sensor with a detect concentration of 300-10000ppm.
|
||||||
|
*
|
||||||
* @snippet mq2-example.cxx Interesting
|
* @snippet mq2-example.cxx Interesting
|
||||||
|
* @image html grovegas.jpeg
|
||||||
*/
|
*/
|
||||||
class MQ2 : public Gas {
|
class MQ2 : public Gas {
|
||||||
public:
|
public:
|
||||||
|
@ -31,7 +31,13 @@ namespace upm {
|
|||||||
/**
|
/**
|
||||||
* @brief C++ API for MQ3 gas sensor
|
* @brief C++ API for MQ3 gas sensor
|
||||||
*
|
*
|
||||||
|
* The Grove MQ3 Gas Sensor module is useful for gas leakage detecting (in
|
||||||
|
* home and industry). It can detect Alcohol Vapour and Benzine. It's
|
||||||
|
* highly sensitive but has a long warmup time of about 1minute. It's
|
||||||
|
* detect rate is of 0.04-4mg/L Alcohol.
|
||||||
|
*
|
||||||
* @snippet mq3-example.cxx Interesting
|
* @snippet mq3-example.cxx Interesting
|
||||||
|
* @image html grovegas.jpeg
|
||||||
*/
|
*/
|
||||||
class MQ3 : public Gas {
|
class MQ3 : public Gas {
|
||||||
public:
|
public:
|
||||||
|
@ -31,7 +31,13 @@ namespace upm {
|
|||||||
/**
|
/**
|
||||||
* @brief C++ API for MQ5 gas sensor
|
* @brief C++ API for MQ5 gas sensor
|
||||||
*
|
*
|
||||||
|
* The Grove - Gas Sensor (MQ5) module is useful for gas leakage detecting
|
||||||
|
* (in home and industry). It can detect LPG, natural gas, town gas and so
|
||||||
|
* on. It is highly sensitive and has a detection concentration of
|
||||||
|
* 300-10000ppm.
|
||||||
|
*
|
||||||
* @snippet mq5-example.cxx Interesting
|
* @snippet mq5-example.cxx Interesting
|
||||||
|
* @image html grovegas.jpeg
|
||||||
*/
|
*/
|
||||||
class MQ5 : public Gas {
|
class MQ5 : public Gas {
|
||||||
public:
|
public:
|
||||||
|
@ -31,7 +31,12 @@ namespace upm {
|
|||||||
/**
|
/**
|
||||||
* @brief C++ API for MQ9 gas sensor
|
* @brief C++ API for MQ9 gas sensor
|
||||||
*
|
*
|
||||||
|
* The Grove MQ9 Gas Sensor module is useful for gas leakage detecting (in
|
||||||
|
* home and industry). It can detect Carbon Monoxide, Coal Gas and
|
||||||
|
* Liquefied Gas. It's sensitivty is 10-1000ppmCO 100-10000PPm Gas.
|
||||||
|
*
|
||||||
* @snippet mq9-example.cxx Interesting
|
* @snippet mq9-example.cxx Interesting
|
||||||
|
* @image html mq9.jpeg
|
||||||
*/
|
*/
|
||||||
class MQ9 : public Gas {
|
class MQ9 : public Gas {
|
||||||
public:
|
public:
|
||||||
|
@ -32,7 +32,14 @@ namespace upm {
|
|||||||
* @brief C++ API for Jhd1313m1 i2c controller for HD44780 based displays with
|
* @brief C++ API for Jhd1313m1 i2c controller for HD44780 based displays with
|
||||||
* an RGB backlight such as the Grove RGB i2c LCD display
|
* an RGB backlight such as the Grove RGB i2c LCD display
|
||||||
*
|
*
|
||||||
|
* The Jhd1313m1 has two i2c addreses, one belongs to a controller very similar
|
||||||
|
* to the upm::Lcm1602 LCD driver which controls the HD44780 based display and the
|
||||||
|
* other controls solely the backlight. This module was tested with the Seed
|
||||||
|
* [Grove LCD RGB Backlight v2.0 display]
|
||||||
|
* (http://www.seeedstudio.com/depot/Grove-LCD-RGB-Backlight-p-1643.html?cPath=34_36)
|
||||||
|
*
|
||||||
* @snippet rgb-lcd.cxx Interesting
|
* @snippet rgb-lcd.cxx Interesting
|
||||||
|
* @image html grovergblcd.jpeg
|
||||||
*/
|
*/
|
||||||
class Jhd1313m1 : public I2CLcd {
|
class Jhd1313m1 : public I2CLcd {
|
||||||
public:
|
public:
|
||||||
|
@ -37,9 +37,13 @@ namespace upm {
|
|||||||
*
|
*
|
||||||
* This supports all sizes of HD44780 displays from 16x2 to 4x20, the
|
* This supports all sizes of HD44780 displays from 16x2 to 4x20, the
|
||||||
* controller has no idea of the actual display hardware so will let you write
|
* controller has no idea of the actual display hardware so will let you write
|
||||||
* further than you can see
|
* further than you can see. These displays with such controllers are available
|
||||||
|
* from various manufacturers with different i2c addresses. The adafruit
|
||||||
|
* [TC1602A-01T](https://www.adafruit.com/datasheets/TC1602A-01T.pdf) seems to
|
||||||
|
* the best documented example.
|
||||||
*
|
*
|
||||||
* @snippet lcm-lcd.cxx Interesting
|
* @snippet lcm-lcd.cxx Interesting
|
||||||
|
* @image html lcm1602.jpeg
|
||||||
*/
|
*/
|
||||||
class Lcm1602 : public I2CLcd {
|
class Lcm1602 : public I2CLcd {
|
||||||
public:
|
public:
|
||||||
|
@ -148,7 +148,15 @@ typedef enum {
|
|||||||
/**
|
/**
|
||||||
* @brief C++ API for SSD1308 i2c controlled OLED displays
|
* @brief C++ API for SSD1308 i2c controlled OLED displays
|
||||||
*
|
*
|
||||||
* @snippet lcm-lcd.cxx Interesting
|
* The [SSD1308](http://garden.seeedstudio.com/images/4/46/SSD1308_1.0.pdf) is
|
||||||
|
* a 128x64 Dot matrix OLED/PLED segment driver with controller. This
|
||||||
|
* implementation was tested using the
|
||||||
|
* [Grove LED 128×64 Display module]
|
||||||
|
* (http://www.seeedstudio.com/wiki/Grove_-_OLED_Display_0.96%22)
|
||||||
|
* which is an OLED monochrome display
|
||||||
|
*
|
||||||
|
* @snippet oled-1308.cxx Interesting
|
||||||
|
* @image html ssd1308.jpeg
|
||||||
*/
|
*/
|
||||||
class SSD1308 : public I2CLcd {
|
class SSD1308 : public I2CLcd {
|
||||||
public:
|
public:
|
||||||
|
@ -145,10 +145,23 @@ typedef enum {
|
|||||||
PAGE = 2
|
PAGE = 2
|
||||||
} displayAddressingMode;
|
} displayAddressingMode;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief C++ API for SSD1327 i2c controlled OLED displays
|
||||||
|
*
|
||||||
|
* The [SSD1327](http://garden.seeedstudio.com/images/8/82/SSD1327_datasheet.pdf)
|
||||||
|
* is a 96x96 Dot matrix OLED/PLED segment driver with controller. This
|
||||||
|
* implementation was tested using the
|
||||||
|
* [Grove LED 96×96 Display module]
|
||||||
|
* (http://www.seeedstudio.com/wiki/Grove_-_OLED_Display_1.12%22)
|
||||||
|
* which is an OLED monochrome display
|
||||||
|
*
|
||||||
|
* @snippet oled-1327.cxx Interesting
|
||||||
|
* @image html ssd1327.jpeg
|
||||||
|
*/
|
||||||
class SSD1327 : public I2CLcd {
|
class SSD1327 : public I2CLcd {
|
||||||
public:
|
public:
|
||||||
/**
|
/**
|
||||||
* SSD1308 Constructor, calls libmraa initialisation functions
|
* SSD1327 Constructor, calls libmraa initialisation functions
|
||||||
*
|
*
|
||||||
* @param bus i2c bus to use
|
* @param bus i2c bus to use
|
||||||
* @param address the slave address the lcd is registered on
|
* @param address the slave address the lcd is registered on
|
||||||
|
@ -36,8 +36,10 @@ namespace upm {
|
|||||||
/**
|
/**
|
||||||
* @brief C++ API for LPD8806
|
* @brief C++ API for LPD8806
|
||||||
*
|
*
|
||||||
* This file defines the LPD8806 C++ interface for liblpd8806
|
* The FastPixel lpd8806 is an RGB led strip controller.
|
||||||
*
|
*
|
||||||
|
* @snippet lpd8806-example.cxx Interesting
|
||||||
|
* @image html lpd8806.jpeg
|
||||||
*/
|
*/
|
||||||
class LPD8806 {
|
class LPD8806 {
|
||||||
public:
|
public:
|
||||||
|
@ -43,8 +43,8 @@ namespace upm {
|
|||||||
* module](http://datasheets.maximintegrated.com/en/ds/MAX31723PMB1.pdf) from
|
* module](http://datasheets.maximintegrated.com/en/ds/MAX31723PMB1.pdf) from
|
||||||
* the analog PMOD kit.
|
* the analog PMOD kit.
|
||||||
*
|
*
|
||||||
|
* @snippet max31723.cxx Interesting
|
||||||
* @image html max31723.jpeg
|
* @image html max31723.jpeg
|
||||||
*
|
|
||||||
*/
|
*/
|
||||||
class MAX31723 {
|
class MAX31723 {
|
||||||
public:
|
public:
|
||||||
|
@ -32,12 +32,17 @@ namespace upm {
|
|||||||
/**
|
/**
|
||||||
* @brief C++ API for MAX31855
|
* @brief C++ API for MAX31855
|
||||||
*
|
*
|
||||||
* This file defines the max31855 SPI sensor
|
* The Maxim Integrated
|
||||||
*
|
* [MAX31855](http://datasheets.maximintegrated.com/en/ds/MAX31855.pdf)
|
||||||
* @snippet examples/max31855.cxx Interesting
|
* is a Cold-Junction Compensated Thermocouple-to-Digital Converter. This
|
||||||
|
* module was * tested on the Maxim Integrated
|
||||||
|
* [MAX31855PMB1 PMOD module]
|
||||||
|
* (http://datasheets.maximintegrated.com/en/ds/MAX31855PMB1.pdf) from the
|
||||||
|
* analog PMOD kit.
|
||||||
*
|
*
|
||||||
|
* @snippet max31855.cxx Interesting
|
||||||
|
* @image html max31855.jpeg
|
||||||
*/
|
*/
|
||||||
//! [Interesting]
|
|
||||||
class MAX31855 {
|
class MAX31855 {
|
||||||
public:
|
public:
|
||||||
/**
|
/**
|
||||||
@ -64,6 +69,5 @@ class MAX31855 {
|
|||||||
mraa_spi_context m_sensor;
|
mraa_spi_context m_sensor;
|
||||||
mraa_gpio_context m_gpio;
|
mraa_gpio_context m_gpio;
|
||||||
};
|
};
|
||||||
//! [Interesting]
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -55,20 +55,16 @@ namespace upm {
|
|||||||
/**
|
/**
|
||||||
* @brief C++ API for MAX44000 chip (Ambient and Infrared Proximity Sensor)
|
* @brief C++ API for MAX44000 chip (Ambient and Infrared Proximity Sensor)
|
||||||
*
|
*
|
||||||
* This file defines the MAX44000 C++ interface for libmax44000
|
* The Maxim Integrated
|
||||||
*
|
* [MAX44000](http://datasheets.maximintegrated.com/en/ds/MAX44000.pdf)
|
||||||
* @snippet proximity.cxx Interesting
|
* is Ambient and Infrared Proximity Sensor. This module was tested on the
|
||||||
*
|
* Maxim Integrated
|
||||||
* PMOD pins for MAX44000PMB1 board
|
* [MAX44000PMB1 PMOD module]
|
||||||
*
|
* (http://datasheets.maximintegrated.com/en/ds/MAX44000PMB1.pdf) from the
|
||||||
* ( -= J1 =- )
|
* analog PMOD kit.
|
||||||
* (1) - NUL
|
|
||||||
* (2) - IRQ
|
|
||||||
* (3) - SCL
|
|
||||||
* (4) - SDA
|
|
||||||
* (5) - GND
|
|
||||||
* (6) - VCC
|
|
||||||
*
|
*
|
||||||
|
* @snippet max44000.cxx Interesting
|
||||||
|
* @image html max44000.jpeg
|
||||||
*/
|
*/
|
||||||
class MAX44000 {
|
class MAX44000 {
|
||||||
public:
|
public:
|
||||||
|
@ -44,7 +44,6 @@ namespace upm {
|
|||||||
* @brief C++ API for SM130 RFID reader module
|
* @brief C++ API for SM130 RFID reader module
|
||||||
*
|
*
|
||||||
* This file defines the SM130 C++ interface for libsm130
|
* This file defines the SM130 C++ interface for libsm130
|
||||||
*
|
|
||||||
*/
|
*/
|
||||||
class SM130 {
|
class SM130 {
|
||||||
|
|
||||||
|