エレクトロニクス愛好家や学生の間で最も人気のあるマイクロコントローラーであり、Arduinoを使用した組み込みシステムを簡単に使い始めることができるArduino Unoしかし、Arduinoの欠点の1つは、コードをアップロードするためにUSBケーブルを使用してコンピューターに接続する必要があることです。ワイヤレス通信のオンボードサポートがあります。また、プロジェクトがどこかで修正されていると、ボードをPCに接続するのが非常に難しい場合があります。この問題の唯一の解決策は、Arduinoをワイヤレスでプログラミングすることです。ワイヤレスプログラミングまたはOTA(Over the Air)プログラミングは、Wi-Fiサポートが組み込まれているため、ESP8266およびESP32で簡単に実行できます。しかし、Arduinoでは、Bluetoothモジュールを使用してワイヤレスでプログラムする必要があります。そこで、ここでは、Bluetooth経由でArduinoをプログラムする方法を学びます。
必要なコンポーネント
- Arduino UNO
- HC05Bluetoothモジュール
- ジャンパー線
- 1K、2.2K抵抗
- コンデンサ(0.1uF)
- 電源アダプタ
- ブレッドボード
HC05Bluetoothモジュール
HC-05モジュールはBluetoothシリアルポートプロトコルモジュールであり、マイクロコントローラ間の無線通信用に特別に設計されています。HC-05 Bluetoothモジュールは、マスターモードとスレーブモードの構成を切り替えるモードを提供し、9600ボーレートでシリアル通信を介して通信するため、コントローラーとのインターフェースが容易になります。HC05モジュールは3.3Vで動作しますが、モジュールには5V〜3.3 Vのレギュレーターが搭載されているため、5Vの供給電圧に接続できます。
Bluetoothはワイヤレス通信の最も簡単な方法であり、Bluetooth制御ロボット、Bluetooth音声制御、Bluetoothホームオートメーションなど、多くの興味深いプロジェクトを構築しています。ここですべてのBluetoothベースのプロジェクトを確認できます。
Bluetooth経由でArduinoをプログラムする
Arduinoをワイヤレスでプログラムするには、まず、ATコマンドに応答するようにArduinoをプログラムする必要があります。そのためには、Arduinoをラップトップのシリアルポートに接続し、以下のコードをアップロードします。
#include
コードの最初の2行は、 SoftwareSerial ライブラリを含め、Bluetoothが接続されている送信機と受信機のピンを定義するために使用されます。 SoftwareSerial ライブラリは、ArduinoのハードウェアTxピンとRxピン以外のデジタルピンとのシリアル通信を可能にするために使用されます。 SoftwareSerial ライブラリを使用したシリアル通信には、複数のソフトウェアシリアルポートを使用できます。
#include
セットアップ機能 内で、ハードウェアとソフトウェアの両方のシリアルポートのボーレートを定義します。ハードウェアとソフトウェアのシリアルポートのボーレートは、それぞれ9600と38400です。
void setup(){Serial.begin(9600); Serial.println( "ATコマンドを入力してください:"); HC05.begin(38400); }
ループ 関数内で使用される if 条件は2つあります。最初の条件は、HC05にコマンドが与えられているかどうかをチェックし、与えられている場合は、Arduinoシリアルモニターに書き込みます。2番目の条件は、Arduinoシリアルモニターにコマンドが与えられているかどうかをチェックし、与えられている場合は、それをHC05に送信します。
void loop(){if(HC05.available())Serial.write(HC05.read()); if(Serial.available())HC05.write(Serial.read()); }
次に、HC05でArduinoを接続して、ATコマンドモードにします。同じものの回路図を以下に示します。
Arduinoをコンピューターに接続する前に、キーボタンを押してから、Arduinoをコンピューターに接続します。BluetoothモジュールのLEDが2秒間隔で点滅し始めるまでキーボタンを押し続けます。コマンドモードでは、BluetoothモジュールのLEDの点滅が通常モードよりも遅くなります。
シリアルモニターを開いて次のコマンドを入力すると、コマンドが正常に実行されるたびにボードが「 OK 」と応答します。
AT + ORGL AT + ROLE = 0 AT + POLAR = 1,0 AT + UART = 115200、0、0 AT + INIT
ATコマンドのテストに成功したら、すべての接続を削除して、以下の回路図に従って接続します。
アダプターまたは9Vバッテリーを使用して、Arduinoに電力を供給します。この後、ラップトップの[ デバイス] に移動し、Bluetoothをオンにして、Bluetoothモジュールをラップトップに接続します。
デバイスが正常にペアリングされたら、次のタスクはHC05BluetoothモジュールのCOMポートを見つけることです。これを行うには、「 デバイスマネージャ」 に移動し、COMポートオプションをチェックします。2つのCOMポートが表示されます。1つは着信用、もう1つは発信用です。プログラムをアップロードするときに、2番目のCOMポート番号を選択する必要があります。
次に、Arduino IDEを開き、点滅プログラムを選択し、適切なCOMポートを選択して、アップロードボタンを押します。すべてがうまくいけば、ArduinoのオンボードLEDが1秒間隔で点滅し始めます。
完全な作業ビデオを以下に示します。