信太朗 羽入田 / Mbed 2 deprecated TextLCD_FULL

Dependencies:   mbed

main.cpp

Committer:
tontoko
Date:
2019-06-22
Revision:
4:0f29c512e03d
Parent:
3:d4b979f6f27e

File content as of revision 4:0f29c512e03d:

#include "mbed.h"
#include "TextLCD.h"

#define LED_TIME  0.2

DigitalOut myled(P0_22);
Serial pc(USBTX, USBRX);

// TextLCDの使用宣言
TextLCD lcd(p15,p16,p17,p18,p19,p20);  //接続ポートの設定(rs,e,d4,d5,d6,d7)

int main()
{
    //各種設定を初期値に。画面も消去。カーソル位置(0,0)   
    lcd.init(); 
    
    //  単純な文字列表示
    lcd.printf("RoBoCon 2019!");
    
    wait(1);

    // カーソル位置を(0,1)に指定
    lcd.locate(0,1);
    lcd.printf("Run Run Laundry");
    wait(5);
    //表示内容はそのままで、カーソル位置を0,0に。画面のシフトも初期位置に
    lcd.home();
    wait(0.5);

    lcd.noDisplay(); //ディスプレイ表示OFF
    
    wait(0.5);

    lcd.display();  //ディスプレイ表示ON
    
    wait(0.5);

    lcd.noDisplay(); //ディスプレイ表示OFF
    
    wait(0.5);

    lcd.display(); //ディスプレイ表示ON
    
    wait(0.5);

    lcd.cursor();   //カーソル表示ON
    
    lcd.blink();    //カーソルブリンクON
    
    wait(5);
    
    lcd.noBlink();    //カーソルブリンクOFF
    
    lcd.noCursor();   //カーソル表示OFF


    //表示内容はそのままで、画面を左にシフト 4回
    for (int i = 0; i < 4; i++) {
        lcd.shiftDisplayLeft();
        wait(1);
        }
    //表示内容はそのままで、画面を右にシフト 4回
    for (int i = 0; i< 4; i++) {
        lcd.shiftDisplayRight();
        wait(1);
        }

    lcd.cls(); //画面消去、カーソルは(0,0)へ
    
    //カーソル位置を10,0へ
    lcd.locate(10,0);
    
    //表示位置をカーソルから右方向へ設定(デフォルト)
    lcd.leftToRight();
    lcd.printf("5678");
    wait(1);

    //カーソル位置を4,0へ
    lcd.locate(4,0);
    
    //表示位置をカーソル位置から左方向へ設定
    lcd.rightToLeft();
    lcd.printf("1234");      //画面上では "4321"とカーソル位置から左方向に表示される
    wait(1);
    
    //表示位置をカーソルから右方向へ設定(デフォルト
    lcd.leftToRight();

    lcd.cls();
    lcd.home();
    wait(1);
    
    //オートスクロール カーソル位置に文字を表示する度に、設定した方向に画面をシフト
    lcd.AutoScroll();
    lcd.locate(8,0);
    lcd.printf("1");  //わかりやすく1文字ずつ描画
    wait(1);
    lcd.printf("2");
    wait(1);
    lcd.printf("3");
    wait(1);
    lcd.printf("4");
    wait(1);

   
    lcd.init();

    // 表示する最大桁数を設定  1 〜 40(画面は16文字まで。DDRAMは最大40文字×2行)
    lcd.set_max_cols(12);  //12文字で折返しになる設定
    lcd.locate(4,0);
    lcd.rightToLeft();
    lcd.printf("1234567890123456789012");
    wait(5);
    
    lcd.init();

    // CGRAM(外字)の設定 bitを設定した配列を用意
    char bell[8]  = {0x4,0xe,0xe,0xe,0x1f,0x0,0x4};
    char note[8]  = {0x2,0x3,0x2,0xe,0x1e,0xc,0x0};
    char clock[8] = {0x0,0xe,0x15,0x17,0x11,0xe,0x0};
    char heart[8] = {0x0,0xa,0x1f,0x1f,0xe,0x4,0x0};
    char duck[8]  = {0x0,0xc,0x1d,0xf,0xf,0x6,0x0};
    char check[8] = {0x0,0x1,0x3,0x16,0x1c,0x8,0x0};
    char cross[8] = {0x0,0x1b,0xe,0x4,0xe,0x1b,0x0};
    char retarrow[8] = {0x1,0x1,0x5,0x9,0x1f,0x8,0x4};
    
    //CGRAMに格納  0番〜7番までの8文字
    lcd.createChar(0, bell);
    lcd.createChar(1, note);
    lcd.createChar(2, clock);
    lcd.createChar(3, heart);
    lcd.createChar(4, duck);
    lcd.createChar(5, check);
    lcd.createChar(6, cross);
    lcd.createChar(7, retarrow);

    lcd.home();
    
    //設定した外字を表示
    for (int j=0; j<8; j++) {
      lcd.putc(j);
    }
    wait(5);
    
    lcd.locate(0,0);
    
    lcd.set_max_cols(16);
    

    lcd.kana_print("カタカナ モ ヒョウジデキル");

    lcd.kana_print("サシスセソ");
    lcd.kana_print("タチツテト");
    lcd.kana_print("ナニヌネノ");
/*    for (int i = 0; i < 15;i++) {
        lcd.printf("%x",s[i]);
    }
  */  
   while(1) {
    
    
    lcd.set_max_cols(16);
    lcd.cls();
    
    for (int x = 0;x < 99 ;x++) {
        lcd.locate(0,0);
        lcd.printf("count = %02d\n",x);
        wait(0.5);
        }

    }
}