金高真悟の奇天烈(キテレツ)大百科

日々徒然なるままに

株式会社ニコシスの新入社員が毎日のあれやこれやを語ります。

奇天烈大百科作らなきゃ!!

キテレツなんだから奇天烈大百科しないとね!?

こんばんは!!
キテレツです。

アダ名がキテレツなのに、ま〜ったくキテレツ大百科してないなぁって思った今日の夕方。
電車で移動中に今抱えている「道具の制作」について想いをはせている時にふと・・・・・・最近プライベートで何も作ってないなぁ・・って思った。

んで・・・・・おもむろにちゃちゃっと回路作ってみた。
さらに、ソフト書き込んでみたw

最近のマイコンは簡単だなぁ〜。

写真のマイコンはArduinoUNOと言うやつ。
CPUはATMELのAVRが使われてる。
USBシリアル変換ICがついているから、USBケーブルをパソコンに接続するだけでシリアル接続として認識してくれる。

ソースコードC言語ライクなやつで、ちょっと特殊。
まぁ、紐解いてみたら、結局はC++なコードに変換されてクロスコンパイルされてるんだけどね。
でも、取っ掛かりがとにかく低い。
パソコンとセットでなければ動作しないことを除けば、かなり理想に近い感じがする。

テストで作るにはこれで十分じゃない?

って思えるくらい簡単。
手持ちにあった液晶LCDと可変抵抗とLED、それにキーボードをばらして部品取りした押しスイッチを取り付けて遊んでみた。

これ、H8とかだとアレコレ設定して開発環境整えて結構大変なんだけれど、その大変さをまったく感じさせないから圧巻。

回路を繋げるのに15分くらい。
ソフト書くのは20分かからなかったなぁ。

回路図とライブラリを探すネットサーフィンに30分くらいかかってしまったw

100円均一で買ってきた材料たち

カッティングボード(ピンク)の上に、地震が来ても大丈夫!!な衝撃吸収ゴム、100円とは思えないクオリティのLEDライトをばらして取り出した四角い電池用のソケットを組み合わせてみた。
最近の100円均一はすごいなぁ。
※ちなみに、四角い電池用のソケットは単品で購入すると100円以上する場合がありますw

f:id:sk-nicosys:20130604221047j:plain

f:id:sk-nicosys:20130604221438j:plain

f:id:sk-nicosys:20130604221516j:plain

H8触った時も衝撃的だったけど

仕事を始めた当初、Z80のICEを触って「なんじゃこりゃ・・・・」な感じを受けたキテレツが、日立のCPU(現在のルネサステクノロジ)の開発環境を触った時に感動したんだけれど、それに匹敵する感動を受けた。

H8の開発環境を構築した時は、ハードウェアの知識とかマイコンの知識とかが全く無くても、書類の指示通りに組み立てれば動いた。
※それでもある程度の学習は必要だったし、古文書みたいなデータブックは読まなきゃいけなかったけれど。

昔の人は、もっと分厚いマニュアル(英語)と格闘しながら開発環境を構築していたらしい。
当時の先輩は、1週間かけて珍しいCPUの開発環境を整えようとしたけれど、まともに動作しなくて諦めたって言ってたっけ。

でも弱点もある

標準では、定期タイマー割り込みが使えない。
CPUの機能としては実装されているんだけれど、利用できない状態になっている。
なので、定期タイマーを利用できるライブラリをインターネットでダウンロードして導入してみた。

1msの定期タイマーを作って遊んでみた。
オシロスコープ引っ張りだして確認してみたら、ちゃんと1msの矩形波が出力されてたからオッケーな感じ。

アナログ出力って・・・ただのPWMじゃん

ってつっこみもありましたw
Arduinoに準備されているアナログ出力は、アナログ信号を出力しているのではなく、ON/OFFのデューティー比を変化させるだけの代物です。
なので、正確なアナログ信号ではありませぬ。
まぁ、LEDを接続すれば、明るさが変化するからアナログチックな制御に見えるんだけれど・・・・・本当のアナログ出力って違うんだよね〜。

でも、このマイコンは可能性無限大!さらに仕事が早い。

このご時世、制御の仕事は非常に少なくなってしまっていて、キテレツのように簡単なデジタル回路とC言語なエンジニアでは、なかなか厳しい世の中なのですが、このArduinoオープンソースハードウェアなので、キテレツでもEagleとか駆使しちゃえばオリジナルな基板が作成できちゃったりするんです。
(注:だからといって性能の良いノイズに強い基板を作れるとはかぎりません。(^^;

Arduinoの出現により、今まで手間がかかっていたハードウェアデバイスの制作や面倒な信号処理などが、恐ろしいほど簡単に実現できてしまいます。

デザイナーさんが簡単に使えるように設計してできたものらしいので、じつの所バカにしてたんですが、そんなことありませんね。
いや・・・むしろ・・・・デザイナーさんでもここまでソフト書いちゃったりするんだなぁ・・・って関心しちゃいました。
※キテレツの知り合いのデザイナーさんにArduinoを進めたら・・・・・「こんなん無理ぢゃぁ!!」ってキレられました(^^;

何でも作れちゃいそう。

無線モジュールやモーダードライバモジュールなど、様々な部品が接続できる基板として設計されているので、おおよそ日常で役に立つであろう装置なら簡単にできてしまいます。
さささっと作ってしっかり動くので、テストシステム作成には持って来いなのですが、非常に簡単に実現できてしまう手軽さと、実際の仕事の現場でも耐えうるレベルのモデルも発売されているので、テストではなく本番で利用するシーンもありかなと思っています。

ニコシスくんでも作るか?

モーターやら何やら接続して、ニコシスくんでも作ってみるかな。
事務所の机の上をウロウロするようなマイコンロボット。
んで・・・・喋らせてみるかな!?

近くに人がよってきたら・・・・「うぉい!!」みたいな。