diff --git a/SampleSrc/serial03.ino b/SampleSrc/serial03.ino new file mode 100644 index 0000000..f4cb992 --- /dev/null +++ b/SampleSrc/serial03.ino @@ -0,0 +1,46 @@ +// シリアル入力サンプル src/serial03.ino + +// 使い方 +// 1.このスケッチ(serial03.ino)をM5StickC Plusに書き込む("./Upload.sh serial03.ino"などを実行) +// 2.Visual Studio Code(以下VSCode)を起動し、M5StickC PlusをPCに接続する +// 3.VSCodeの右下のusbserialをクリックしてシリアルポートを設定する(Windowsなら"COM3"など Macなら"/dev/tty.usbserial-XXXXXXXXXX"など) +// 4.シリアルモニタを起動する(VSCodeの右下コンセント🔌マークを押す) +// 5.キーボードのF1キーを押して"Arduino: Send Text to Serial Port"を選択(キーボードで"Arduino"と入力すると絞り込める) +// 6.送りたい文字を入力してEnterキーを押す +// 7.入力した文字がLCD画面とシリアルモニタに表示されれば成功 + +#include + +int line = 0; // LCD画面から文字が見切れないように文字数が一定以上になったら画面を初期化する処理に使用 +String text; // PCから送られてきたシリアル入力を格納する + +void setup() +{ + M5.begin(); // M5StickCPlusの初期化処理 + M5.Lcd.setRotation(3); // Aボタンが左側になる向きで画面を使用するよう設定 + M5.Lcd.fillScreen(BLACK); // 画面を黒く塗りつぶす + M5.Lcd.setCursor(0, 0, 2); // 左から0,上から0ピクセルの位置にフォントサイズ2の文字を出力するよう設定 + M5.Lcd.println("Serial Input Test"); + M5.Lcd.println("--------------------------------------"); + Serial.begin(115200); // シリアル通信を開始する +} + +void loop() +{ + if(Serial.available()) // シリアルが使用可能なら + { + text = Serial.readString(); // PCから送られてきたシリアル入力を text に格納する + if (line >= 5) // LCD画面から文字が見切れないように文字数が一定以上になったら画面を初期化する + { + M5.Lcd.fillScreen(BLACK); + M5.Lcd.setCursor(0, 0, 2); + M5.Lcd.println("Serial Input Test"); + M5.Lcd.println("--------------------------------------"); + line = 0; + } + M5.Lcd.print("From PC : " + text + "\0"); // \0(ヌル文字)を文字列の最後につけて終端処理をする + Serial.print("Recieved : " + text + "\0"); //送られてきた文字をPCのシリアルモニタにも出力 + line++; + } + delay(1); // delayをloop内につけることで負荷の軽減を図る +}