2014.12.13

8x8x8 RGB LED cube リビルドもう少し

Dsc01589

核心部分の配線が終わりました。あと200箇所ほど結線すれば、いよいよ動作チェックです。
今回の製作で改善されるはずのポイントは・・・

1. cube本体の色違いLEDが無くなり、色が揃っているはず。
2. Arduinoでアニメーション表示したときに、勝手にリセットするとか表示列がずれたりすることがなくなるはず。
3. 下の箱が小型になりスタイリッシュになるはず。

1.の原因は、取り寄せたRGBLEDが手持ちの別製品と混じったらしく、28個近くBlueとGreenのピンが違うものを交換しました。
2.の原因はやはりArduinoの出力ピンにシフトレジスタ25個の制御ピンをパラレルでぶら下げたのと、シフトレジスタの電流容量を超えた負荷をかけたのがまずかったようです。

もうひと頑張りします。

| | Comments (0) | TrackBack (0)

2014.11.25

8x8x8 RGB LED cube 再構築中

Dsc01554

以前作った LED cube の調子が悪く、やっぱりきちんと制御基板を作り直そうと思います。フラットケーブルでLEDマトリクスをつなげていましたが、嵩張るのと箱が大きくなるので、制御基板に直接ハンダ付けしたいと思います。

Img_0548

マトリクスの大きさが15cm角の大きさで、ちょうどいい大きさのユニバーサル基板が無いのよ。しょうがないから、気ってつないで無理やり作りました。シフトレジスタとソースドライバを配置して、電源ラインの配線中です。

回路図も一応描いてみました。前回との違いは、シフトレジスタのクロックとラッチ信号をバッファを介して繋いだ点です。前の回路はarduinoの出力ピンから24個のシフトレジスタに分配していたので確実にファンアウト不足です。あと、シフトレジスタからのLED直接ドライブをやめてソースドライバをかませました。これで、シフトレジスタが電流過多で誤動作することはなくなるはず。

8x8x8rgb_2

ぼちぼち配線していきます。

| | Comments (0) | TrackBack (0)

2014.11.15

格安ArduinoUNO互換ボード

Dsc01553

Arduinoを使った電子工作をしていると、シールドが増えてきてArduino本体が複数欲しくなってきます。ただ、純正品は高級感がある代りに結構お高いのでございます。見てくれは悪くても安いほうがありがたいので、秋月のマイコンボード(実はArduino互換ボード)+必要なパーツで安く済ませていました。最小構成なら500円程度でなんとかなるんですが、Arduino完全互換機としてパーツを揃えると2割程度しか安くないのが玉に瑕です。

アメリカ産のDiavorinoは格安互換機で、しかもRED&BLACKのカッコイイ基板がお気に入りで、わざわざ航空便で取り寄せたりしましたが、こやつは3.3V電源を省略してまして、これまた使い方を選んじゃうんです。

完全に自作も可能ですが、個人でパーツを揃えてもあまり安くならないのが現状で、いろいろ探していましたら、ArduinoUNOフルコンパチで1000円の「びんぼうでいいの」を発見!これは安い。安全に国内で入手できる互換機では最安ではないでしょうか。さすがAitendo。

でも、4セットのうち1セットが動作不良。初期不良かはたまた私のハンダミスか。再検査依頼してみます。

| | Comments (0) | TrackBack (0)

2014.11.10

ユニバーサル基板でモアレ


今日の気付き。8x8x8 LED cube の挙動が安定しないので、この際制御基板を作り直そうと、大き目のユニバーサル基板を何枚か買い込みました。2枚重ねの蛇の目基板を眺めていると、なかなか面白い現象が観察できました。以前より網戸やパンチングスチール版で知ってはいましたが、手元で見ると興味深いです。同じピッチの穴と背景の柄が少しずれると、ちょっとだけしたの柄が顔を見せて、遠めに見ると拡大図に見えるんですよ。

| | Comments (0) | TrackBack (0)

2014.10.31

aitendo 16Segキャリーボードで時計を作ろう 7

週末の町内文化祭ネタにと作ってきた16seg時計が一応完成しました。カラーLEDキューブや、75*25ピクセルの電光メッセージボード、コマゴマしたマイコンを使った小物類を展示します。正直な話、興味をしめす人はほとんど居ませんが、にぎやかしでピカピカ光らせます。

16seg_clock_2

一応回路図も描いてみました。結局抵抗分圧での3.3Vが安定せず、Arduinoの3.3Vを使ってます。レギュレータを使った回路が必要ですね。

| | Comments (0) | TrackBack (0)

2014.10.26

aitendo 16Segキャリーボードで時計を作ろう 7

電源をスマホ用の2A対応アダプタにしたら、シフトレジスタ直結でもそれなりに明るいので定電流ドライバはやめて、電流制限抵抗も省略しました。ダイナミックドライブだと、抵抗をはさむと暗くなりすぎです。

手持ちのRTCモジュールが1.8~4.5Vの動作電源だったので、Arduinoの3.3Vを使ってましたが、最終的にATmega328でユニバーサル基板に作りこむときに、別途3.3Vを作らないといけません。RTCモジュールの消費電流はとても小さいのと、動作電圧の幅が極端に広いので(だったら5Vで動いて欲しかった)、簡単な抵抗分圧を試してみました。

(5V)_(1.8kΩ)_(3.3V)_(3.3kΩ)_(GND)

これをRTCの電源として使ったところ、I2Cでの読み出しに失敗します。よくわかりません。そこでいろいろ考えてみたんですが、I2Cのデバイスは3Vや5Vが混在していると基本的には信号レベルが保障されないので、レベルシフタを使って補正しないといけないはずなんですね。と言うことは、今までの回路は電源のみ3.3Vで、通信には5V系のI/Oと3.3V系のI/Oを直結してたので、動作マージンの関係でたまたま動いてただけなんですね。

こんなこともあろうかと、以前150円で買っていたI2C用双方向レベルシフタモジュールをかませたら、無事動いた次第です。

| | Comments (0) | TrackBack (0)

2014.10.19

aitendo 16Segキャリーボードで時計を作ろう 6

LEDドライバとしてTLC5940を使って配線を減らしてやろうと思って、いろいろ実験してみましたが、かなり難しいことがわかってきました。

元の回路はシフトレジスタを使って、単純に1セグメント1ピットのON/OFFを考えればよかったのですが、TLC5940はPWM出力で任意の明るさをLED毎にセットできるということで、単純にフォントのビット列を流し込むわけには行きません。また、4桁の16Segユニットをダイナミック表示で順次切り替えて表示するのに、割り込み(MsTimer2)ライブラリを使いたいのですが、TLC5940用ライブラリがPWM制御のためにTimer2割り込みを使っているため、MsTimer2ライブラリとTLC5940ライブラリが同時には使えません。

解決方法は、TLC5940ライブラリに4桁ダイナミック表示用の機能を追加すればなんとかなりそうですが、汎用性がないのと、フォントデータをTLC5940の各チャンネルデータに変換する処理のオーバーヘッドが大きそうで、かなり難易度が高いと思います。(私の手に余るコーディングですorz)

ここは順当にシフトレジスタ2連装、シンクドライバにトランジスタアレイを正しくかませて、明るい表示の時計にしようと思います。

| | Comments (0) | TrackBack (0)

2014.10.14

aitendo 16Segキャリーボードで時計を作ろう 5

Dsc01549

電子工作再開。とりあえず、作りかけのLED時計を再開。
表示ユニットと制御回路をジャンパーワイヤでつないでいるのを、スマートにリボンケーブルとコネクタでつなぎたかったので、買っておいたコネクタのメス側にはめ込む端子をケーブルの先に圧着しました。

これって、専用の圧着器が必要なんじゃないのかな?ラジオペンチでカシメるのはかなり難易度が高いです。しかも、14ピンの両端を2セットというと56個も・・・

基板上でよく見かけるコネクタはXHと言うそうです。この年ではじめて知りました。ちなみにラジオペンチでカシメたのはコンタクトピン@5円でした。

| | Comments (0) | TrackBack (0)

2014.09.13

古いノートPCに今時のLinuxをインストールしてみた②

Dsc01541

古いノートPCにPuppy Linuxをインストールできました。すんなり行かなかったところがあったので、ご参考まで。
機種:東芝Dynabook Satellite 4240
スペック:MobilePenIII 500MHz, RAM 320MB, HDD12GB, 1024x768 16bit液晶
OS:Puppy Linux 5.7.1日本語版
注意点:Xサーバーの自動ドライバ検出でtridentを検出したはいいけど、解像度がなぜか800x600 24bitまでしか指定できませんでした。解決方法は、xorg.confの中の「Section "Screen" 」内の「DefaultDepth 24」を「DefaultDepth 16」、「Subsection "Display"」内の「Depth 24」を「Depth 16」に変更すれば、画面いっぱいに表示できます。VRAMの容量不足が原因でした。

Dsc01542
笑い話:サウンドカードも認識して、いっさいエラーはないのに音が鳴りません。別に困りはしませんが、なんか気持ちが悪いので、いろいろグーグル先生に聞いてみましたが、一向に改善しません。エラーはないけど、alsamixerの画面にspeakerがなく、headphoneがあります。このノートPCにはスピーカーが付いてるのに変だなぁと思いましたが、ここで私、気付いちゃった。この頃のノートPCには手元で音量を変えるボリュームがあったんです。左側面にイヤフォンジャックとボリュームダイヤルがあります。おそるおそる回してテスト音を再生すると「ワンワン!!」無事鳴きました。

| | Comments (0) | TrackBack (0)

2014.09.09

古いノートPCに今時のLinuxをインストールしてみた①

会社で使わなくなった東芝のノートPCを貰ってきまして、さてどうするかと思案していました。
以前なら、Linuxでも入れていろいろ遊んでいましたが、最近のディストリビュータが良くわかりません。
UbuntuがWindowsライクで簡単というのは知っています。でもかなりマシンリソースを食いつぶすようなので、Win98~Win2000マシンには荷が重そうです。

色々調べた結果、Lubuntuが軽くてなんとか動きそうです。さっそくインストールCDの一番小さいものを作って、チャレンジしました。

ターゲットマシンはDynabook Satellite4240。モバイルペンティアム500MHz、メモリーは64MB、HDDは12GB。
今時のUbuntuはメモリ800MBないとインストーラーが動かないそうなので、軽めのLubuntuにしました。

しかし、メモリ64MBでのインストールは想定してない様で、途中でカーネルパニックを起こしてしまいます。しかたないので、中古のSD-RAM-SODIMMのPC100を探しましたが、さすがに見つからず、しかたないのでPC133-128MBを2本買いました。300円x2+送料500円也。

インストーラーはなんとか動きました。

| | Comments (0) | TrackBack (0)

«イラストレーター再インストールで難儀するの巻き