SPI 接続の温度センサ ADT7310 用のライブラリの使用例. Demo program of the library for temperature sensor ADT7310 connected using SPI interface.

Dependencies:   UIT_ADT7310 UIT_AQM1602 mbed

Committer:
MikamiUitOpen
Date:
Sat Oct 28 14:52:24 2017 +0000
Revision:
5:8da999cd764a
Parent:
4:16a9eda5ef78
6

Who changed what in which revision?

UserRevisionLine numberNew 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 }