工業製造
産業用モノのインターネット | 工業材料 | 機器のメンテナンスと修理 | 産業プログラミング |
home  MfgRobots >> 工業製造 >  >> Manufacturing Technology >> 製造プロセス

5x5x5LEDキューブ

コンポーネントと消耗品

>
Arduino Mega 2560
× 1
青色LED
× 125
NTE85NPNトランジスタ
× 5
22ゲージの錫メッキ銅線
レイヤーを結合し、レイヤーのカソードをメインボードに下げるために使用されます
× 1
180オームの抵抗、1/4ワット
× 25
9 cm x 15cmプロトタイピングボード
× 1
330オームの抵抗、1/4ワット
× 5
オプション-MEGA用の9ボルト電源
USBケーブルはこのキューブに適切に電力を供給しますが、プラグを差し込んだら、ここに電源があります
× 1

必要なツールとマシン

>
はんだごて(汎用)
ホットグルーガン(汎用)
ブルータック
はんだ付け中にLEDを所定の位置に保持するために使用されます

アプリとオンラインサービス

>
Arduino IDE

このプロジェクトについて

はじめに

ほとんどの人はLEDキューブが大好きですが、8x8x8のような大きなものは、構築とプログラミングの両方で多くの作業を行います。小さいもの(3x3x3または4x4x4)は、多数のLEDを必要としないだけでなく、キューブを管理するためにシフトレジスタやハイサイドドライバーなどの外部ハードウェアを必要としないため、簡単に構築できます。しかし、実際には大きな立方体と同じではありません。

このプロジェクトの開始時からの私の目的は、簡単に作成できるキューブを作成し、大きなキューブを作成するために必要なすべての手間をかけずに、大きなキューブの感触を楽しむことができるように十分なクールなソフトウェアを作成することでした。つまり、これは5x5x5キューブであり、5つのトランジスタ以外の補助ハードウェアのシフトレジスタなしでArduino Megaから直接電力を供給できます(層全体(25個のLEDのカソードをグランドに引っ張るために使用))。シフトレジスタを避けたいのはなぜですか?彼らは手で配線するのは絶対に恐ろしいからです。 (試してみました。)使用する場合は、PCボードを設計および製造する必要があります。

私は過去に大きなキューブ用にたくさんのコードを書いたので、この5x5x5キューブで実行するように既存のキューブアニメーションの束を適応させました。

これは実際にはこのような3つのプロジェクトの最初のものです。 2つ目はこちらです。これは5x5x5RGBキューブであり、デザインはこのキューブと非常に似ていますが、構築が困難です。 3つ目はここにあります-8x8x8の単色立方体で、これも最小限の外部ハードウェアを備えています。

注:ここで先に進む前に、MEGAを搭載した5x5x5キューブを提案するのは私が最初ではありません。 MEGA DASは、2017年に同様のプロジェクトをここで公開しました。両方のプロジェクトのハードウェアはほぼ同じです。見たことがなかった この記事を書き始めるまでの以前のものなので、ピン配置が異なります。 抵抗器 あります 違いますが、それ以外の点では、ハードウェアはほとんど同じです。私はキューブソフトウェアを書いた経験が豊富なため、これを公開しています。私のソフトウェアが、他の方法ではできないかもしれないキューブを構築するように数人の人々を説得することを望んでいます!

上のビデオは、振幅がz軸上にあり、時間が立方体の中心からの水平距離として表されている正弦波関数です。大きな立方体では素晴らしいクラシックですが、この5x5x5ではそれほど悪くはありません!

私は他の2つのビデオを含めています。どちらも同じものです-5x5x5キューブの14のアニメーション。どちらが良いかわからないので、両方を含めました。また、はっきりしない場合は、キューブはビデオよりも実際にははるかにクールに見えます!

ハードウェア

MegaにはたくさんのデジタルIOピンがあります。各層のカソードを低くするために5を使用し、層内の25個のLEDのそれぞれについてアノードを高くするためにさらに25個を使用します。このアプローチを使用すると、Megaには実際に6x6x6キューブを構築するのに十分なIOピンがあります。しかし、これを単純にしようとしている場合のもう1つの考慮事項は、電力です。 Megaの現在の制限は、ピンあたり40 ma、すべてのピンで合計200maです。青色LEDの順方向降下は約3ボルトで、一般的なカソードトランジスタはさらに0.7ボルト降下します。したがって、5ボルトの電源と180オームの抵抗を使用すると、各LEDは7.2mAを消費します。すべてが同時にオンになっている場合、25個のLED /レイヤーは180mAを消費します。一度にオンにするのは1つの層だけなので、NPNトランジスタを使用して層内のすべてのカソードをグランドに引き寄せる限り、Megaの現在の制限をすべて満たします。これらのトランジスタの1つへのベース電流は、メガの合計負荷にさらに5 maを追加しますが、合計を200ma未満に保ちます。約185ミリアンペアで。したがって、上記のすべての理由から、LEDとペアリングするために180オームの抵抗を選択しました。

<図>

上のグラフは、Megaのデジタルピンがキューブに接続する方法を示しています。ピン22〜26は、LEDのカソードをグランドに接続するトランジスタを駆動する5つのピンです。ピン27〜51は、180オームの抵抗を介して層内の25個のLEDのアノードに到達します。

このピン配置の配置が少し混乱しているように見えるのはなぜか疑問に思われるかもしれません。私のソフトウェアは、digitalWritesではなくダイレクトポートアクセスを使用してアノードを構成します。つまり、レイヤー内の25個のLEDのそれぞれをオンまたはオフに設定します。これは多くの時間を節約し、digitalWritesに多くの時間を費やした場合よりもLEDが長く点灯することを意味します。したがって、ピン配置は、実際のピン番号ではなく、これらのデジタルポートへの参照を整理するのに役立つように配置されています。ソフトウェアについて詳しく説明します。

キューブ構造

サイズに関係なく、立方体の作り方については多くの意見があります。あなたのアプローチがどうであれ、その仕事は退屈です。そして、あなたは良い結果を得るために注意と忍耐の両方を行使しなければなりません。私がこれをどのように構築したかをお見せしますが、必要に応じてオンラインで他の手順があります。

この立方体の構築は、鉛の形成とLEDを5列にはんだ付けすることから始まります。次に、5列をはんだ付けしてパネルを形成し、最後に5枚のパネルをはんだ付けして立方体を形成します。これまでキューブを作成したことがない人は、完璧なキューブを作成することがどれほど難しいかを理解していません。リード角の小さな誤差はすぐに蓄積され、間隔のわずかな違いでも簡単に確認できます。したがって、リード形成ステップは重要です。時間をかけて正しく行うと、完璧な立方体は得られませんが、見栄えの良い立方体は得られます。

<図>

アノードはLEDの長いリード線であり、下がっていますが、LEDのアノードの垂直列をはんだ付けできるように、LEDの側面に曲げる必要があります。これらの写真に示すように、アノードオフセットとカソードリードは互いに90度でなければなりません。

私は個人的にリードが手に負担とハードの両方を形成しているのを見つけたので、私は25個のLEDをリードしてから、パネルを作成します。コラムとパネルの両方を作るために、ある種のジグが必要になります。このジギングは、再利用可能な接着剤であるBlueTackを使用して行います。 LEDをBlueTackに押し込み、カラムとパネルがはんだ付けされている間、所定の位置に留まることができます。インデントを使用すると、まったく同じ間隔でこれらのプロセスを繰り返すことができます。初めてすべてを非常に注意深く測定することが重要です。 3方向すべてでLED間に0.6インチの間隔を使用し、完成した立方体を標準の0.1インチの穴間隔でボードに挿入できるようにしました。

<図>

<図>

LEDのはんだ付けに関する注意 :すべてのキューブメーカーの悪夢は、キューブをすべて構築し、キューブの内側に冷たいはんだ接合部があり、もう到達できないことを発見しています!作成するLEDの各列で、はんだ接合が適切であることを確認するように注意してください。

<図>

<図>

各パネルを終了したら、それをテストします。繰り返しになりますが、これを行うのは、キューブが完成したときに冷たいはんだ接合または不良LEDを見つけるのは悲惨なことになるためです!

ソフトウェアには、パネルをテストする小さなスケッチが含まれています。このテストを実行するには、5つの垂直アノードリード線を5つの抵抗器(330オームなど)に接続し、次にそれらの抵抗器をピン40〜44(列0のアノードピン)に接続する必要があります。次に、5つのカソードピンを、カソードを駆動するために通常使用されるピン、ピン22〜26に接続します。良いパネルは上のビデオのようになります。 (補足として、カソードを駆動するためにまだトランジスタを使用していないため、この小さなテストルーチンはカソードをローに駆動してLEDをオンにします。トランジスタを取り付けたら、反対のことを行います。つまり、カソードをハイに駆動してターンします。トランジスタをオンにして、カソードを低くします。)

5つのパネルを作成してテストすると、キューブを組み立てる準備が整いますが、最初に、必要なすべての抵抗とトランジスタを挿入して接続することにより、ボードを準備する必要があります。

<図>

180オームの抵抗器を各アノードカラムのすぐ隣に配置し、カソードトランジスタとそのベース抵抗器をキューブとメガの間のスペースに配置しました。この場合も、アノードカラム間の間隔は両方向で0.6インチであるため、アノードカラムのある各穴の間のボードに5つの空の穴があります。

今がArduinoをボードに載せる良い機会です。スタンドオフがある場合は、スタンドオフに取り付けることができます。私は実際に、小さなプラスチック片と小さな接着剤を使用して、メガをボードの約1/4インチ上に取り付けました。

この時点で、パネルはそれぞれメインボードに取り付けられています。はんだ付けする前に、すべてのアノードカラムが実際に正しい穴にあることを確認してください。完成したキューブでは1つの穴のエラーでも目立ちます。そして、すべてのパネルを同じ方向に向けておくようにしてください。すべての陰極リード線が同じ側から出ています。

<図>

次に、各層でパネルを相互に接続して、特定の層のすべてのカソードが接続されるようにする必要があります。これは、5本の陰極線を層状に接続する錫メッキされた銅線の真っ直ぐな部分で実現されます。

<図>

次に、各層のカソードをメインボードに接続する準備が整いました。上の写真の円は、各層のカソードが接続され、トランジスタのコレクターに接続されている場所を示しています。ここでも、錫メッキされた銅線をまっすぐに使用しています。

抵抗器からメガにすべてのリード線を接続したら、最終的に完成したキューブをテストする準備が整います。ソフトウェアでは、キューブをテストするためのスケッチを提供しました。キューブ内の各LEDが順番に短時間点灯します。すでに各パネルをテストしているので、この時点で見られる問題は、最近のカソード接続に関係している可能性があります。そのため、1つのレイヤーが機能していないか、1つのレイヤーの一部であることがあります。繰り返しになりますが、問題が発生した場合は、コールドはんだ接合が発生する可能性があります。

ソフトウェア

キューブ内の各LEDのステータスは、cube [] [] []と呼ばれる5x5x5のグローバルバイト配列によって定義されます。 1はLEDがオンであることを示し、0はLEDがオフであることを示します。したがって、キューブのすべてのアニメーションは、1と0をcube [] [] []に配置することによって作成されます。

キューブソフトウェアの心臓部は、キューブを更新する時限割り込みです。私の割り込みルーチンはsetup()で開始され、プログラムの最後にあります。 10ミリ秒ごとに呼び出されます。約6ミリ秒かかります。キューブを更新します。それは4ミリ秒を残します。メインループ内のものを実行するための各更新の間に。

リフレッシュ中、各レイヤーは1.2ミリ秒の間オンになります。更新は1秒間に100回行われます。したがって、オンになっている個々のLEDは、120ms /秒または12%のデューティサイクルでオンになります。 1秒あたり100回は、人間の目が連続して点灯しているように見えるのに十分な速さであり、12%のデューティサイクルは、LEDが連続的に点灯している場合ほどではなく、驚くほどそれに近いLEDをかなり明るく点灯させるのに十分です。 。

リフレッシュサイクルを可能な限り短くし、LEDが点灯する時間を最大化するために、digitalWriteコマンドの無駄な時間を回避し、直接ポートアクセスを使用してピンを構成します。割り込みルーチンのコードを見ると、このダイレクトポートが使用されている25行が表示されます。これは見た目はあまり良くありませんが、実際には、数行のコードよりもはるかに高速です。 digitalWriteでピンを設定するために使用されます。

loop()は、各アニメーションを呼び出すだけで、リストを調べて最初からやり直します。アニメーションはそれぞれ独自のサブルーチンにあります。一部のアニメーションルーチンは、他のルーチンを呼び出します。さまざまなアニメーションの説明については、コード自体を参照してください。すべてのLEDをオフにするclearCube()やcopyDown()など、すべてのアニメーションで使用されるユーティリティルーチンもいくつかあります。これにより、各レイヤーのコンテンツがその下のレイヤーに移動し、次に最上位のレイヤーがクリアされます。

ダウンロードできるスケッチは3つあります。メインのものには、ビデオで見た15のアニメーションが含まれています。パネルテストとキューブテストのスケッチは、構築中にキューブをテストするためにのみ使用されます。

コード

  • 5x5x5キューブソフトウェア
5x5x5キューブソフトウェア Arduino
パネルテスト、キューブテスト、3つのスケッチが含まれています
および15のアニメーションすべてを含むショー
プレビューなし(ダウンロードのみ)。

カスタムパーツとエンクロージャー

完全にオプションですが、3Dプリンターにアクセスでき、私のビデオに表示されるボックスが必要な場合は、次のようになります。

回路図

基本の概略図 キューブとメガの間の正確な接続を示します

製造プロセス

  1. アイロン台
  2. ルービックキューブ
  3. プリント回路基板
  4. サーフボード
  5. 発光ダイオード(LED)
  6. RaspiRobot Board V2
  7. Simple Word Clock(Arduino)
  8. 棺ダンスメロディー
  9. スマートタッチスイッチボード
  10. LEDを制御するBluetoothを搭載したArduino!
  11. シンプルなUNO計算機