![](/media/cache/img/default_profile.jpg.50x50_q85.jpg)
SPI 接続の温度センサ ADT7310 用のライブラリの使用例. Demo program of the library for temperature sensor ADT7310 connected using SPI interface.
Dependencies: UIT_ADT7310 UIT_AQM1602 mbed
main.cpp@5:8da999cd764a, 2017-10-28 (annotated)
- Committer:
- MikamiUitOpen
- Date:
- Sat Oct 28 14:52:24 2017 +0000
- Revision:
- 5:8da999cd764a
- Parent:
- 4:16a9eda5ef78
6
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
MikamiUitOpen | 0:563b65e407e1 | 1 | //-------------------------------------------------------------- |
MikamiUitOpen | 5:8da999cd764a | 2 | // ADT7310 using SPI interface |
MikamiUitOpen | 0:563b65e407e1 | 3 | // |
MikamiUitOpen | 5:8da999cd764a | 4 | // mbed revision: 154 |
MikamiUitOpen | 4:16a9eda5ef78 | 5 | // |
MikamiUitOpen | 5:8da999cd764a | 6 | // 2017/10/28, Copyright (c) 2017 MIKAMI, Naoki |
MikamiUitOpen | 0:563b65e407e1 | 7 | //-------------------------------------------------------------- |
MikamiUitOpen | 0:563b65e407e1 | 8 | |
MikamiUitOpen | 5:8da999cd764a | 9 | #pragma diag_suppress 870 // マルチバイト文字使用の警告を抑制 |
MikamiUitOpen | 5:8da999cd764a | 10 | #define ADT7310_DEBUG // デバッグの場合 |
MikamiUitOpen | 5:8da999cd764a | 11 | #define USING_AQM1602 // LCD 表示器を使う場合 |
MikamiUitOpen | 0:563b65e407e1 | 12 | |
MikamiUitOpen | 0:563b65e407e1 | 13 | #ifdef USING_AQM1602 |
MikamiUitOpen | 0:563b65e407e1 | 14 | #include "AQM1602.hpp" |
MikamiUitOpen | 0:563b65e407e1 | 15 | #endif |
MikamiUitOpen | 0:563b65e407e1 | 16 | |
MikamiUitOpen | 0:563b65e407e1 | 17 | #include "ADT7310.hpp" |
MikamiUitOpen | 0:563b65e407e1 | 18 | using namespace Mikami; |
MikamiUitOpen | 0:563b65e407e1 | 19 | |
MikamiUitOpen | 0:563b65e407e1 | 20 | #ifdef USING_AQM1602 |
MikamiUitOpen | 0:563b65e407e1 | 21 | Aqm1602 lcd_; // using default port |
MikamiUitOpen | 0:563b65e407e1 | 22 | #endif |
MikamiUitOpen | 0:563b65e407e1 | 23 | |
MikamiUitOpen | 5:8da999cd764a | 24 | // Declaration of the object for ADT7310 |
MikamiUitOpen | 0:563b65e407e1 | 25 | ADT7310 sensor1(D10); // Slave select for the sensor: D10 |
MikamiUitOpen | 0:563b65e407e1 | 26 | |
MikamiUitOpen | 0:563b65e407e1 | 27 | int main() |
MikamiUitOpen | 0:563b65e407e1 | 28 | { |
MikamiUitOpen | 5:8da999cd764a | 29 | printf("\r\nStart ADT7310\r\n"); |
MikamiUitOpen | 0:563b65e407e1 | 30 | #ifdef USING_AQM1602 |
MikamiUitOpen | 1:649b6f2b8f38 | 31 | bool on = true; |
MikamiUitOpen | 5:8da999cd764a | 32 | lcd_.WriteStringXY("ADT7310", 0, 0); |
MikamiUitOpen | 0:563b65e407e1 | 33 | #endif |
MikamiUitOpen | 5:8da999cd764a | 34 | |
MikamiUitOpen | 0:563b65e407e1 | 35 | #ifdef ADT7310_DEBUG |
MikamiUitOpen | 4:16a9eda5ef78 | 36 | // print out content of configuration registers |
MikamiUitOpen | 5:8da999cd764a | 37 | uint8_t reg = sensor1.GetConfigReg(); |
MikamiUitOpen | 5:8da999cd764a | 38 | printf("Config reg.: 0x%02x\r\n", reg); |
MikamiUitOpen | 0:563b65e407e1 | 39 | #endif |
MikamiUitOpen | 0:563b65e407e1 | 40 | |
MikamiUitOpen | 0:563b65e407e1 | 41 | while (true) |
MikamiUitOpen | 0:563b65e407e1 | 42 | { |
MikamiUitOpen | 0:563b65e407e1 | 43 | float tempr1 = sensor1.Read(); |
MikamiUitOpen | 5:8da999cd764a | 44 | printf("%5.1f [℃]\r\n", tempr1); |
MikamiUitOpen | 0:563b65e407e1 | 45 | |
MikamiUitOpen | 0:563b65e407e1 | 46 | #ifdef USING_AQM1602 |
MikamiUitOpen | 4:16a9eda5ef78 | 47 | lcd_.ClearLine(1); |
MikamiUitOpen | 5:8da999cd764a | 48 | lcd_.WriteValueXY("%5.1f \xDF""C", tempr1, 0, 1); |
MikamiUitOpen | 4:16a9eda5ef78 | 49 | |
MikamiUitOpen | 1:649b6f2b8f38 | 50 | if (on) lcd_.WriteStringXY(".", 15, 0); |
MikamiUitOpen | 1:649b6f2b8f38 | 51 | else lcd_.WriteStringXY(" ", 15, 0); |
MikamiUitOpen | 1:649b6f2b8f38 | 52 | on = !on; |
MikamiUitOpen | 0:563b65e407e1 | 53 | #endif |
MikamiUitOpen | 0:563b65e407e1 | 54 | wait(1); |
MikamiUitOpen | 0:563b65e407e1 | 55 | } |
MikamiUitOpen | 0:563b65e407e1 | 56 | } |