LEGOとRaspberry Piで会社のイベント展示用のデモ作った話

この動画のデモを作った話です。題名にLEGOと入れましたが、自分はLEGOは触っていなくて、Raspberry Pi専任で作っていたこともあり、少し、技術的なことを中心に書いていこうと思います。

youtu.be

www.beex-inc.com

何で作ったのか?

弊社ですが、基幹システムのクラウドへの移行を得意としています。エンジニア界隈にいるとクラウドって当たり前のことになっていますが、まだまだ基幹システムのクラウド移行は今からがメインストリームといった感じです。

ただ、そのクラウド移行って何なの?というのをお客様に説明するとなると、ノウハウだったりオペレーションそのものだったりするわけで、ブラウザ経由のWEBサービスみたいに目で見てわかるものではありません。そういったものを目で見て、手で触りながらお客様に説明してみたいといった考えから、LEGORaspberry Piクラウド移行ってやつを表現してみようと始まったものです。(個人的見解です)

どうやって動いているか?

コンポーネント

使っている主なコンポーネントは以下の通りです。 Raspberry Pi Zero上でPythonスクリプト一本をサービス化・自動起動に設定して動かしています。 GPIOをほぼ全て使っていることもあり、Raspberry Pi ZeroのCPUは80%程度常時使っている状態です。

  • Raspberry Pi Zero
  • ALPHA-MF02-N-221-A01(感圧センサー)
  • MCP3002(A/Dコンバーター
  • 2SC1815Y(トランジスタ
  • LED Matrix Display 64 x 32 2台
  • WS2812B(LEDテープ)
  • OSG8HA5E34B/OSG8JA5E34BB(LED 緑と赤)
  • LAS2-16H-E DC12V(オルタネイト型プッシュスイッチ(青))

LED沢山でピカピカしています。USB電源が合計4系統必要な回路です。

初めて回路が動いた時の動画です。ここから完成までも大変でしたが一息ついたタイミングなので載せておきます。深夜のオフィスで一人で喜んでました。

www.youtube.com

LED Matrix Display 64 x 32

ドット単位で画面を描画するのに慣れると、好きなものを簡単に表現することができます。PCのモニタより訴えるものが多いように感じるのは個人的主観でしょうか。

yomon.hatenablog.com

LEDリボン

LEDの連なったリボンです。GPIO一つで様々な動きをコントロールできます。記事ではGolangで書いてますが、最終的にはPythonに統一しています。記事内のGitHubのリンクにサンプルあるので簡単に実装できると思います。

このパーツを使ってからスーパー等に行くと、同じLEDリボンを見かけたりするので、少し嬉しくなるという副次的効果もあります。

yomon.hatenablog.com

感圧センサー

この時の内容を応用しています。今回利用した感圧センサーはあまり正確な値は取れないのですが、安価だったので今回のデモには必要十分な性能でした。

yomon.hatenablog.com

感圧センサーからグラフに出したところ。

yomon.hatenablog.com

どうやって勉強したか?

実は、はんだ付けどころか、複数部品を使った回路すら今回が初めての取り組みでした。そもそもオームの法則って何だっけというところから勉強を始めたので、ほぼゼロからのスタートでしたが、楽しくRaspberry Piを勉強できました。

実践あるのみ

勉強の一番の方法は、当たり前なのですが実践あるのみかと思います。Raspberry Piはネット上にも書籍にも沢山の有益な情報が存在していますが、その情報を有益に使うには実際に触った経験が不可欠だと感じました。このあたりはプログラミング等にも通じるところだと思います。

ただ一つ注意しなければいけないのは、プログラムと違って回路間違えると本当に壊れるというところです。私は、こんな当たり前のことすらも実際に経験して初めて理解しました。一度Raspberry Pi本体壊してからは、ジャンパーワイヤ適当に外したり付けたりとかやらなくなりました。

プログラム言語のライブラリからGPIOを操作していると、普通のプログラムと同じように感じてしまいますが、開発中でも変なことすれば、普通に物理的に壊れてしまいます。LEDとか安い部品で経験するのが本当は良いのだろうなと思いました。

壊してしまうかもしれない段階では、Raspberry Pi Zeroは本当にオススメです。スイッチサイエンスなら一台限定で700円くらいで購入できます。これなら壊れても心の痛みは小さくすみます。

www.switch-science.com

秋葉原行ってみる

ほとんどの部品がネットで購入できる時代ですが、どこかのタイミングで秋月電子とかには直接行ってみると面白いと思います。実際に見てみないとイメージ湧かない部品もあると思いますし、店員さんがマニアックな話をしているのを聞くのも面白いです。

書籍

毎回新しい分野に取り組むときには5冊以上は本を買って読み漁るのですが、今回も沢山買いました。ただ、いつも通りで全ての本が自分に合うわけではありません。今回、私に合った本はこちらでした。

目次も載せておきますが、ちょうど良い深さで広い分野が纏まっているので辞書引きで重宝しました。

1 Raspberry Piの準備
2 Raspberry Piのインタフェースと入出力
3 LED(発光ダイオード)
4 各種スイッチ
5 A/Dコンバータ
6 モーター・サーボモーター
7 各種センサー
8 数字や文字などを表示するデバイスの制御
9 ブザー

最後に

まだまだ、荒削りですが、ブローシャーやスライド以外にも、自社のサービスを表現できる方法ができたのは 良かったと思います。

おまけ

re:Inventでもレゴありました。そもそも何かを表したものでは無いようなので目的は違いそうですが、すごかったです。実際にやったからわかるのですが想像以上にお金も時間もかかります。

これ作るのに、どれだけのお金と時間がかかっているのだろう。エンジニアが設計して作ったって言っていたけど。。。さすがAWS

www.youtube.com