8x8x8 LEDディスプレイの表示プログラムを考える

  Рет қаралды 6,387

よみや

よみや

Күн бұрын

まずは3D-VRAMという概念を定義します。そしてタイマ割り込みを使用してLEDのダイナミックドライブをバックグランドで処理することで、メインプログラムからは3D-VRAMにデータを書き込むだけで目的の3Dオブジェクトを表示できるようにプログラムしてみました。

Пікірлер: 12
@shoroto6034
@shoroto6034 2 жыл бұрын
おーすごい、3次元を作るというのは面白いアイデアです。 また、高校の数学で出てくる3次元の直線、面、球などの表現も面白いですね。 真似したいですね。 外の回路も最初は大規模かと思いましたが、そうでもないですね。 プログラム次第で、どうにでも表示できるところがマイコンの素晴らしさです。  それにマイコンだととにかくコストが安い。 余談ですが、これをドライブ回路以外をFPGAでやっても同じことはできるでしょうし、論理回路部が1石で済むので手配線が楽になりますが、値段は結構、高くなってしまいます。 リフレッシュレートは16msくらいで表示すると、自分でも他の全く違うLEDとかで試したのですが、カメラではちらついてしまいますね(^^);   十分に早くすれば、動画でもちらつかないと思いますけど。
@神谷登-n4c
@神谷登-n4c 2 жыл бұрын
毎度勉強になる動画をありがとうございます
@Tn-fr9pd
@Tn-fr9pd 3 жыл бұрын
砲弾形でなく球体のLEDが存在したらより良いですね
@かみたん-y5h
@かみたん-y5h 3 жыл бұрын
よみや様 息子がこの動画を見て感動し、同じもの?を真似て作って見ました。 が、LEDが点灯しません。 配線がちゃんとできているか?プログラムが合っているか? 素人なのでどうチェックして良いかわかりません。 配線はテスターでチェック出来ますでしょうか? シフトレジスタやトランジスタが絡むと、 どうチェックしたら良いか検討がつきません。 勝手に真似しておきながら大変恐縮ですが、 アドバイス頂けないでしょうか。
@yomiya-ch
@yomiya-ch 3 жыл бұрын
コメント、ありがとうございます。 すみません、最初に1点、動画で紹介した回路図は実際に作った回路と比べて、Scan方向に使っているシフトレジスタの位置が逆になっていました。紹介したプログラムも参考にしたのであれば、以下の様にシフトレジスタへ転送する順序を変えて見てください。 /* * ダイナミック表示用タイマ割り込みルーチン */ void dynamic_drive(void) { int8_t x; // シフトレジスタにデータを転送 scan_line = (scan_line+1) & 0b111; shiftOut(HC595_A, HC595_SHIFT_CLOCK, LSBFIRST, 1 =0; x--){ shiftOut(HC595_A, HC595_SHIFT_CLOCK, LSBFIRST, video_ram[1-plane_number][x][scan_line]); } // 出力段のラッチにデータを転送 digitalWrite(HC595_LATCH_CLOCK, HIGH); digitalWrite(HC595_LATCH_CLOCK, LOW); } ここをクリアしているのであれば、あとは配線ですが、テスターだけでもチェックは可能かと思います。 まずはLED側の配線の問題なのか、シフトレジスタ側の問題なのか切り分けます。 まずはシフトレジスタへ正しくデータが転送されているか? 上記のdynamic_drive関数を使ってデータを転送して見ます。timer割り込みなんかを使わずに、別にスケッチを準備してloop関数から呼び出す様にした方がいいかもしれません。 ちなみに以下の様に転送する全てのデータを0xFFにしてやってみるとLEDは光りますでしょうか? // シフトレジスタにデータを転送 shiftOut(HC595_A, HC595_SHIFT_CLOCK, 0xFF); for(x=7; x>=0; x--){ shiftOut(HC595_A, HC595_SHIFT_CLOCK, LSBFIRST, 0xFF); } 配線が正しければ、最初に言ったシフトレジスタの配置順序関係なく全てのLEDが光るはずです。光らないのであれば、この状態で74HC595のQAからQHの信号は全てHが出力されているか見てください。 Lになっている場合にはAruinoと74HC595の配線に問題がありそうです。Arduinoとの接続と、74HC595のOUTPUT_ENABLEがL、RESETがHになっているか確認。 Hが出力されているにもかかわらず、光らないのであれ74HC595より先に問題があると考えられます。LEDが光るかどうか確認する場合には74HC595をソケットを使っているのであれば、外してしまって、回路図左端にある、74HC595のソケット(抵抗を通してトランジスタの繋がったソケット)のQA-QHのどれか1つとの残りの74HC595の8つのソケットのQA-QHのどれか1つ を共に5Vを印加した時に交点にあるLEDが光るかどうか、光らなければ交点にあるLEDに接続される配線に絞って確認。 とりあえず今思いつくところはこんな感じです。 不明な点がありましたら、又連絡ください。
@yomiya-ch
@yomiya-ch 3 жыл бұрын
すみません、もう一箇所変更している箇所がありました。すでにお気づきかもしれませんがArduinoから74HC595への接続信号が回路とプログラムで違ってます。回路に合わせてピン設定していただくか、回路に合わせたプログラムを以下のサーバに置きましたので、よろしかったら参照して見てください。 www.dropbox.com/sh/id0rr3c2dhd3zj0/AADW_0D_g_YFDXLB8rExUAgMa?dl=0 8x8x8 LEDディスプレイの表示プログラムを考える test.inoはLEDを全て光らせるプログラムです。動画の回路図に合わせてあります。 LED_CUBE, LED_CUBE_1は動画のデモで使った物だと思いますが、若干変更してるかもしれません。 LED_CUBE_PORTはポートを直接叩いて高速化したVersionです。これらも動画の回路図に合わせてあります。
@かみたん-y5h
@かみたん-y5h 3 жыл бұрын
@@yomiya-ch 大変詳しくご教示頂きありがとうございます。 取り急ぎ御礼申し上げます。 息子と一緒に解決できるようトライしてみます。 時間がかかるかもしれませんが、結果を後で報告したいと思います。
@kamitanpe
@kamitanpe 2 жыл бұрын
@@yomiya-ch いろいろチェックしてみているのですが、未だ上手くいっておりません。シフトレジスタのことも勉強し少しずつやっていることを理解し始めております。一つ確認です。回路図では特に接続しているように見えませんが、各シフトレジスタのGNDの端子はGNDに接続する必要がありますか?
@yomiya-ch
@yomiya-ch 2 жыл бұрын
@@kamitanpe GNDはつなぐ必要があります。あと、VCCもつなぐ必要があります。Aruduinoの5Vの端子に繋いでください。 すみません、私の回路図の書き方なんですが、GNDとVCCは電源で必ず繋ぐので、特に回路図には書いていませんでした。
@RS-kx9rp
@RS-kx9rp 3 жыл бұрын
すごいです、、真似てみたいが難しそう^;
[電子工作]TM1638 8ビット LEDデジタルチューブ
13:25
マイコン内蔵アドレッサブルRGB LED 3種類紹介
18:32
Каха и дочка
00:28
К-Media
Рет қаралды 3,4 МЛН
My scorpion was taken away from me 😢
00:55
TyphoonFast 5
Рет қаралды 2,7 МЛН
Cheerleader Transformation That Left Everyone Speechless! #shorts
00:27
Fabiosa Best Lifehacks
Рет қаралды 16 МЛН
How to make a 16x16x16 LED CUBE at home with Arduino platform
20:09
Malt Whiskey
Рет қаралды 4,4 МЛН
Let's Learn How to Control Stepper Motors from Scratch!
12:31
Tokyo Kudan Makers Labo [東京九段工作ラボ]
Рет қаралды 9 М.
Hacker's Guide to UART Root Shells
17:40
Flashback Team
Рет қаралды 517 М.
ESP32のRMTを使って赤外線リモコン
14:24
よみや
Рет қаралды 13 М.
[Eng sub] 【For Beginner】How to start electronics and what item is needed.
18:16
4×4×4 LED Cube Light Using Arduino nano | Electronic Project
11:56
電子ペーパーを使ってみよう
10:55
よみや
Рет қаралды 8 М.
6 Horribly Common PCB Design Mistakes
10:40
Predictable Designs
Рет қаралды 242 М.
[電子工作]8x8x8 LED Cubeの作成
15:18
よみや
Рет қаралды 18 М.
Каха и дочка
00:28
К-Media
Рет қаралды 3,4 МЛН