😊

Arduino,L293Dモータードライバーシールドの構成でSoftwareSerialでデバッグログ

2022/09/18に公開

背景

L293Dモータードライバーシールドには、ArduinoのAnalog PinのA0-A5とGNDのThrough Holeが存在するので、それをデバッグシリアルとして使うことができます。(USBシリアル側は、モーター制御信号として使用予定)
https://5.imimg.com/data5/PX/UK/MY-1833510/l293d-based-arduino-motor-shield.pdf

適当なAnalog PinとGNDにUSB TTL シリアル変換ケーブルを接続した上で、
RX側を入力に設定してやればOK。

実装

#include <SoftwareSerial.h>

const byte rxPin = A5;
const byte txPin = A4;

// SoftwareSerialのインスタンスを生成
SoftwareSerial DebugSerial(rxPin, txPin);
// デバッグログマクロ
#define Log(txt) DebugSerial.println(txt);

void setup() {
  // A5ピン(RX)を入力に設定
  pinMode(rxPin, INPUT);
  DebugSerial.begin(115200);
}

void loop() {
  static int count = 0;
  Log("count = " + String(count++));
}

出力

count = 23732
count = 23733
count = 23734
count = 23735
count = 23736
count = 23737
count = 23738
count = 23739
count = 23740
count = 23741

参考

Discussion