がじぇっとるねさす

ホビーとエレクトロニクスを繋げるサイト

アイテム

TOPへ

特設 Tips of EGG Design Project

概要

EGG Design Projectは光る、しゃべる、ふるえる、感じる、つながる、動くプロダクトデザインをテーマに実施されたデザイナーとエンジニアのコラボレーションプロジェクトです!
創りたい!を造れるへ」をコンセプトとした「がじぇるねボード」をどのように使ったかについて触れるTipsです。

光る

光るといえばLEDですね。プロジェクトを始めるときに、GR-COTTONのLEDを光らせて、デザインに組み込む際の感触を掴んでいただきました。3Dプリントした白いケースもお渡しして光の拡散の仕方も見ていただいてます。


ルネサスナイトについて

ルネサスナイトについて

ルネサスナイトについて



LEDは家庭の照明や、懐中電灯にも使われていますので、比較的感触が掴みやすい素材ですね。今回Tipsとして紹介するのは4班「金曜の夜を楽しくするプロダクト Fuma-Night (帰宅時のランウェイ)」のLED制御です。LEDが1色1つであれば非常に簡単で、また文字表示などを行うマトリックスLEDもダイナミック点灯方式で制御できますが、Fuma-Nightは実に128個もの3色LEDを制御しています。以下は配線してサンプルプログラムを動かしたときの様子です。




サンプルプログラムはGR-COTTONの特設サイトに掲載されているものがほぼそのまま使用でき、TAPELED_NUMで定義されているLED個数を128に変更すれば上記動画のように光ります。製作用のLEDはスイッチサイエンスから販売されているシリアルLEDテープ(4m)を一つずつ切り、配線しています。(4班の皆さん、お疲れさまでした!)
問題は128個の3色LEDのつなぎ方です。カーペットにACアダプタをつなげたくないという要望もあり、単三電池で動くようにしていますが、以下のように1枚のシートあたり16個のLEDをつなげ、3本の電池で電源を供給するようにしています。なお、このシリアルLEDに使用されているWS2812Bの定格電源電圧は3.5V~5.3V、信号入力はVDD±0.5Vです。単三電池3本で4.5V程度ですので、電圧に関しては定格以内で動作しています。


 

しゃべる

「しゃべる」という素材を使用した例としては、6班「鍵管理システム Mon Key(We’ll always be with you.)」のMonKeyの声です。まず、MonKeyは小さなプロダクトです。MonKeyの頭の外寸は40x38mmですが、中に部品を入れるスペースは30x30mm程度です。この中にスピーカー、アンプ、磁気センサー(頭と体がくっつくのを検出)、電源、そして音声再生するマイコンボードを内蔵する必要があります。



結論からすると、全てを内蔵するには新たに基板を作る以外に方法がないため、今回は以下のようにマイコンボードと電源は外に出しました。もちろん、発表会ではデモンストレーションが必要ですので、外側のユニットは服の袖部分に隠せるぐらいのサイズに収めています。



さて、肝心の「しゃべる」についてですが、今回はMP3ファイルを再生しています。GR-CITRUSにはMP3再生用のライブラリがあり、使い方については以下の特設サイトに掲載しています。今回は以下の2通りの内、「内蔵ROM編」を活用して、システムのシンプル化と小型化を図りました。

MP3, WAVファイル再生 内蔵ROM編

MP3, WAVファイル再生 マイクロSDカード編

 

ふるえる

「ふるえる」もので身近なものと言えばスマホの通知ですが、これを変わった形で「人を起こす」ことに使ったのが1班「骨伝導による目覚まし装置 NETEOKITE」です。今回は以下の振動モーター(秋月電子リンク)を使用しています。



この振動モーターはラジコン等に使用されるモーターと違って小型ですが、それでも3.0V駆動で100mAの電流が流れます。100mAは通常のマイコンのポートだけで流せないため、今回はモーター用ドライバとして、以下の「BD6211F搭載モータードライバモジュール」(スイッチサイエンス)を使用しました。定格は1Aのため100mAには十分すぎるほどですが、2.54mmピッチのスルーホールがあり、配線しやすくなっています。



以下は振動モーターを動かすサンプルです。9ピン、10ピンにモータードライバのFIN, RINを接続することを想定したものです。下記プログラムの3,4行目にある「analogWrite」のvalueでPWM信号のデューティを変え、振動の大きさを変更しています。8行目はPWMの周期を20kHzにしていますが、BD6211FのPWM制御モードでスタンバイモードを経由せず、オン・デューティに応じた制御ができるようにしています。Arduinoではデフォルトの周波数が490Hzになっていますが、GR-KURUMIやGR-COTTON、GR-ADZUKIのハードウェアPWMが割り当たっているピンはこのように周波数変更が可能になっています。



ふるえる動作を簡単に試す場合、GR-ADZUKIの以下の特設サイトを参考に緑ターミナルを使ってやってみましょう。

GR-ADZUKI 特設 緑ターミナルブロックを使う!(モーターや大きいLED)

 

感じる

感じる?、感じるにも色々とありますが、広い意味で「入力」と考えられますね。ここでは入力の代表的なデバイスである「センサー」を扱った例を紹介します。2班「基礎体温計と管理 THERMONY」では体温の測定としてサーミスタ、目覚ましを止めるトリガーとしてホールセンサ(磁気センサ)を使用しています。以下はThermonyの体温計の内部ですが、センサーの他にも体温を送信する赤外線LED、ボタン電池が接続されています。



それでは「磁石を近づけたら温度を測定する」という例を紹介します。以下はサーミスタ(秋月電子リンク)とホールセンサ(秋月電子リンク)の接続図です。Thermonyは磁石が離れたら温度を測定し、赤外線で値を送信していますが、磁石が近づく・離れる共に同じハードウェアで実現できます。



以下サンプルプログラムです。磁石を近づけると緑LEDが点灯し、温度を測定してシリアルモニターに表示します。温度測定はAdafruit社のチュートリアル用プログラムを参考にしています。
このサンプルの特徴として、磁石が離れているときはSTOPモードに入っていることです。STOPモードに入るとマイコンの消費電流は数十μAになります。過去に測定した消費電流はこちらです。STOPモードへはsetPowerManagementMode(PM_STOP_MODE)を実行後、delay関数を実行することで入ります。割り込み処理(今回はホールセンサによる外部割り込み)が入るとNORMALモードへ復帰します。



以下は実行したときの温度表示です。



最後にもう一つサンプルを掲載します。STOPモードによる省電力化はボタン電池で扱うようなシステムに有効ですが、外部割り込みによる復帰以外に、リアルタイムクロック(RTC)も動作していますので、高精度なアラーム付き時計にすることも可能です。以下のプログラムを実行すると、すぐにSTOPモードに移行し、5秒後に時間と温度をシリアルモニターに表示して、STOPモードに入ります。アラームが6:30にセットされていますので、1日後の6:30に時間と温度を再び表示します。



以下はシリアルモニターと消費電流表示のデモンストレーションです。電池をONにした直後は初期設定で6mA程度流れますが、その後にSTOPモードに入り、0.13mA程度になります。5秒後に温度測定結果がシリアルに表示されますが、青LEDが点灯している0.5秒間、約11mAまで電流が増加し、再びSTOPモードに入ることが分かります。



つながる

今回「つながる」のプロトタイピングとして、スマホとマイコンボードをbluetoothでつなぎデータを送るということを5班「頑張るあなたの小さな味方 pygmy!」で実施しました。

使用したBluetoothモジュールはRN4020搭載モジュール(秋月電子リンク)で、シリアル通信のコマンドで簡単に接続可能です。今回はコマンドを送ってスプレーで香りを出すところまで行いましたが、プログラムの完成度が不十分だったため、サンプルの掲載は控えたいと思います。


pygmyのおうちの色については、マイコンボード同士をI2Cで接続してLED色の制御を行っています。

今回は使用していませんが、がじぇるねボードとWi-Fiモジュールを使った事例としてクラウドサービスを使用した例もありますのでご覧ください。

Milkcocoaでクラウドアクセス!

 

動く

本項は2018年2月28日に掲載予定です。(2週間延期しました)


 

share