タイトルのとおり、
「ソフト屋はハードウェアがわからない」
と馬鹿にされることが多いようです。
実際、私もハードウェアがさっぱりわかりませんでした。
でも、馬鹿にされるのはちょっと悔しいので、
年末から1月末までの1ヵ月間、ハードの勉強をしていました。
以降、ハードウェア奮闘忘備録。
私のハードウェア力の初期値
どれくらいハードウェアがわからなかったか、といいますと、「オームの法則はわかりますが、キルヒホッフ?なんだっけ?」
というレベルです。酷いですね。
中学生並です。
アナログとデジタルの違いもわかりませんでしたし、
接地(GND)も、アース?というレベルでした。
本当に酷いですね。
高校時代から電気回路が苦手で、逃げ回っていたせいです。
とっかかりは
電気回路から勉強することにしました。ということで、
「マンガでわかる電子回路」と「図解でわかる電気回路」を購入して、
年末年始の帰省中に読んでました。
マンガで〜の方は、説明が飛ぶのでわかりやすいとはお世辞にもいえませんでしたが、
「こうやって回路って設計するんですよ」ということがわかったので、まあ良し。
電気回路の本は、とてもわかりやすかったですね。お薦め。
高校時代、何がわからなかったのかわからないくらい、理解できました。
本当に、どの辺がわからなかったのやら。
ちなみに本の内容は、大学レベルの電気回路にまで踏み込んでいます。
が、ぶっちゃけ簡単です。
「図解でわかる電子回路」も買ったのですが、
途中でアナログ回路に興味を失ってしまい、
オペアンプの部分くらいしか読みませんでした。
アナログからデジタルへ
私はソフト屋なんで、アナログは一旦脇に置いておいて、デジタルの世界へシフト。# 勉強始めた当初、アナログとデジタルの違いがわかってなかったのですが、
# 上の本を読んでいるうちに、なんとなく違いがわかって来ました。
というわけで、デジタル回路初心者がまず読むべきと言われる名著、
「CPUの創りかた」を読みました。
これはソフト屋にもお薦めの1冊。
「CPUを創るなんてとても……」と思ってしまいがちですが、
ハードウェア知識0でも全然読めます。
最後まで読めばCPU、メモリ、ALU辺りの動作も理解できますので、
情報処理試験対策にも役に立つと思います。
それともう一冊、「ゼロから学ぶディジタル論理回路」。
これはタイトルどおり、論理回路だらけです。
カルノー図とフリップフロップがメインといった感じです。
この2冊を読んで、デジタル回路が論理回路の集合体なんだ、
と漸く理解するに至りました。
ちなみに大学の講義で、論理回路は散々出てきたのですが、
論理回路の実物は今の今まで見たことありませんでした。
というか架空の回路とすら思っていたフシがありました。
最低です。
今では部屋に論理回路が転がっています。
ある意味最低です。
PLD弄ってみたいなあ。
楽しい工作
デジタルの勉強と並行して、電子工作を開始しました。主に、AVRを利用した回路の制作です。
最初PICにしようかと思ったのですが、
AVRの方がよさげだったので、AVRにしました。
AVRはC言語で書けるので楽ですね。
回路図を見てAVRライターを作成したり、
LEDルーレットを作ったり、
キャラクタLCDにHello, worldを表示したり、と、
まあ、基本中の基本ですね。
めっちゃ苦労しましたが。
このとき、「やさしいPICマイコンプログラミング&電子工作」という本を参考に、
いろいろと制作しました。
タイトル通りPICの本ですが、
物理的な回路構成さえわかれば、
プログラム部分をAVR用に書き換えるのはそんな大変じゃないです。
まあ、そんな大層なことをしているわけじゃないですからね。
基礎勉強を終えて
成果書き忘れてました(2010.3.18)・オームの法則とキルヒホッフの法則と重要性を再確認した
・交流が理解できた(仕事で波形データ扱ってるおかげでもある)
・抵抗とコンデンサの重要性がわかった(特にコンデンサ)
・コイルはほとんど使わないが、誘導リアクタンスの概念はやたら重要だとわかった
(ツイストペアケーブルの差動信号とか、誘導リアクタンスを考慮してる?)
・回路図から実際に回路を作れるようになった
・トランジスタが理解できた
・LEDの有り難味がわかった
・LEDは目に悪いとわかった
・ICの逆差しは絶対一度はやってしまうことがわかった
・ユニバーサル基板で回路作るのは面倒だとわかった
・ブレッドボードはとても便利だとわかった
・秋月や千石は楽しい場所だとわかった
・1KBは大容量だとわかった
・AVRで簡単な回路設計ができるようになった
その他、デジタルというのは本当に0と1しかない世界なんだ、
と今更ながら実感しました。
0と1だけの世界なんで、色々なデジタル機器を作りたければ、
0と1の羅列をコントロールしなきゃいけない、
つまり、様々なプロトコル、特に物理層とデータリンク層あたりを知る必要がある、
と感じました。
ソフト書いている時は、プロトコルなんかTCP/IPアプリケーション層程度しか意識しないですが、
ハードをやって、プロトコルの重要性を再確認させられた気分です。
あと、もうひとつ。
「電子工作はとても楽しい。」
なんだか時間忘れて弄ってました。
今後の予定
現在、他にやることがあって、ハードウェアの勉強はお休み中ですが、
USB機器やネットワーク機器を作れるようになって、
PCやWebサービスと連動する意味不明なガジェットを作りたいなあ、と。
正直、ソフト一辺倒より、
ハードとの連携を考えた方が、
勝ち目があるような気がします。
誰に対する勝ち負けかわかりませんが。
昔はハードのためにソフトがありましたが、
これからはソフトのためにハードが作られるような気がします。
もうなってますかね。スマートフォンとか。
そのうちロボットの時代が来たりなんかすると、
ソフト+ハード+制御の3分野を深く理解する必要に迫られるのかも。
2017.3.28 追記
興味がそれ以上持続せず、当時は上に書いた以上のことはできませんでした。
今思うと、「筐体を作る」という技術がなかったせいかなあと思います。
ゲームに絵が必要なように、電子回路には筐体デザインが必要ではないかと。
そこも合わせて作ったシアーハートアタックを紹介しておきます。
見た目はすっっっごいボッコボコですけど、何もないよりは良いですよね。
- 作者: 田中賢一,高山ヤマ,トレンドプロ
- 出版社/メーカー: オーム社
- 発売日: 2009/10
- メディア: 単行本
- 購入: 2人 クリック: 31回
- この商品を含むブログ (1件) を見る
- 作者: 渡波郁
- 出版社/メーカー: 毎日コミュニケーションズ
- 発売日: 2003/10/01
- メディア: 単行本(ソフトカバー)
- 購入: 35人 クリック: 445回
- この商品を含むブログ (192件) を見る
- 作者: 秋田純一
- 出版社/メーカー: 講談社
- 発売日: 2003/07/12
- メディア: 単行本(ソフトカバー)
- 購入: 4人 クリック: 25回
- この商品を含むブログ (9件) を見る
- 作者: 高橋隆雄
- 出版社/メーカー: 秀和システム
- 発売日: 2005/01/27
- メディア: 単行本
- 購入: 1人 クリック: 85回
- この商品を含むブログ (5件) を見る