マイコンと接続する

Connect to microcontroller

実際にArduinoを使用してマイコンの無線化を行います。

シリアル通信を行う

PCからArudinoに入力したシリアルデータをTWELITE UARTを介して、もう一台のArduinoに無線で送信し、そのデータを解釈するサンプルです。

用意する電子部品

以下のものを2セット用意してください。

  1. TWELITE UART

  2. Arduino UNO

  3. 抵抗 2.2kΩ(赤・赤・赤)

  4. 抵抗 3.3kΩ(橙・橙・赤)

配線

Arudino UNOは5V系のマイコンで、UART出力のHiレベルが5Vです。TWELITEに5Vを入力するとTWELITEが破損するため、分圧してHiレベルが3Vになるようにしております。

m5StackやRaspberry PiなどのようにHiレベルが3Vのマイコンなどに接続する場合はTWELITEに直接接続してください。

設定

TWELITE UARTをTWELITE R2などを使用して、以下のような設定にしてください。

サンプルSketch

Arduino IDEを起動させ、以下のプログラムをコピー&ペーストし、Arduinoに書き込んでください。

使用方法

Arduino IDE のシリアルモニターなどを使用して、送信側のArduinoにメッセージを入力(ここではHELLO)すると受信側のArduinoから以下のようなメッセージがシリアル出力されます。

Sketchの解説

メインループ

下記の関数がシリアル通信の処理を記述したメインループ関数です。

2~30行目ではTWELITEからのシリアル出力を読み込む処理を行っております。 TWELITEからCR+LFが来るまでは内部のバッファに受信したシリアル電文をためておき、CR+LFが来たらsplit()関数で保持していたデータを分割し、PCにシリアル出力します。

32~34行目はPCから来たシリアルデータをそのままTWELITEに送ります。

文字列を分割する関数

split()は保持しているシリアルデータを区切り文字ごとに分割する関数です。

引数の配列を前から順番に中を確認し、区切り文字になったらそこまでの配列をString型に変換してて保管します。

分割が終わったら、分割した数を戻します。

もとのシリアルデータはString型ではなくchar型の配列で、分割後はString型になりますので、変数の方の取り扱いをご注意ください。

最終更新