Arduinoがあなたのトレーナーに――「運動しなさい! 電光掲示板」を作るアイデア・ハック!! Arduinoで遊ぼう(8)(1/3 ページ)

頭の中のアイデアを「Arduino(アルドゥイーノ)」で実現!! 筆者と一緒にモノづくりの喜びや難しさを体験・体感してみよう。今回は、Arduinoから送ったメッセージをディスプレイ上に表示させる。ディスプレイを扱えるようになれば、ガジェット作りの幅が広がるぞ!

» 2014年02月05日 10時15分 公開
[三月兎MONOist]
アイデア・ハック!! Arduinoで遊ぼう

 寒い日が続きますね。正月太りを解消したくても、こう毎日冷え込むと外で運動なんてとても考えられません。身体がなまる一方です。

 それに仕事柄、1日中PCに向かって記事を執筆していることもあります。ずっと同じ姿勢で集中しているせいか、気が付くと肩や背中がバキバキに凝り固まっていることも……。もちろん、「運動せねば!」という気持ちだけはあるのですが、なかなか行動に移せません。せめて、1時間仕事をしたら5分間ストレッチするなど、簡単な運動を取り入れることはできないものでしょうか。ちなみに、小まめに休憩を入れて、ストレッチなどをすると仕事の効率がアップするそうです!

⇒連載バックナンバーはこちら

ディスプレイにメッセージを自由自在に表示しよう!

 というわけで、今回は「Arduino」を使って、「運動しなさい!」というメッセージ(文字)をディスプレイに表示する“電光掲示板”を作りたいと思います。

 最初は「ディスプレイに文字を表示するなんて、難しそうだなぁ〜」と思っていたのですが、調べてみると配線を2本接続して、「Serial.print()」するだけで文字をディスプレイに表示できるとか(ふむふむ。これならイケそうだ!)。

 そこで、考案したのが「運動しなさい! 電光掲示板」です! じゃじゃーん(画像1)。

「運動しなさい! 電光掲示板」 画像1 「運動しなさい! 電光掲示板」。スイッチで時間を設定して、メッセージ表示とともに音が鳴る(……予定でした)

 スイッチで時間をセットして、中央のスタートボタンを押したら、タイマーが作動。指定時間になったら、音が鳴り、メッセージエリアに簡単な運動メニューがアトランダムに表示されるというものです。

 「よし! 作るぞ〜」と、張り切ってプログラムを作りはじめたのですが、すぐに頓挫してしまいました(泣)。単に文字列を表示するだけならば簡単だったのですが、表示位置を指定しようとすると、途端にプログラムが長くなってしまったのです。

 なんとか画像1で掲げた完成型までもっていきたかったのですが、すいません。今回は、スイッチもボタンもなしの“超シンプルな電光掲示板”を紹介します(動画1)。

動画1 あらかじめプログラムで設定した時間になると、メッセージが表示される。動画撮影の都合で、3秒ごとにカウントダウンさせている

回路は、Arduinoとディスプレイを接続するだけ!

 最初の意気込みから著しく後退した感がありますが、「こうやって一歩ずつ課題をクリアしていくことで、いつか自分が作りたいガジェットを作れるようになるんだよ!」と自分自身を励まして、話を前に進めていきましょう。

 それでは、今回使用する部品を紹介します(画像2表1)。

部品一式 画像2 「運動しなさい! 電光掲示板」で使用する部品一式。OLEDとアドオンボードは、はんだ付けして使用する
部品リスト 表1 「運動しなさい! 電光掲示板」の制作で使用する部品リスト。価格は共立エレショップで購入した際のデータ(購入時期:2014年1月)。青色の枠内は、以降の連載でも使用する

 通常、Arduinoから液晶ディスプレイや有機ELディスプレイを制御する場合、複数のデータ線と制御線を接続しなければなりません。必要とされる配線は、通信モードによって6〜11本とさまざまです。Arduinoは、デジタル入出力端子の数に限りがあるので、ディスプレイだけでこんなにたくさんの端子を使ってしまっては、他の機能を搭載できません。

 今回使用する共立エレショップの「シリアル→パラレル変換ボード付16x2 OLEDカラーディスプレイ」は、16×2行の黄色発光OLED(以下、ディスプレイ)と、シリアル信号をディスプレイ用のパラレル信号に変換するアドオンボード(OLED_DRV-S1)で構成され、ArduinoとOLED_DRV-S1との間の送受信は各1本ずつ(計2本)の配線で済むという優れモノです(画像3表2)。また、表示も非常にシンプルで、例えば「Serial.print("Arduino");」と記述すれば、ディスプレイ上に「Arduino」という文字が表示されます。

自分でピンをはんだ付け 画像3 「シリアル→パラレル変換ボード付16x2 OLEDカラーディスプレイ」。自分でピンをはんだ付けする
ピン端子の説明 表2 「シリアル→パラレル変換ボード付16x2 OLEDカラーディスプレイ」のピン端子の説明(データシートより抜粋)

 それでは、ブレッドボード上で回路を作成してみましょう。回路図と部品配置図を以下に示します(画像4画像5画像6)。

回路図 画像4 「運動しなさい! 電光掲示板」の回路図 ※画像クリックで拡大表示
部品の配置図 画像5 部品の配置図。「RXD」は受信で「TXD」は送信。Arduinoが送信(TX)して、OLED_DRV-S1ボードが受信(RXD)する
送信線、受信線と電源を接続するだけ 画像6 送信線、受信線と電源を接続するだけ。今回は、OLED_DRV-S1からArduinoへのデータ通信(オレンジ色の配線)は行っていないが配線してみた
       1|2|3 次のページへ

Copyright © ITmedia, Inc. All Rights Reserved.