ラズベリーパイの美味しいところ

大学時分、メカトロニクス技術を学び、マイコン制御についての若干のスキルと知識はもっておりました。
その頃は、やはりそれを行かせる仕事に就きたかったのですが、現実はうまくいかず、あえなく断念。(そもそも、仕事上で技術を習得するなんて、独学ではかなりの無理が。。。)
いまでは、趣味でやれればいいかなって思っていたのですが、なにせ学生のころに学んだ知識は薄れてきており、しかも環境を整えるのにお金と時間と労力をかなり費やすことになるため、敬遠してきました。
このため、ガンプラに電飾を施すためのLEDと抵抗と電源の簡単な半田付け作業と、週刊××といった付録もののロボットを作って楽しむ程度。。。

しかし、ラズパイが登場したことで、その問題が解決できたのではないかと思い、飛びつくことにしました。

私が思うに、従来のマイコン制御での手間としては、

ます、「・・・・」をする制御システムを作る!と思い立ったら・・・・

工程1)「・・・・」をするための、機械要素と電子回路要素の設計

・・・この段階は、完成形をイメージしながら、それを実現するために必要な材料を選定したり、知識や技術情報を集め、青写真として図にあらわすという一番モチベーションがあがる楽しいひと時!

工程2)工程1をさらに具体化して、構成や仕様がまとまったら図面にして、製作へ

・・・ここで、機械工作では、旋盤やフライス盤、いまでは3Dプリンタといった工作機械がないと難しかったり、電子回路工作の場合は、オシロスコープが必要だということに気づき、これを用意しなきゃと思いつつ、なかなか購入に踏み切れず、結局ここであきらめてしまうケースがほとんど。

工程3)プログラミングおよびマイコンボードへプログラムを書き込むための環境整備
・・・旧来だと、パソコンでプログラミングして、ボードに付属のクロスコンパイラを領して、バイナリを生成させて、ROMライターでROMに書き込み、製作したシステムのマイコンボードに装着となります。
いわずもがなROMイレーザも必要。
しかし現在の主流は、使用するマイコンボードの開発環境によって、USBやシリアルポートで、ROM焼きせず、メモリに直接書き込むことができるプログラマブルになりました。

工程4)制御プログラムの設計とプログラミング
ここで、プログラミング言語は、使用するマイコンボードに依存します。とはいえ、基本的にC言語(後若干のマシン語)がほとんど。
マイコンボードに付属のライブラリを使って、クロスコンパイルし、バイナリーコードを生成させる。
デバッグ環境はどうしても用意しておきたい。さもないと、せっかく作ったシステムが暴走して、破損する恐れがあるから。
とはいえ、デバッグ環境(回路エミュレータなど)が用意されていればいいが、ないこともしばしば。スイッチやLED点灯でチェックするような原始的なものまでしかつくれない。。。

5)バイナリーコード生成とシステムへのプログラム(バイナリー)の書き込み

ここでようやく実行!一番緊張と興奮する瞬間!!一発で決まればいいんだけど、やはりそうはいかない。むしろ、それが稀。たとえ、基本的なプログラムはOKだったとしても、パラメータの調整などの微調整は避けられない。

そうなると、旧来のROMライターを使った書き込み方式は、ここでも手間が。調整のたびに、ROMをイレーズしては、コードを修正して、コンパイルして、バイナリを生成して、ROMライターに書き込んでと、一発で成功すればいいが、ほとんどはそうはいかず、上記手順5~8を繰り返す。

しかも、下手すれば電子回路や機械要素の設計ミスがここで確認され、手順2に戻ることもしばしば。

社会人(かつ独身)であれば、資金を作ることも、時間を作ることも、ある程度で切るので、環境を整えるまでは、何とかできるかもしれないが、
そこで、疲れて1・2作品作って終わりってことも。。。
物を作るには、情熱といったエネルギーが必要!

これを、ラズバイに置き換えると、
工程3)ほとんどいらない。特に物理的なものはなくなる。
工程6)これもなくなる。

純粋に労力を要する、機械工作と電子回路工作に労力を集中できるようになると思えます。

あとは、UNIXプログラミングに精通していれば、さまざまなセンサ入力などの入力(イベント)に応じてプログラムを実行することや、あれをやりつつこれをやりつつといった複雑なシステムも簡単に実現できる!という目論見である。
あとは、機械・電子回路製作、プログラミングといった製作フェーズに労力を集中できるようになった。しかも、お安く手軽に!である。

とはいえ、最終的にシステムをカットオーバーさせるのであれば、マイコンに置き換えたほうが、あらゆる面で効率的だと思われる。(この場合は、Arduinoのほうがいい)
教育用や試作用途であれば、もってこいではないではないでしょうか。

そこで、わたしはこのラズパイを使って、さまざまな種類のセンサーやアクチュエータを使ったメカトロ制御の検証用自律型ロボットを製作することとしました。

 

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です