Skip to content

Arduino UnoでBluetoothする(その前に普通のシリアルテスト)

by dietposter on 2月 19th, 2011

Arduino Unoが到着してまして、Bluetoothモジュール接続テストを行いたいと思います。とりえずArduino IDEの最新版をダウンロードします。⇒http://arduino.cc/en/Main/Software

Windows上でやってるのでWindows版で話をさせていただきます。現時点では0022というバージョンが最新でした。Unoには0021以降を使ってねというスイッチサイエンスさんの案内があります。

解凍すると「arduino-0022」フォルダができあがります。

Arduino IDEのフォルダの中身

左上の「drivers」フォルダにArduinoのUSBドライバがあります。これを覚えておいてください。この状態で、以下の図のようにArduino UnoとPCを接続します。

arduino.exeがIDEアプリですが今は起動させないでください(ちなみにarduino.exeのショートカットをデスクトップなどに置いておくと便利です)。

以下の画像ではデジタルピン13番とGND(グランド)ピンにLEDを差し込みました。LEDの脚の短い方(K:カソード=陰極)をGNDに差し込みもう一方を13番ピンに差し込みます。

Arduino Uno接続図

タイプBのUSBケーブルでPCと接続

(机が片付いてないっス…)

PCとの接続はプリンタ用によく使われるタイプBケーブルというやつです。自宅ではプリンタから引っこ抜いて使っています。このUSBを接続すると、ドライバのインストールに入りますので、その際に先ほどの「drivers」フォルダを選択します。結果、デバイスマネージャで以下の様に表示されればOKです。

Aruino Unoデバイスマネージャ図

COM8ポートに割り当てられています!

私のPCではArduino UnoがCOM8ポートに割り当てられています。この「UnoはCOM8」というのを覚えておいてください。次に、先ほどショートカットを作っておいたarduino.exeを起動させます。

「Tools」-「SerialPort」を選び、自分のPCで割り当てられたCOMポート(私はCOM8)を選んでおいてください。

シリアルポート選択

Arduino Unoが接続されているCOMポートを選択

ようやく、プログラム(Arduinoではスケッチと呼ぶそうです)を打ちます。以下に「シリアルポートからの入力があればLEDが0.5秒点灯するArduinoスケッチ」を示します。

#define LED 13 //デジタルピン13番をLEDという名前にする
//初期化メソッド
void setup(){
    Serial.begin(9600);//シリアルポートは9600bpsに
    pinMode(LED,OUTPUT);//LEDピンを出力モードに
}

//繰返し処理されるメインのメソッド
void loop(){
    int length  = Serial.available(); //シリアル入力受信文字数

    //シリアルポートにデータがあれば処理する
    if(length>0){//データがない時は-1で素通り
        char c=Serial.read();//1文字読み込み
        digitalWrite(LED,HIGH);//LED点灯
        delay(500);          //0.5秒待つ
        digitalWrite(LED,LOW);//LED消灯
        delay(500);          //0.5秒待つ
        //受け取った文字をシリアルポートに出力(表示)
        Serial.println(c,BYTE);
   }
}

上記部分はコピ&ペーストしてください。早速コンパイル&実行してみましょう。

1にコンパイル、2にUnoにアップロード、3にシリアル画面

以下の手順で実行させてみます。

  1. まず「1」の文字の再生ボタン(Verify)をクリックして、スケッチを確認します。文法的な間違いがあればここで赤字でエラーが表示されます。
  2. 次に「2」の文字の横矢印ボタン(Upload)をクリックして、スケッチをArduino Unoにアップロードします。
  3. アップロードが完了したら、「3」の文字の四角い箱のボタン(SerialMonitor)をクリックして、COMポートのモニター画面を表示させます。

こんな画面が出てきます。

Serial Monitor

COM8シリアルポートモニター画面

上記画像は、入力フィールドに「123」というを文字列を入れた状態です。ここで「Send」ボタンを押すしますと、以下のような表示になります。

Serial Monitor result

文字列「123」が一文字づつ受信され表示された!

Arduino Uno側のLEDも3回点滅していたら、スケッチは正常に動作しています!!

このプログラムをそのままBluetoothモジュールに使うことができます。COM8はデジタルピン0番と1番のエミュレートなのです。次の記事で接続とテスト方法について書きたいと思います。

No comments yet

Leave a Reply

Note: XHTML is allowed. Your email address will never be published.

Subscribe to this comment feed via RSS