Arduinoを始めよう!(3)Bluetooth編

2013年3月6日(水)
藤原 敬弘

プログラムの解説

このプログラムで重要なのは、シリアル通信のビットレートの変更です。

1Serial.begin(115200);

Bluetoothモジュールと通信するためにはビットレートを、nに設定する必要があります。この設定を行い、先ほど説明した手順でBluetoothモジュールと接続すれば、後はBluetooth経由での通信であることを気にする必要はありません。第3回の記事のプログラムと同様に、文字列を簡単に送信することができます。

課題の回答

前回の課題は、以下のプログラムを作成することでした。

今回、作成したプログラムをシリアル通信で制御できるように改良してください。仕様は以下の通りとします。

  • シリアル通信で命令を送る
  • fの文字列を送るとモータが正転する
  • bの文字列を送るとモータが逆転する
  • sの文字列を送るとモータが停止する

次に模範解答のプログラムを載せておきます。参考にしてください。

01void signal1(int value) {
02  switch (value) {
03    case 0:
04      digitalWrite(12, HIGH);
05      digitalWrite(13, LOW);
06      break;
07    case 1:
08      digitalWrite(12, LOW);
09      digitalWrite(13, HIGH);
10      break;
11    }
12  }
13 
14  void signal2(int value) {
15    switch (value) {
16      case 0:
17        digitalWrite(10, HIGH);
18        digitalWrite(11, LOW);
19        break;
20      case 1:
21        digitalWrite(10, LOW);
22        digitalWrite(11, HIGH);
23        break;
24    }
25  }
26 
27  void forward() {
28    signal1(1);
29    signal2(0);
30  }
31 
32  void back() {
33    signal1(0);
34    signal2(1);
35  }
36 
37  void stop() {
38    signal1(0);
39    signal2(0);
40  }
41 
42  void setup() {
43    Serial.begin(9600);
44  
45    pinMode(10, OUTPUT);
46    pinMode(11, OUTPUT);
47    pinMode(12, OUTPUT);
48    pinMode(13, OUTPUT);
49 
50    stop();
51  }
52   
53  void loop() {
54    if (Serial.available() > 0) {
55    char c = Serial.read();
56    if (c == 'f') {
57      forward();
58    } else if(c == 'b') {
59      back();
60    } else if(c == 's') {
61      stop();
62    }
63  }
64}

今週の課題

[課題] Bluetooth経由で命令するプログラム

第4回の課題プログラムを次のように変更してください。

Bluetooth経由で命令を送信する

おわりに

ここまでで、ミニ四駆を作るための基礎知識は得ることが出来ました。基礎知識編は終了し、次回からはミニ四駆のプロトタイプと、実際の組立に入っていきます。ここまでの知識をフル活用しながら、プロトタイプを作っていくので、今のうちに第2回から今回までの記事を復習しておいてください。夢のミニ四駆まであと少し!

※来週の公開はお休みです。これまでの記事を復習したり、足りないパーツを補充するなどして、次回に備えてください。

【参考リンク】

FULLER株式会社

1986年生まれ。北海道苫小牧市出身。苫小牧工業高等専門学校卒業。
Fuller, Inc. CTO
Webプログラマ、よく利用する言語はPython。Pythonコミュニティによく出没する。
趣味でArduinoやRaspberry Piなどを使って、便利なものを自作する。

twitter: @wutali / github: https://github.com/wutali

連載バックナンバー

Think ITメルマガ会員登録受付中

Think ITでは、技術情報が詰まったメールマガジン「Think IT Weekly」の配信サービスを提供しています。メルマガ会員登録を済ませれば、メルマガだけでなく、さまざまな限定特典を入手できるようになります。

Think ITメルマガ会員のサービス内容を見る

他にもこの記事が読まれています