戻る

Pico Serial Echo: VelxioでRP2040のUARTをテストする

はじめに

Velxioチュートリアルへようこそ!今日は、Raspberry Pi Pico(RP2040)向けのシリアルエコーテストを構築します。このプロジェクトは、マイクロコントローラでのシリアル通信の仕組みを理解したい初心者に最適です。UARTを介したデータの送受信、LEDを使った視覚的なインジケーターの追加、そしてシンプルなハートビートタイマーの実装方法を学べます。

Velxioシミュレーターキャンバス上のpico-serial-echoの回路図

回路の解説

この回路は驚くほどシンプルです。必要な部品はたった2つだけです:

配線

  1. 黄色LEDのアノード(A)をPicoのTXピンに接続します。TXピンはシリアル送信に使用されるため、Picoがデータを送信するたびにLEDが点滅します。
  2. LEDのカソード(C)GND(Picoの任意のグランドピン)に接続します。

これで完了です!LEDはTXラインに直列に配線されているため、Picoが送信するときに点灯します。これにより、シリアルデータが流れていることを視覚的に確認できます。

コンパイルと実行のコントロールがあるVelxioエディターツールバー

コードの解説

コードを見ていきましょう。Velxioエディターを開くと、以下のスケッチが表示されます:

// Raspberry Pi Pico — Serial Echo Test
// Echoes received characters and prints a heartbeat every 2 seconds

void setup() {
  Serial.begin(115200);
  delay(500);
  Serial.println("=== Pico Serial Echo ===");
  Serial.println("Type something and press Enter.");
  Serial.println();
}

unsigned long lastHeartbeat = 0;

void loop() {
  // Echo any incoming characters
  while (Serial.available()) {
    char c = Serial.read();
    Serial.print("Echo: ");
    Serial.println(c);
  }

  // Heartbeat every 2 seconds
  if (millis() - lastHeartbeat >= 2000) {
    lastHeartbeat = millis();
    Serial.print("[Heartbeat] Uptime: ");
    Serial.print(millis() / 1000);
    Serial.println("s");
  }
}

動作の仕組み

lastHeartbeat変数は、millis()を使用してノンブロッキングなタイミングで、最後にハートビートが出力された時刻を追跡します。

主要な概念

シリアル通信(UART)

UART(Universal Asynchronous Receiver/Transmitter)はシンプルなシリアルプロトコルです。PicoのTXピンはデータを送信し、RXピンはデータを受信します。この例では出力にTXのみを使用していますが、エコー機能は(シリアルモニターを介して)RXも使用します。

millis()を使ったノンブロッキングタイミング

プログラム全体を停止させるdelay()の代わりに、millis()を使用して経過時間をチェックします。これにより、エコーループを継続的に実行しながら、定期的にハートビートを出力できます。

視覚的インジケーターとしてのLED

LEDをTXピンに接続することで、シリアルアクティビティをリアルタイムで視覚化できます。Picoが文字を送信するたびに、LEDが短く点滅します。

よくある落とし穴とデバッグのヒント

シミュレーションビューポートの上にあるVelxioキャンバスツールバー

推奨される拡張機能

基本的なエコーが動作したら、以下の拡張に挑戦してみてください:

  1. RX LEDの追加:もう1つのLEDをRXピンに接続し、データ受信時に点灯させます。
  2. コマンド解析:単にエコーするだけでなく、「LED ON」や「LED OFF」のようなコマンドを解釈して外部LEDを制御します。
  3. 複数のボーレート:シリアルコマンドでボーレートを変更できるようにします。
  4. コンソールへのログ:受信データをバッファに保存し、要求に応じて出力します。

カテゴリ別に部品をブラウズするVelxioコンポーネントピッカーモーダル

行動を促す

実際に試してみませんか?Velxioでライブサンプルを開いて、実験を始めましょう:Pico Serial Echo on Velxio。コードを変更したり、LEDの色を変えたり、新しい部品を追加したりできます。楽しいハッキングを!


共有:
David Montero

執筆者

David Montero

Creator of Velxio, the open-source circuit and Arduino simulator.

GitHub velxio.dev

関連記事


前の記事
PicoシリアルLED制御:初めてのコマンドインターフェース構築
次の記事
VelxioシミュレーターでRaspberry Pi PicoのLEDを点滅させる