2016年03月18日 | 公開。 |
前の章までに、実際に動作する電卓は完成しましたが、作った電卓を普段使うとなると、コスト的な点が問題になります。Arduinoを電卓専用に使ってしまうと、もう一つArduinoを買ってこないと、他の工作ができません。液晶シールドも同様です。両者を合わせると、5000円くらいの出費となります。
そこで、コストダウンのため、ユニバーサル基板上にArduino Unoの互換機とキャラクタ液晶モジュールを組み込んでみました。製作した基板を写真24に示します。
今回は、I/Oピン一つで読める4X5キーパッドを接続するようにしましたが、キーパッドを含めて、大き目のユニバーサル基板に組み込めば、一枚の基板で電卓を作る事もできます。
今回作った基板を、電卓のメイン基板と呼ぶことにしますが、メイン基板の回路図を図19に、部品表(ユニバーサル基板、半田、配線、ネジ、スペーサなどを除く)を表7に、写真を写真25~写真27に示します。
部品番号 | 数量 | 部品の種類 | パッケージ | 仕様、型番 | 備考 | 参考単価(円) |
---|---|---|---|---|---|---|
R1 | 1 | カーボン抵抗 | 10kΩ±5%、1/6W | 1 | ||
VR1 | 1 | 半固定抵抗 | 20kΩ | 20 | ||
C1,C2 | 2 | セラミックコンデンサ | 22pF、50V | 10 | ||
C3,C4 | 2 | セラミックコンデンサ | 0.1μF、50V | 10 | ||
C5 | 1 | 電解コンデンサ | 100μF、25V | 10 | ||
X1 | 1 | 水晶振動子 | HC49/S型 | 16MHz、負荷容量20pF | 30 | |
CN1 | 1 | DCジャック | 2DC005D100 | MJ-179PHで置き換え可 | 14 | |
CN2 | 1 | ピンソケット | 2.54mmピッチ、3P | 分割ロングピンソケット1X42を切断して使用 | 6 | |
F1 | 1 | ポリスイッチ | RXEF025 | 30 | ||
U1 | 1 | AVRマイコン | DIP28 | ATmega328P-PU | ICソケットを使って実装する方が良い | 250 |
LCD1 | 1 | キャラクタ液晶モジュール | SC1602BS-B | 付属のピンソケット、ピンヘッダを使って実装 | 500 |
メイン基板の電源として、内径2.1mm外径5.5mmのDCプラグが付いたDC5V出力のスイッチング型ACアダプタをCN1に接続してください。(LCDレベルメータサポートページの表1に書いてあるACアダプタが使えます) Arduinoに使うACアダプタは、5Vよりも電圧が高いので、使わないでください。回路が故障します。
またキーパッドはCN2のピンソケットに接続してください。
なおこの回路では、4ページで紹介した電卓のスケッチがそのまま使えます。Arduino Unoのスケッチとして、ATmega328P-PUに書き込んでください。スケッチの書き込み方については、Arduino用ブートローダ/スケッチライタの製作の記事をご覧ください。Arduino互換機の作り方も、LEDの点滅をする回路を例に、簡単に説明してあります。
表7に記載している参考単価は、秋月電子で部品を買った場合の単価(税込み)です。部品の中には、1個単位で購入できない物もありますが、その場合は、最も少ない個数で買った場合の金額を、個数で割って単価を算出しています。
参考単価を基準に、表7の全部の部品の値段を合計してみると、901円になります。ここにはユニバーサル基板などが含まれていませんし、欲しい個数だけぴったり買えない部品もあるので、実際には1000円を超えるとは思いますが、Arduinoや液晶シールドを使うより、かなり安くつくのがお分かりでしょう。
これは、Arduino互換機を作るときに、USBで接続する機能、3.3Vの電源を生成する回路、LED、シールドと接続するためのピンヘッダなど、電卓として使用する場合には必要ない機能や部品を省略した事によります。無駄な回路がないので、消費電流も、本物のArduinoよりも少なくなります。
今回はそうしませんでしたが、ATmega328Pに内蔵しているクロック発振回路を使う設計にすると、C1、C2、X1の3つの部品をなくす事ができ、さらにコストが下がります。
以上、電卓の作り方を説明してきましたが、実際に電卓を組み立てられた方は、どんな感想をもたれたでしょうか?
ハードウェアに関しては、キーパッドにはキットを、液晶シールドには市販品を使う事を前提にすれば、「組み立ては簡単だ」と思われた人が多いと思います。ソフトウェアに関しては、「このサイトのスケッチを使うだけなら簡単だが、スケッチを改造して自分好みの電卓にしたり、一から電卓のスケッチを自作したりするのは、意外と厄介だ」と思われた人もいるかもしれません。
Arduinoの良さは、ハードウェアに関しては既成のシールド類、ソフトウェアに関しては既成のライブラリに難しい処理は任せて、自分の作りたい部分だけ作るところにあると思います。
しかしながら、電卓のスケッチは、既成のライブラリの支援を受けられず、入力や計算のロジックは、ほとんど自力で作らなければなりません。こういう部分がArduino的ではなく、別の言い方をすると、中級~上級者向けの作例になってしまったかもしれません。
電卓の製作記事はここで一旦終了しますが、ひょっとしたら、BCD(2進化10進数)を用いて、2進数と10進数の間の変換時の丸め誤差が発生せず、もっと桁数の多い電卓のソフトを将来作るかも知れません。
関数電卓を作るのも面白そうなのですが、スイッチが増えると、部品代が高くなるのが悩みです。
商品名 | I/Oピン一つで読める4X5キーパッドキット | |
税抜き小売価格 | 2400円 | |
販売店 | スイッチサイエンス | |
サポートページ | I/Oピン一つで読める4X5キーパッドキットサポートページ |
商品名 | Arduino用ブートローダ/スケッチライタキット | |
税抜き小売価格 | 3000円 | |
販売店 | スイッチサイエンス | |
サポートページ | Arduino用ブートローダ/スケッチライタキットサポートページ |