LEDキューブ8x8x8、面白くて美しい

はじめに



この考えは私の頭に浮かびました。今年の秋まで、人々が人生で似たようなことをしているとは思いもしませんでした。 実際、そのような「キューブ」が存在するという事実について、回路の先生は言って、このトピックをコースワークとすることを提案しました。



将来を見据えて、私はあなたが仕事の量を巨大なものとして考える必要はないと言いたいです。 それどころか、私はかなり多くのことをしなければなりませんでしたが、「ハ、私は数日中にやる」と思う人々-反対の準備をしてください。 そして、プロセス自体は、何らかのプログラムコードを書くことよりも悪くない作業に関係しています...



3x3x3、4x4x4、および5x4x5のサイズの小さな作品を見て、私は徐々により良いことに気づきました。



マイルストーン#1:
これまではんだごてで作業したことがない場合は、まずLEDのすべての脚をはんだ付けする必要があることに注意してください。これは2 * 512であり、それほど多くはありません。 だから、いくつかの猫で練習してください。



インターネットには、この件に関する説明がたくさんあります。 しかし、最初から最後まで、それはinstructables.comでのみ表示されるように見えました。 私は個人的に2倍少ないコンポーネントを使用しました。 当然、機器はよりシンプルでした。 その結果、 小さなおもちゃには次のものが必要になります。



-512個のLED(6ドル-aliexp)

-STP16CPS05MTR LED用の5つの特別なマイクロ回路(9ドル-aliexp)

そのような部品を自然にバッチ処理する方がより有益です

-8個のBD136 pnpトランジスタ(国内の同等品も適しています)

-5つの1kΩ抵抗(動作電力2 W)

-5個の10uFコンデンサ(動作電圧35〜50 V)

-接続ワイヤ(セットバックを考慮して約10 mが出てきた)、はんだ付け、およびすべての人



レイアウトの作成を開始する時間



私たちは、ドリル、定規、8x8グリッド(主に私のような8x9をしないことです)を作成します。ポリスチレン、木の板、またはその他のものです。 そして、LEDに注意して穴を開けます。



画像



マイルストーン#2:
キーワードは「ニート」で、左または右に数ミリメートルあり、最後にすでに湾曲した立方体があります。



この手順が完了したら、LEDをセルに挿入し、次の規則を順守します。



a)すべてのアノードが左側に、カソードが右側にある必要があります。 またはその逆。 お好みで。

b)上から1行目には、斜めにLEDが含まれている必要があります。



画像



この原理により、カソード(-)を接続します。 点線でマークされている場所に、何らかの種類のワイヤを取り付けて、層が両側でしっかりと保持されるようにします。



この柔らかい層を保持していると、バラバラになるかもしれませんが、実際には、層を固定し始めると、この構造は安全に床に投げることができ、ほとんど何もバラバラになりません。

最初の層の合計



画像



2番目の層のはんだ付けを開始する前に、次のようにすべての陽極を取り、曲げる必要があります。



画像

複数のレイヤーを結合



画像



マイルストーン#3:
初心者の方は、ワイヤを扱う場合は特別なはんだペースト(フラックス)を使用してください。



あなたが少し疲れているとき



画像



それで、64本のワイヤをアノードにはんだ付けします。これは「下部」にあり、電子回路自体に進むことができます。



画像



両側のマイクロ回路の出力がキューブ列の共通アノードに流れ、5番目にトランジスタを介してレイヤー制御を多重化していることがわかります。 すべてが複雑ではないようです。特定の列とレイヤーに信号が送信され、一対の発光LEDが得られます。



実際、次のように機能します。



画像



クロック、データ、ラッチの3つの入力があります。 8ビットが解決すると、ラッチが作動し、データがレジスターに入れられます。 なぜなら 私たちの超小型回路はシフトレジスタで作成され、異なるビットの情報でキューブを1回描画するには、1バイト(電圧が印加される層の数で8ビット)を書き込む必要があります。 5番目のチップでは、ピンは何にも接続されていません。 次に、8列のグループごとに1バイトを書き込みます。 対応するビットは、どの列を点灯するかを決定し、アクティブ化されたレイヤーと交差する場所を決定します。その交差点のLEDは電圧を受け取る必要があります。



一般的な参照用の開発者データシートの図を以下に示します。



画像



1バイトのデータを書き込む方法:



void CUBE::send_data(char byte_to_send){ for(int i = 0; i < 8; i++){ if(byte_to_send & 0x01<<i){ digitalWrite(SDI, HIGH); //          } digitalWrite(CLK, HIGH); //     digitalWrite(SDI, LOW); digitalWrite(CLK, LOW); } } void CUBE::latch(void){ digitalWrite(LE,HIGH); //        . digitalWrite(LE,LOW); }
      
      





私はArduino UNOを使用しました(私はそれを取りました)が、ここではどのモデルでも実行できます。 nanoとminiの両方。3つのデジタル入力とvcc + gndのみが使用されるためです。



それとは別に、追加の電源ユニット(私はアダプター12V 2Aを使用しました)の世話をし、すべての層を表示するために、電流がそのような強度であり、必要であると思われます。



Arduinoのスケッチ形式のすべてのソースコードはこちらです。





このアイデアの著者であり、精神的な指導者であるニック・シュルゼに感謝します。 hownottoengineer.comから取得した資料。 すべての創造的な努力の幸運と成功!



All Articles