- 公開日:2019年10月21日
- | 更新日:2022年12月01日
化学出身者がマイコンボードでしゃべる挨拶時計をつくってみた(1)~挨拶時計とBeagleBone Blackを眺める~
- ライター:粗品
- マイコン
挨拶時計とBeagleBone Blackを眺める
はじめに
はじめまして。2019年度にFAEとして入社した「粗品」です。
私は大学・大学院で化学を専攻していたので、5月の研修で初めて半導体について学びました。そんな半導体初心者の私が新人研修として「製作実習~マイコンを使ったモノづくり~」を行ったので奮闘ぶりを書いていきます。
何つくろうかな
まずは今回の研修で何を作りたいか考えていきます。
「会社にあったら役に立つものってなんだろ。過去に先輩がやっていないことってなんだろ。」ということを考慮した結果、以下の項目が思いつきました。
・音を出せるモノをつくりたい
・社内の雰囲気を良くするために、挨拶をしてくれるモノをつくりたい
・+αとして時計の機能を足すか~
ということでこれらを満たしてくれる“挨拶時計”をつくることにしました。
つくるモノが決まったので、次はどのような仕様にするか決めます。
どんな機能を持たせたいか、どんな機能があれば便利か・・・
そして以下の仕様にすることにしました。
■音声
・時間帯毎に、再生できる音声が異なる
・音量調節が行えるようにする
■時計
・7セグLEDを使用して、00:00を表示する
・バッテリーバクアップされたRTCを用いることで、マイコンボードの電源をoffにしても時刻をカウントし続ける
■人感センサ
・センサで人を感知し、音声再生を行う
・感知した時、LEDを点灯させ人を感知したことが目視で分かるようにする
これらの機能をどこまで完成させることができるか・・・
Beagle Bone Black(Rev.C)
挨拶時計を動かすために必要な信号(GPIO、I2Cなど)を入出力できるマイコンボードが必要です。そこでBeagle Bone Black Rev.C(BBB)を使用しました。
BBBってなんだ?ということでWebやData Sheet、書籍を参考に調べてみました。英語ばっかりでページ数も多くて読むのが大変です・・・
■Web
https://cdn-shop.adafruit.com/datasheets/BBB_SRM.pdf
http://www.ti.com/jp/lit/ug/spruh73p/spruh73p.pdf
http://mitaka1954.cocolog-nifty.com/blog/2014/02/beaglebone-bl-1.html
■Data Sheet
http://www.ti.com/jp/lit/ds/symlink/am3358.pdf
■書籍
「Raspberry Piより高機能で高性能 BeagleBone Blackで遊ぼう!」
これらを読んで分かったことを簡単に書きます。BBBはTexas Instruments(TI)により開発され、1GHz Sitara AM335x ARM® Cortex-A8 Processorを搭載した、大きさが8.64 cm × 5.34 cmと小型でありながらもLinuxやWindowsなどのOSが動作するマイコンボードです。初めからeMMCにAngstrom Distribution(Linux)がインストールされており、同封されているUSBケーブルを使ってBBBとPCを接続することですぐに開発を行うことが出来ます。ですが今回はmicro SDにDebian(Linux)をインストールし、開発環境としてCloud9 IDE(Node.jsベース)を使いBonescriptでプログラミングを書いていきます。またHDMI経由でモニターに映像を出力できるためLinuxのデスクトップとして扱うことも可能です。
BBBの仕様
■プロセッサー
・1GHz Sitara AM3358BZCZ100 ARM® Cortex-A8
■メモリ
・400MHz 512MB DDR3
■フラッシュメモリ
・2GB eMMC
■micro SD
・micro SDコネクタにmicro SDを差し込むことで利用可能。BBB上のBootボタンを押しながら電源をいれることでmicro SDにインストールした方法でBootを行うことができます。この時、USR LEDが4つ点灯するまでBootボタンを押し続けます。
■拡張ピンヘッダー
・P8、P9計92本
・電源 5V、3.3V、ADC_1.8V、GND、AGND、GPIO、McASP、SPI、I2C、UART、AIN、EHRPWM、timer、LCD、GPMCなどを使用できます。
詳しい割り当ては以下のサイトを参考に!
https://components101.com/microcontrollers/beaglebone-black-pinout-datasheet
■電源供給
・5VDC 1A:スイッチングACアダプターを使用。これによりP9ヘッダのDC_3.3V、VDD_5V、SYS_5V、VADC_1.8Vが利用可能です。
・micro USBコネクタ:同封されているUSBケーブルを使用。PCからBBBに電源を供給する。P9ヘッダのDC_3.3V、SYS_5V、VADC_1.8Vが利用可能です。
・ACアダプターとUSBを同時に接続して電源供給を行ってもプロセッサーが処理してくれるの
でBBBは壊れませんでした。
高機能で高性能なBBBを使えば何でもできる!挨拶時計も作れる!と希望に満ち溢れていたのですが、先輩の方から「BBBは初心者が扱うものじゃないよ。」「もっと簡単なマイコン(MSP430)にしたほうがいいよ。」という意見を頂きました。ですがWebや書籍を見ればなんとかなるだろうと思ってやってみることにしました。なんとかなるだろうと思った自分が間違っていたと後々後悔します。お楽しみに~
おわりに
つくりたいモノの仕様やマイコンボードが決まり、いよいよ製作に入っていきます。うまく作れるのか、完成するのか、不安はいっぱいですが頑張ります!
次回、挨拶時計のブロック図やBBBの初期設定について紹介します。