Arduinoを始めよう!(3)Bluetooth編
2013年3月6日(水)

プログラムの解説
このプログラムで重要なのは、シリアル通信のビットレートの変更です。
1 | Serial.begin(115200); |
Bluetoothモジュールと通信するためにはビットレートを、nに設定する必要があります。この設定を行い、先ほど説明した手順でBluetoothモジュールと接続すれば、後はBluetooth経由での通信であることを気にする必要はありません。第3回の記事のプログラムと同様に、文字列を簡単に送信することができます。
課題の回答
前回の課題は、以下のプログラムを作成することでした。
今回、作成したプログラムをシリアル通信で制御できるように改良してください。仕様は以下の通りとします。
- シリアル通信で命令を送る
- fの文字列を送るとモータが正転する
- bの文字列を送るとモータが逆転する
- sの文字列を送るとモータが停止する
次に模範解答のプログラムを載せておきます。参考にしてください。
01 | void 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回から今回までの記事を復習しておいてください。夢のミニ四駆まであと少し!
※来週の公開はお休みです。これまでの記事を復習したり、足りないパーツを補充するなどして、次回に備えてください。
【参考リンク】
連載バックナンバー
Think ITメルマガ会員登録受付中
Think ITでは、技術情報が詰まったメールマガジン「Think IT Weekly」の配信サービスを提供しています。メルマガ会員登録を済ませれば、メルマガだけでなく、さまざまな限定特典を入手できるようになります。