ユニバーサル基板の臭いに悩まされながら74HC595の使い方を

4×4×4のLED CUBEを作ってみようと決めた時、最初に買ったのは勿論LED。毎度毎度の AliExpress にて5色100本づつ、500本で1000円弱と格安価格。

2~3日遅れで再び AliExpress に注文を出したのは、74HC595というICと少し大きめのユニバーサル基板でした。共に、8×8×8のLED CUBE製作を視野に入れてのものでした。

LEDは10日くらいで届いたかな。そして、少し遅れましたが、やっと74HC595とユニバーサル基板が到着。それでも2週間で配達されたので、AliExpress での標準的な期間でしょう。

ユニバーサル基板の品質は良しとしても、臭いは何とかして欲しい

ユニバーサル基板は、12cm×18cmの大きさ。国内で買うと、安いところでも1枚400円~500円はしますが、今回は5枚セットで500円少し。1枚約100円って感じ。

中国からの発送梱包には毎度ビックリさせられますが、今回もなかなかのもん。いつものペラペラの外袋(プチプチも無し)の中に、さらに薄いビニール袋に入っているだけ。

ユニバーサル基板3
ま、無事に届けば文句はありませんが。中身と価格を考えれば、こんなもんでしょう。

肝心の商品は、まあ、こちらも “こんなもん” かな。国内のお店ではあまりお目にかかれないかもしれません。ただ、部品を配置して配線してという用途だけを考えれば、あまり気にもなりません。

ユニバーサル基板1

ただし、使っていく中で、穴位置の精度がとか、ランド(銅はく)が剥離しやすいとか、といった可能性も否定できませんけどね。

現時点で「うーん」って唸っているのは、基板の “反り” 。2枚を裏表で重ねるとこんな感じに。どこかの平面に固定していくような使い方ならOKかもしれないけど。

ユニバーサル基板2

この “反り” 以上に困っているのが “臭い” 。プリント基板の作り方には詳しくないので良く分かりませんが、銅を溶かすためのエッチング液が残っていたり、って感じなんでしょうか。

ランド面を触るとベタベタしてるし、袋から出して側に置いておいたら、気持ちが悪くなってきた。これって、普通の洗剤で洗えば消えるもんなんでしょうか?

2個の74HC595で、4×4×4キューブの16本のColumnに出力可能

もう一つのお買い物の74HC595。シフトレジスタと呼ばれるICです。

74HC595

これとかは、国内で買っても1個40円程度で大した価格ではありませんが、10個セットで送料込みで200円以下で買えるとなると、急がなければ2週間くらい待ってもいいかなって気になります。

シフトレジスタって何?って感じですが、シリアルデータをパラレル出力することが出来るらしいです。シリアルは直列、パラレルは並列で、って言われても良く分かりませんが。

例えば、8ビットのデジタル信号(00100101とか)を転送する際、8本の線を使って8ビットを一度に送ってしまう方法がパラレル転送で、1本の線で1ビットずつ順番に送るのがシリアル転送。

ここで書いた通り、LEDキューブをArduinoで制御しようとするとき、4×4×4までは20本すべての出力ピンを使うことで辛うじて、そのまま接続することができました。これがパラレル転送です。

でも、5×5×5とか、8×8×8のキューブを作ろうとすると、Arduinoのピン数が足りないのでパラレル転送(信号と出力ピンが1:1)が出来ません。

そこで登場するのがこの74HC595のようなICで、シリアル信号をパラレル変換してくれるのです。Arduinoからはシリアル信号を送り出すので、使う出力ピンは1本だけ(+2本の制御ピン)。

1個の74HC595で8個のパラレル信号を出力することができ、74HC595を “直列” に増やしていけば、4×4×4キューブの16本のColumnを、Arduinoの3本の出力ピンと2個の74HC595で制御することが出来るんです。

ArduinoからのデータをSIに送り込み、それを順にQAに移し、QBに移し・・・・・

74HC595のピンアサインと役割は、下図の通り。

74HC595-ピンアサイン
  1. SI に1ビットのデータを入れる(0 or 1)
  2. SCK をHIGHにすると、SI信号の中身をQAに移動し、QAの中身はQBに移される
  3. SCK をHIGHにする度に、最新のデータがQAに入り、前のデータは順繰りにQB→QC→
  4. RCK をHIGHにすると、QA~QHの内容を実際に端子に出力する
    (データの送信中は出力端子の状態を変えずに、全てのデータ送信が終わって一気に)
なんてのが、調べて分かったこと。

いまひとつ分からなかったのが、図に書いてある通り、「最後のQHの内容を次の74HC595のSI信号として出力する」らしいけど、例えば16ビットのデータは、順繰りに2つ目の74HC595のQHまで行くってことなんでしょうか?

更には、24ビットのデータの1番最初のデータは、3つ目の74HC595のQHまで移って行くの?


コメント:












管理者にだけ表示を許可する
トラックバック:
トラックバック URL:

http://55life555.blog.fc2.com/tb.php/1331-6be7706f

<< topページへこのページの先頭へ >>