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:
Sun Nov 15 11:40:12 2015 +0000
Revision:
3:fe2f8abf2120
Parent:
2:6e609a28fa80
Child:
4:291e82d910d0
4

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 3:fe2f8abf2120 4 // 2015/11/15, 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 0:e1b05c7eb023 11 Aqm1602 lcd_; // Default, OK
MikamiUitOpen 0:e1b05c7eb023 12 //Aqm1602 lcd_(D14, D15); // OK
MikamiUitOpen 0:e1b05c7eb023 13 //Aqm1602 lcd_(D14, D15, 200000); // OK
MikamiUitOpen 0:e1b05c7eb023 14 //Aqm1602 lcd_(D14, D15, 200000, true, true); // OK
MikamiUitOpen 0:e1b05c7eb023 15 //Aqm1602 lcd_(PB_3, PB_10); // OK
MikamiUitOpen 0:e1b05c7eb023 16 //Aqm1602 lcd_(PC_9, PA_8); // OK
MikamiUitOpen 0:e1b05c7eb023 17 //Aqm1602 lcd_(PB_4, PA_8); // OK
MikamiUitOpen 0:e1b05c7eb023 18
MikamiUitOpen 0:e1b05c7eb023 19 Ticker timer_;
MikamiUitOpen 0:e1b05c7eb023 20 DigitalIn uButton_(USER_BUTTON);
MikamiUitOpen 0:e1b05c7eb023 21
MikamiUitOpen 0:e1b05c7eb023 22 // Display 0, 1, 2, .....
MikamiUitOpen 0:e1b05c7eb023 23 void TimerIsr()
MikamiUitOpen 0:e1b05c7eb023 24 {
MikamiUitOpen 0:e1b05c7eb023 25 static int k = 0;
MikamiUitOpen 0:e1b05c7eb023 26 char str[10];
MikamiUitOpen 0:e1b05c7eb023 27 sprintf(str, "%d", k++);
MikamiUitOpen 0:e1b05c7eb023 28 lcd_.WriteStringXY(str, 0, 1);
MikamiUitOpen 0:e1b05c7eb023 29 }
MikamiUitOpen 0:e1b05c7eb023 30
MikamiUitOpen 0:e1b05c7eb023 31 void WaitButton()
MikamiUitOpen 0:e1b05c7eb023 32 {
MikamiUitOpen 1:6c838e71e330 33 lcd_.WriteStringXY("Push blue button", 0, 1);
MikamiUitOpen 0:e1b05c7eb023 34 while (uButton_ == 1) {}
MikamiUitOpen 1:6c838e71e330 35 lcd_.ClearLine(1);
MikamiUitOpen 1:6c838e71e330 36 wait(0.5);
MikamiUitOpen 0:e1b05c7eb023 37 }
MikamiUitOpen 0:e1b05c7eb023 38
MikamiUitOpen 0:e1b05c7eb023 39 int main()
MikamiUitOpen 0:e1b05c7eb023 40 {
MikamiUitOpen 2:6e609a28fa80 41 if (lcd_.IsConnected()) printf("\r\nConnected");
MikamiUitOpen 2:6e609a28fa80 42 else printf("\r\nDisconnected");
MikamiUitOpen 3:fe2f8abf2120 43
MikamiUitOpen 0:e1b05c7eb023 44 lcd_.Clear();
MikamiUitOpen 0:e1b05c7eb023 45 lcd_.WriteString("Hello!");
MikamiUitOpen 0:e1b05c7eb023 46 WaitButton(); // Waiting, push blue user button
MikamiUitOpen 0:e1b05c7eb023 47 lcd_.WriteStringXY("0123456789ABCDEF", 0, 0);
MikamiUitOpen 0:e1b05c7eb023 48 WaitButton(); // Waiting, push blue user button
MikamiUitOpen 0:e1b05c7eb023 49 lcd_.ClearLine(0);
MikamiUitOpen 0:e1b05c7eb023 50 WaitButton(); // Waiting, push blue user button
MikamiUitOpen 1:6c838e71e330 51 string str = "AQM1602";
MikamiUitOpen 1:6c838e71e330 52 lcd_.WriteStringXY(str+"XA-RN-GBW", 0, 0);
MikamiUitOpen 0:e1b05c7eb023 53 TimerIsr();
MikamiUitOpen 0:e1b05c7eb023 54 timer_.attach(&TimerIsr, 1);
MikamiUitOpen 0:e1b05c7eb023 55
MikamiUitOpen 0:e1b05c7eb023 56 while (true) {}
MikamiUitOpen 0:e1b05c7eb023 57 }
MikamiUitOpen 3:fe2f8abf2120 58