今日は大阪へ行っていた。
2週間前にも大阪に行っているが、今日は目的地が違って日本橋ですね。
今日、日本橋に行くことになった理由は3月までさかのぼらなければならない。
去年3月の高専からの卒業に際して、かつて所属していた部からプレゼントをもらった。
事情により実際に受け取ったのは4月だったのだけど、まぁなんにせよいただいたわけだ。
そこでもらったプレゼントというのがArduino UNOだったと。
ArduinoはAVRマイコンのマイコンボードと開発環境がセットになったもの。
詳しくはWebサイトを見て欲しい。
USBでPCに接続して使えるマイコンボードだと思えばよいと。
受け取って早々にPCに開発環境入れて、接続して、テストしてみることにした。
LEDあったかなと思って探して見たらLEDはなかったけどブザーはあったので、ブザーを使うテストプログラムを転送したらうまく動いた。
なかなか取扱はいいなと思ったけど、結局のところ周辺回路がなければなにもできない。
周辺回路を作るにはもちろん部品がいるけど、そんな部品を買うのには日本橋に行けばいいわけだ。
通販という手もないことはないが、実際に見て調べるのがうまくいくだろう。
というわけで日本橋に行くことにした。
部品の購入はシリコンハウス共立で行った。去年に引っ越ししてずいぶん広くなって買い物しやすくなった。いいところ。
周辺回路の部品を買うのも大切なのだが、僕の持ち物では電子工作するのに都合が悪い。
なんといってもブレッドボードがない。試作には欠かせないものなのでまず買おうと思った。
ブレッドボードはいろいろあったけど、2000円ぐらいするものが多かった気がする。高いなぁと思ってたら足とかないけど700円であったのでこれにした。
ブレッドボードでの配線を行うためジャンパーワイヤーを20本買った。長さにより違うけど10本で300~500円、意外に高い。
単芯の導線を買って、それで切って被覆を剥いてもよかったみたいですけど、まぁこれぐらいは買おうと思った。
あと、IC抜きが200円だったので、一応買っておいた。あまり考えずに抜くとICの足を曲げてしまったりして大変なのでね。
さて、ここから本題のArduinoの周辺回路のことだが、キャラクタLCD・テンキー・LED2つ 付けようと思った。
キャラクタLCDは文字を表示する液晶ですね。いろいろ表示できるので見て楽しい。
キャラクタLCDは卒業研究のときにFPGAボードにあるものをMicroBlazeから制御したことがある。
よく使われるものはHD44780互換のLCDコントローラが搭載されているもので、ArduinoではこのLCDコントローラを制御するライブラリがある。
ところがマイコンとの接続には4bitインターフェースを使っても6本の信号線が必要という問題がある。
Arduinoのデジタル入出力は高々13本しかない。そこでなんかいい方法はないかなと調べた。
そしたらI2Cで接続するキャラクタLCDもあると出てきた。I2Cなら信号線は2本で足りる。しかもArduinoはI2Cに対応しているから都合がいい。
お店にあるかなと思ったけど、都合のいいことに1つだけあった。
I2C低電圧キャラクタ液晶モジュール(16×2行)反射型 (Strawberry Linux)
しかも値段はわりに安くて700円だった。1000円ぐらいの商品が多いんだけどね。
次にテンキーですが、これは自作することにした。
テンキーというけど、スイッチを12個とか並べてそれをそのままマイコンに繋ごうとするとやはりポート数が足りないという問題が起きる。
そこで、4×3に12個のスイッチを並べて、縦3本・横4本の信号線でキーを読み取れるようにする方法がある。
マイコンでのキー・スイッチ入力 (ルネサスエレクトロニクス)
ここにキーマトリックスという項目があるが、まさにここにあるようなことをする。
これで12本の信号線が必要だったのが7本で済むようになってうれしいが、さっきも書いた通り13本しかデジタル入出力ポートはない。
そこでマイコンとテンキーの間にロジックICを使った回路を入れることにした。
これでマイコンに4本の出力ポート・3本の入力ポートが必要だったのが、2本の出力・2本の入力で済ませることができそう。
2入力4回路NANDゲートの7400を2つ購入した。1つ26円とかだったから驚くほど安いですね。
あとボタンはちょうど12個入り500円で売ってた。
ユニバーサル基板は家にあるのを使えばいいし、プルアップ用の抵抗は家にあるなと思ったけど1つ忘れ物が。
そういやパスコンはなかった。0.1μFの積層セラミックコンデンサを5つ買っておいた。5つで105円なり。7400と同じぐらいの値段するし。
LEDは赤とか緑なら21円で買える。あと点灯用の抵抗はなかったので300Ωのカーボン抵抗を10本購入。1本で5円のところが10個で40円だったかな。
これでええかと思ったが、よく考えたらArduinoと周辺回路の接続のことをあまり考えてなかった。
ちょうどArduinoの拡張用ユニバーサル基板が売ってた。
Arduinoの端子は一部2.54mmと間隔が違う部分があるからこれを買った方が都合が良さそうだ。
600円ぐらいするからちょっと高いけどね。
ここにLCDを取り付けるためにピンヘッダーが必要だったので、切って任意の長さで使えるピンヘッダーを購入。
そしてフラットケーブルでテンキーと接続するための圧接端子とそのソケットコネクタを購入。これでいけるだろうと。
全部で4300円ほどの買い物になった。
まぁこのうち1800円ほどはブレッドボード周りにかかったお金だから、周辺回路の部品は2500円ぐらいですが。
ところでシリコンハウスのレジって、部品見ながら電卓叩いていくのね。
部品もいろいろあるけどバラの部品はもちろん値札はない。けどだいたい覚えているようで。
さすがに種類ごとに値段が違って複雑なコネクタは覚えてなかったから調べてたけど。
あと5円未満は切り捨て処理してましたね。1円玉でおつりをださない方針なのか。どうせカード払いだから小銭とか関係ないけど。
マイコンは研究室で使うことはあるが、家で使うことはなかった。
まぁ研究室でもわりと好き勝手使えるけど、家で使うマイコンとかというのがあってもいいかなと思っている。
そういう意味ではありがたいプレゼントだった。
せっかくいただいたプレゼントを塩漬けにしてもしゃあないので、今日は買い物に出かけたわけだ。
さて、これで大いに遊ばせてもらおうかな。