I2C 接続の LCD AQM1602XA-RN-GBW 用のライブラリの使用例. Demo program of library for LCD 1602XA-RN-GBW connected using I2C interface.

Dependencies:   mbed UIT_AQM1602

Committer:
MikamiUitOpen
Date:
Thu Jan 14 05:57:02 2016 +0000
Revision:
4:291e82d910d0
Parent:
3:fe2f8abf2120
Child:
5:d63f1c2d8027
5

Who changed what in which revision?

UserRevisionLine numberNew contents of line
MikamiUitOpen 0:e1b05c7eb023 1 //------------------------------------------------------------
MikamiUitOpen 0:e1b05c7eb023 2 // Test program for LCD AQM1602XA-RN-GBW using I2C interface
MikamiUitOpen 0:e1b05c7eb023 3 // Pullup resistors for SDA and SCL: 10 kΩ
MikamiUitOpen 4:291e82d910d0 4 // 2016/01/14, Copyright (c) 2015 MIKAMI, Naoki
MikamiUitOpen 0:e1b05c7eb023 5 //------------------------------------------------------------
MikamiUitOpen 0:e1b05c7eb023 6
MikamiUitOpen 0:e1b05c7eb023 7 #include "AQM1602.hpp"
MikamiUitOpen 1:6c838e71e330 8
MikamiUitOpen 0:e1b05c7eb023 9 using namespace Mikami;
MikamiUitOpen 0:e1b05c7eb023 10
MikamiUitOpen 4:291e82d910d0 11 Aqm1602 lcd_; // Default, OK
MikamiUitOpen 4:291e82d910d0 12 //Aqm1602 lcd_(D14, D15); // OK
MikamiUitOpen 4:291e82d910d0 13 //Aqm1602 lcd_(D14, D15, 200000); // OK
MikamiUitOpen 4:291e82d910d0 14 //Aqm1602 lcd_(D14, D15, 200000, true, true); // OK
MikamiUitOpen 4:291e82d910d0 15 //Aqm1602 lcd_(PB_3, PB_10); // OK
MikamiUitOpen 4:291e82d910d0 16 //Aqm1602 lcd_(PC_9, PA_8); // OK
MikamiUitOpen 4:291e82d910d0 17 //Aqm1602 lcd_(PB_4, PA_8); // OK
MikamiUitOpen 4:291e82d910d0 18 //I2C i2cObj_(D14, D15);
MikamiUitOpen 4:291e82d910d0 19 //Aqm1602 lcd_(i2cObj_); // OK
MikamiUitOpen 4:291e82d910d0 20
MikamiUitOpen 4:291e82d910d0 21 // Following: for LPC1114
MikamiUitOpen 4:291e82d910d0 22 //Aqm1602 lcd_(dp5, dp27); // OK
MikamiUitOpen 4:291e82d910d0 23 //I2C i2cObj_(dp5, dp27);
MikamiUitOpen 4:291e82d910d0 24 //Aqm1602 lcd_(i2cObj_); // OK
MikamiUitOpen 4:291e82d910d0 25
MikamiUitOpen 4:291e82d910d0 26 // Following: for LPC1768
MikamiUitOpen 4:291e82d910d0 27 //Aqm1602 lcd_(p9, p10); // OK
MikamiUitOpen 0:e1b05c7eb023 28
MikamiUitOpen 0:e1b05c7eb023 29 Ticker timer_;
MikamiUitOpen 4:291e82d910d0 30 #if defined(STM32F4) || defined(STM32L0) || defined(__STM32F3xx_H)
MikamiUitOpen 0:e1b05c7eb023 31 DigitalIn uButton_(USER_BUTTON);
MikamiUitOpen 4:291e82d910d0 32 #endif
MikamiUitOpen 0:e1b05c7eb023 33
MikamiUitOpen 0:e1b05c7eb023 34 // Display 0, 1, 2, .....
MikamiUitOpen 0:e1b05c7eb023 35 void TimerIsr()
MikamiUitOpen 0:e1b05c7eb023 36 {
MikamiUitOpen 0:e1b05c7eb023 37 static int k = 0;
MikamiUitOpen 0:e1b05c7eb023 38 char str[10];
MikamiUitOpen 0:e1b05c7eb023 39 sprintf(str, "%d", k++);
MikamiUitOpen 0:e1b05c7eb023 40 lcd_.WriteStringXY(str, 0, 1);
MikamiUitOpen 0:e1b05c7eb023 41 }
MikamiUitOpen 0:e1b05c7eb023 42
MikamiUitOpen 0:e1b05c7eb023 43 void WaitButton()
MikamiUitOpen 0:e1b05c7eb023 44 {
MikamiUitOpen 1:6c838e71e330 45 lcd_.WriteStringXY("Push blue button", 0, 1);
MikamiUitOpen 4:291e82d910d0 46 #if defined(STM32F4) || defined(STM32L0) || defined(__STM32F3xx_H)
MikamiUitOpen 0:e1b05c7eb023 47 while (uButton_ == 1) {}
MikamiUitOpen 4:291e82d910d0 48 #else
MikamiUitOpen 4:291e82d910d0 49 wait(2);
MikamiUitOpen 4:291e82d910d0 50 #endif
MikamiUitOpen 1:6c838e71e330 51 lcd_.ClearLine(1);
MikamiUitOpen 1:6c838e71e330 52 wait(0.5);
MikamiUitOpen 0:e1b05c7eb023 53 }
MikamiUitOpen 0:e1b05c7eb023 54
MikamiUitOpen 0:e1b05c7eb023 55 int main()
MikamiUitOpen 0:e1b05c7eb023 56 {
MikamiUitOpen 2:6e609a28fa80 57 if (lcd_.IsConnected()) printf("\r\nConnected");
MikamiUitOpen 2:6e609a28fa80 58 else printf("\r\nDisconnected");
MikamiUitOpen 3:fe2f8abf2120 59
MikamiUitOpen 0:e1b05c7eb023 60 lcd_.Clear();
MikamiUitOpen 0:e1b05c7eb023 61 lcd_.WriteString("Hello!");
MikamiUitOpen 0:e1b05c7eb023 62 WaitButton(); // Waiting, push blue user button
MikamiUitOpen 0:e1b05c7eb023 63 lcd_.WriteStringXY("0123456789ABCDEF", 0, 0);
MikamiUitOpen 0:e1b05c7eb023 64 WaitButton(); // Waiting, push blue user button
MikamiUitOpen 0:e1b05c7eb023 65 lcd_.ClearLine(0);
MikamiUitOpen 0:e1b05c7eb023 66 WaitButton(); // Waiting, push blue user button
MikamiUitOpen 1:6c838e71e330 67 string str = "AQM1602";
MikamiUitOpen 1:6c838e71e330 68 lcd_.WriteStringXY(str+"XA-RN-GBW", 0, 0);
MikamiUitOpen 0:e1b05c7eb023 69 TimerIsr();
MikamiUitOpen 0:e1b05c7eb023 70 timer_.attach(&TimerIsr, 1);
MikamiUitOpen 0:e1b05c7eb023 71
MikamiUitOpen 0:e1b05c7eb023 72 while (true) {}
MikamiUitOpen 0:e1b05c7eb023 73 }