スカートをめくるのに適した計算機(2)

スカートをめくるのに適した計算機(2)

マイコン

なんとなく聞いたことはあるが、それが何なのかはさっぱり分からない。
マイコンくんはそういうやつです。

シェイクになるくらい噛み砕いて話すと、マイコンは小さなコンピューターで、OSとか入ってないことが多い。つまり色々出来るような汎用的なものではなくて、それ一つで一つの役割を担わせるような用途に使われる。

洗濯機とか、電子レンジとか、コンピューターで制御されているけど、あれでamazonで買い物したりゲームすることはできない。ああいうのをマイコンといいます。

マイコンではディスクやSDカードのような外部記憶をそのまま利用するようには出来ておらず、プログラムなんかはPC上で作成したのちにマイコン本体のメモリに焼き付けて使います。もちろん外部記憶を利用することは出来るけど、それをするなら、その機能は自分で作る必要がある。誰かが作ったものをコピペして気にならないのでなければ、SDカードにどういう電気信号を与えると、記録データはどういう信号になって帰ってくるとか、そういうことを知らなければならない。

ただマイコンには無視できない利点があって、それは安いことです。
性能はシングルボードコンピューターと比べ物にならないくらいの低スペックですが、LEDチカチカさせるだけならまったく問題ないし、むしろマイコンですら作うとオーバースペックがどうのと面倒くさい輩に絡まれるくらいである。実際のところ、この連載の最初にお見せした全自動スカートめくり機の動画はAVRのATTINY2313という100円で買えるマイコンで作ってある。
100円なのでミスって壊しても大した問題ではないのでガンガン使うことが出来るんだけど、これはすごい大事なことであって、私や私の記事を読んでいるようなやつはたいてい貧乏だし、間抜けなので電源のプラマイとか平気で間違えてガシガシ壊すので、そういう点ではとてもいい。
それから自分の作ったものを作品として保存しておきたい場合、シングルボードコンピューターだと1作品あたり5000円とかかかってしまって貧乏人には現実的じゃない。マイコンなら100円なので、心置きなく保存しておける。

欠点は上でも書いたように、他の手段に比べて扱うのが圧倒的に難しいところ。
基本的に使える言語はアセンブリ言語かC言語しかなく、書き込みには別途ライターと呼ばれる書き込み機が必要だし、ライターのコネクタとそれぞれのマイコンのピンをつなぐの、ICクリップみたいなものか自分でソケットを備えた書き込み用のボードを手作りする必要がある。
プログラミングについてもかなり低いレベルからひとつひとつ指定する必要があるので、たとえばサーボモーターを動かすときでも「何度にする」という命令でバキっと動いたりしない。サーボモーターは角度に対応して何msくらいのパルスを必要としていて、それにはPWMというパルスを発生させる機能を利用して、それには分周比というものやデューティ比というものを理解する必要があり、なんか似たようなでもぜんぜん違ういっぱいあるモードを2進数で設定しなければならない。

C言語のポインタというのはなるほどこういう用途には欠かせないものだなあということがわかったり勉強にはなるし、個人的にはとても楽しいと思うのだけど、何かを作るのが主眼にあるなら、覚えるべきことや調べることが多すぎるかもしれない。

まとめると、とにかく金が無い人、コンピューターの基礎的な部分を学習したい人、小さな作品に簡単な動作を組み込みたい人などにおすすめです。ライターもAVRならサードパーティ製の安いやつなら¥600くらいから、公式のライターでも¥5,000もあれば始められます。
というわけで興味があれば安いんだから試してみると良いと思います。

共立製のライター。¥2,500くらい。
日本語のソフト付属で使いやすい。

aitendoで買ったAVRライター。¥600と格安だけどドライバーとかライターソフトとかは自分で入れる必要があるし、それらの情報の大半が英語。

上のライターとかから、マイコンと接続するために使うボード。ゼロプレッシャーソケットとか使うとさくさく焼けて便利。ICクリップを使って作品に組み込んだあとにも直接書き換えたりする人もいるみたいでそれも便利そう(だけどICクリップが微妙に高い)

AVR

マイコンにはメーカーごとに色々ありますが、ホビー用途などでも一般的なのはPICかAVRです。どっちがいいかは先達に記事があるのでそれに任せるとして、私はAVRを使っている。PICは使ったことがないけど、AVRの方が流行ってるぽく新しい情報も多い。
あと結構大量のラインナップがあるんだけど、細かくやってると終わらないので割愛する。
小さいのがいいならATTiny13Aとか、一番安いのがいいならATTiny2313とかが現在のラインナップでは入手性が良いと思う。どっちも秋月で¥100付近で買える。

Arduino

電子工作界が誇るイタリアの種馬ことArduinoを紹介します。

Arduinoは性能で言えば、AVRのラインナップの一部をCPUに使っているのでAVRマイコンとほぼ同じで、それなのに値段はシングルボードコンピューターに近いという憎いやつです。そう言うと全然オススメじゃない感じがするけど、そんなことはなくて、貴方がプログラミングや電子工作や日々を上手くやりぬくことの初心者だった場合、Arduinoを利用するべきでなのです。

Arduinoの最大の利点は、何よりも初心者向けに作られているということ。
あなたがやらなければならないのは公式サイトからソフトをインストールして、USB A-BケーブルでボードとPCをつなぐだけ。プログラムの開発はさっきインストールしたものに含まれているし、シリアル通信なんかもUSB経由で行われるので、そのままデバッグをすることだってできる。
また多くのネット上で読めるハウツーが公式のものも含めて、たいていが初心者向けに書かれていることも大きい。これはマイコンに関する文書の大半がプログラムをある程度書けたり、回路図くらいは読める前提で書かれていたり、シングルボードコンピューターの関連文書がLinux環境にある程度習熟した前提で書かれているのと対照的である。
どの文章も「あれ、オシッコしたくなった? じゃあ部屋を出て右の扉だよ。扉についてるノブを回せば扉は開くからね。チャックに挟まないように気をつけて」くらいの丁寧さで書かれているため、現在の知識が皆無であることを気にする必要はほとんどない。おもらしを心配する必要もない。

そんなわけで貴方がプログラミングとか電子工作について殆ど何もわかっていなくて、かつそれを今から始めるつもりなら私はArduinoをおすすめします。もっとも何か小さく実装したいとか、大量に何かを作りたいということでマイコンを選択することになったとしても、それでもやはりArduinoを一個くらい持ってたって良いのではないかと思う。
というのも、電子工作で問題が起きてデバッグするようなとき、まず電子回路が間違ってないかとか、プログラムが間違ってないかの切り分けなんかをやるときにArduinoがあると何かと便利だからです。Arduinoは上述のとおり標準ですぐに利用できるUSBシリアルを備えていて、PCのターミナルに情報を送るのが超簡単だったり、ちょっとした試験を行うのにすげー便利です。
プログラムはそのままマイコンに持って行くことは出来ないけど、Arduinoで完全に動作することが確認できたら、動くのは間違いないので上手くいかないときもプログラムに集中できる。これはとってもよいことです。

というわけで、使い道なんて後で考えるとしてもとりあえず買えば良いと思う。

あとがき

そんなわけでスカートめくりに適した計算機をお届けした。
みんなお気に入りの計算機を見つけられただろうか、ちゃんと爆発とかアフロになったりせずにスカートをめくれているであろうか。心配は尽きないが、ひとまず読者諸兄の賢明さに信頼をおき筆を置こうと思う。

いや正直に言おう。
計算機だけあったところで、スカートなどめくれやしない。
これだけあっても何も出来ないのである。

最初の方に書いたか書かなかったか忘れたし調べるつもりもないが、計算機というのは入力に応じて計算を行い出力を行うものである。そして計算機の入力と出力というのは2値化されたせいぜい数Vの小さな電気であって、それだけでは何も出来やしない。いわば、脳みそと神経だけ引きずり出されたような状態であり、単体では何も出来ない。
何かをするには周辺に電子回路というものが必要であり、電子回路を作るにはまた計算機を動かすのとは全く違った知識が必要になる。しかもこれは私の専門分野外であり、ちょっぴりアドバイスをすることは出来てもしっかり教えるようなことは不可能である。むしろ私が教えて欲しい。電子回路クン、なんでいっつも動かへんのや……。

そんなわけで、次回以降は電子回路を勉強するために、とりあえず持っておきたい工具やブレッドボードとかを紹介する。まあでも次とかに書くような内容は、多くのArduinoの入門書にも書いてあるので、そちらを読んだほうが手っ取り早いだろう。Arduinoの関連はとにかく色々な本や初心者用にだいたい揃うキットなどもあるので、まっとうな道をいきたい人はそちらが良い。

本を買う程度の金も惜しいとか、初心者用キットなんていう敷かれたレールを歩みたくないという、ありふれたひねくれ方をしている人は次も読めば何か得られることがあるかもしれない。

参考にしてくれた記事

記事が登録されていません。
この記事を参考にして、新しく記事を投稿しよう!

違反について