I2C 接続の温度センサ ADT7410 用のライブラリの使用例. Demo program of the library for temperature sensor ADT7410 connected using I2C interface.
Dependencies: mbed UIT_ADT7410
main.cpp@12:9a71c11c8e92, 2020-04-02 (annotated)
- Committer:
- MikamiUitOpen
- Date:
- Thu Apr 02 02:38:48 2020 +0000
- Revision:
- 12:9a71c11c8e92
- Parent:
- 11:632e038543e3
- Child:
- 13:7f89953302c5
13
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
MikamiUitOpen | 0:4987fb36ca61 | 1 | //-------------------------------------------------------------- |
MikamiUitOpen | 0:4987fb36ca61 | 2 | // ADT7410 and LCD display using I2C interface |
MikamiUitOpen | 12:9a71c11c8e92 | 3 | // mbed revision: 172 |
MikamiUitOpen | 12:9a71c11c8e92 | 4 | // 2020/04/02, Copyright (c) 2020 MIKAMI, Naoki |
MikamiUitOpen | 0:4987fb36ca61 | 5 | //-------------------------------------------------------------- |
MikamiUitOpen | 0:4987fb36ca61 | 6 | |
MikamiUitOpen | 10:dc41d13e64cb | 7 | #pragma diag_suppress 870 // マルチバイト文字使用の警告を抑制 |
MikamiUitOpen | 0:4987fb36ca61 | 8 | #include "ADT7410.hpp" |
MikamiUitOpen | 8:8851e1dcb109 | 9 | using namespace Mikami; |
MikamiUitOpen | 0:4987fb36ca61 | 10 | |
MikamiUitOpen | 0:4987fb36ca61 | 11 | // If you want to display the temperature on AQM1602, |
MikamiUitOpen | 0:4987fb36ca61 | 12 | // enable following #define statement |
MikamiUitOpen | 3:176a92f43b5b | 13 | #define USING_AQM1602 |
MikamiUitOpen | 0:4987fb36ca61 | 14 | |
MikamiUitOpen | 0:4987fb36ca61 | 15 | #ifdef USING_AQM1602 |
MikamiUitOpen | 0:4987fb36ca61 | 16 | #include "AQM1602.hpp" |
MikamiUitOpen | 8:8851e1dcb109 | 17 | Aqm1602 lcd_; // using default I2C port |
MikamiUitOpen | 10:dc41d13e64cb | 18 | #endif // #ifdef USING_AQM1602 |
MikamiUitOpen | 0:4987fb36ca61 | 19 | |
MikamiUitOpen | 8:8851e1dcb109 | 20 | ADT7410 tempr_; // using default I2C port |
MikamiUitOpen | 0:4987fb36ca61 | 21 | |
MikamiUitOpen | 0:4987fb36ca61 | 22 | int main() |
MikamiUitOpen | 0:4987fb36ca61 | 23 | { |
MikamiUitOpen | 0:4987fb36ca61 | 24 | printf("\r\nStart ADT7410\r\n"); |
MikamiUitOpen | 0:4987fb36ca61 | 25 | #ifdef USING_AQM1602 |
MikamiUitOpen | 3:176a92f43b5b | 26 | bool on = true; |
MikamiUitOpen | 0:4987fb36ca61 | 27 | lcd_.WriteStringXY("ADT7410", 0, 0); |
MikamiUitOpen | 10:dc41d13e64cb | 28 | #endif // #ifdef USING_AQM1602 |
MikamiUitOpen | 0:4987fb36ca61 | 29 | |
MikamiUitOpen | 0:4987fb36ca61 | 30 | // Confirmation of setting |
MikamiUitOpen | 0:4987fb36ca61 | 31 | uint8_t cReg = tempr_.GetConfig(); |
MikamiUitOpen | 0:4987fb36ca61 | 32 | printf("Mode: 0x%02x\r\n", cReg); |
MikamiUitOpen | 0:4987fb36ca61 | 33 | |
MikamiUitOpen | 0:4987fb36ca61 | 34 | while (true) |
MikamiUitOpen | 0:4987fb36ca61 | 35 | { |
MikamiUitOpen | 10:dc41d13e64cb | 36 | // float value = tempr_.Read(); // Member function version |
MikamiUitOpen | 10:dc41d13e64cb | 37 | float value = tempr_; // Operator version |
MikamiUitOpen | 0:4987fb36ca61 | 38 | |
MikamiUitOpen | 0:4987fb36ca61 | 39 | #ifdef USING_AQM1602 |
MikamiUitOpen | 8:8851e1dcb109 | 40 | lcd_.WriteValueXY("%5.1f \xDF""C", value, 0, 1); |
MikamiUitOpen | 3:176a92f43b5b | 41 | if (on) lcd_.WriteStringXY(".", 15, 0); |
MikamiUitOpen | 3:176a92f43b5b | 42 | else lcd_.WriteStringXY(" ", 15, 0); |
MikamiUitOpen | 3:176a92f43b5b | 43 | on = !on; |
MikamiUitOpen | 10:dc41d13e64cb | 44 | #endif // #ifdef USING_AQM1602 |
MikamiUitOpen | 10:dc41d13e64cb | 45 | printf("%5.1f [℃]\r\n", value); |
MikamiUitOpen | 0:4987fb36ca61 | 46 | wait(1); |
MikamiUitOpen | 0:4987fb36ca61 | 47 | } |
MikamiUitOpen | 12:9a71c11c8e92 | 48 | } |