curious4dev

色々ダメなandroidアプリを開発したい会社員 高橋が綴る、androidアプリ開発やArduinoについて

*

YMZシールドの基板設計

 

お疲れ様です。

前に基板化したYMZ294をさらにシールド化したい事をPOSTしましたが、何も考えずに半田付けを開始してしまうと、線の取り回しやら、部品の位置やら、後工程になって色々と大変になる事が想定できます。

なので、事前に問題が無いことを確認する意味も込めて、基板の図を書いてみました。

シールド基板の図

基板は、普通の60円のC型片面ユニバーサル基板を使います。これをシールドとして使うため、下記2つのサイトを参考にさせてもらいます。

左上にYMZ294、右上に4MHz水晶、左下にLM386、そして右下に半固定抵抗を置いてます。あとはコンデンサと抵抗を少々。どう頑張っても線が線を飛び越えてしまう箇所が出来てしまいます。

2015022201

あと、シールドの下の部分にステレオジャックをくっつけようと思います。

どう頑張っても、接触してほしくない線と線が交差してしまうため、結構な数のジャンパーが必要になります。こんな時のためにエナメル線を買っておけば良かったと後悔。

部品の配置、配線、基板のサイズだけ与えると、最短の配線と最小のジャンパで自動生成されるツールが欲しいです。

 

ライブラリの改造

上記の配線では、Arduinoのデジタルポート0~7番をYMZの11番~18番に挿す事になりますが、元々のArduinoのデジタルポート0~7番は、YMZの18番~11番に、逆に繋げていました。よって、これだとおそらく正常に動作しません。

ライブラリを見てみると、最終的にデジタルポート0~7番を操作しているのは、このあたりです。

この PORTD という所にビット配列を流すことで、パラレルに0~7番を使っていると思われます。PORTDという定数は、Arduino 日本語リファレンスによるとやはりデジタルポートの0番~7番を指し示しているようです。

今までは0~7という順番が前提で各種プログラムが動いていましたが、最後の最後、このメソッドのPORTDへの書き込みの所だけ、ビットの順番を逆にすれば動くはずです。

という訳で、下のような感じで、「B10011111 を与えると、B11111001が返ってくるメソッド」準備し、

それを

こんな感じに仕込めば行けるはず。

以上、よろしくお願い致します。

 - 電子工作

  関連記事

音階LED実装 #3 – 秋葉原で買い物

お疲れ様です。高橋です。 先日、お小遣いがチャージされまして、音階LED実装に必 …

満員電車内でのオナラと検知 #5

お疲れ様です。高橋です。 マイコンと5V給電 先日実験に成功した硫化水素センサー …

aitendoのArduino用生シールド基板を1枚120円で買った。

お疲れ様です。高橋です。 今日もaitendoに行ってきたのですが、120円のシ …

電子オルゴール 基板実装 #2 ~ワイヤストリッパー~

お疲れ様です。高橋です。 先日秋葉原でワイヤーストリッパーを買ってきました。 被 …

ArduinoIDE1.6.4+ATTiny13Aで赤外線リモコン(難航)

お疲れ様です。高橋です。 先日から引き続いて、ATTiny13Aで赤外線リモコン …

EEPROM書き込みシールドの作成

お疲れ様です。高橋です。 先日成功したPCからのEEPROM書き込みですが、ジャ …

【完成】PCからシリアル通信でEEPROM書き込み

お疲れ様です。高橋です。 PCからシリアル通信を介して楽曲データをEEPROMに …

音階LED実装 #2

お疲れ様です。高橋です。 本日も昨日に引き続き半田付け。 今日の進捗 昨日の残り …

Pro Mini互換機でFF2戦闘音楽を使ったYMZ動作試験

お疲れ様です。高橋です。 電子オルゴールの最終形をイメージしてブレッドボード上で …

ルンバにスピッツを演奏させてみた

お疲れ様です。高橋です。 家にあるルンバにArduinoを挿して、スピッツの「涙 …