Arduino
serial

arduinoでターミナル その2

概要

arduinoでターミナルやってみる。
20字4行のLCDとps/2キーボードをつないで、シリアル端末を作ってみる。

写真

CIMG2526.JPG

読み込んだデータをLCD表示するサンプルコード

#include "Lcd4567.h"
#include "ps2.h"

Lcd4567 lcd;
PS2 kbd(7, 6);

String buf0 = "start";
String buf1 = "";
String buf2 = "";
String buf3 = "";

void disp()
{
    int len;
    char c0[30];
    char c1[30];
    char c2[30];
    char c3[30];
    lcd.clear();
    lcd.setCursor(0, 0);
    len = buf0.length();
    if (len > 0)
    {
        buf0.toCharArray(c0, len + 1);
        lcd.print(c0);
    }
    lcd.setCursor(0, 1);
    len = buf1.length();
    if (len > 0)
    {
        buf1.toCharArray(c1, len + 1);
        lcd.print(c1);
    }
    lcd.setCursor(0, 2);
    len = buf2.length();
    if (len > 0)
    {
        buf2.toCharArray(c2, len + 1);
        lcd.print(c2);
    }
    lcd.setCursor(0, 3);
    len = buf3.length();
    if (len > 0)
    {
        buf3.toCharArray(c3, len + 1);
        lcd.print(c3);
    }
}

void setup()
{
    Serial.begin(115200);
    lcd.begin(20, 4);
    Serial.println("start0");
    disp();
}
void loop()
{
    if (Serial.available() > 0)
    {
        String str = Serial.readStringUntil('\r');
        buf0 = buf1;
        buf1 = buf2;
        buf2 = buf3;
        buf3 = str;
        disp();
        Serial.println(str);
    }
}




以上。