30個のLEDを備えた時計

そのようなことわざがあります-私がArduinoで何かをし始めると、通常は時計が判明します。 私たちはこのルールから離れて時間を作りません。 マイクロコントローラー(MK)を使用することは私の趣味です。 MKのデートとマスタリングの低レベルのエントリーが好きでした。 さらに、プログラマーとして教育を受けた彼女は、MKベースのシステムの作成という新しい技術を習得する機会に魅了されました。

設計

このデザインの決定は、 東京ライツのウェブサイトの時計から着想を得たものです。この形式画像は、30個のダイオードで時間を表示できる可能性が限られているにもかかわらず、認識できる時間の輪があり、一目でどのくらいの時間が見えるかということを気に入っていました(予備トレーニング後)。 今では5時間46分です。

説明

時計は内部タイマーを使用します。 このようなソリューションのテストでは、3日間で±1分以下の精度が示されました。 より長い期間はテストされていません。 30個のLEDを接続するには、制御信号の数を減らす回路が必要です。 デコーダー、レジスターが可能です。 ただし、この時計に魔法を追加するかなり厄介なLED接続スキームがあります。


この技術はCharlieplexingと呼ばれます。 30個のLEDを接続するには、(X = N *(N-1))-6つのポートのみが必要です。 真の表示は動的になります。 ほんの少しの時間だけが輝きます。 目の知覚の慣性により、ダイオードは絶えず光っているように思われます。

チャーリプレックス技術

Wikiで説明されています。 「1」ピン1と「0」をピン2に供給すると、LED 1 LEDが点灯しますが、LED 2 LEDは点灯しません。 極性を変更すると、LED 2が燃焼します。


次の図は、ポートの保存方法を示しています。 3つのポートで6つのLEDを制御できます


ポートを回線から切断するには、ポートの3番目の状態が使用されます。これは「入力時」にオンになります。 arduinoには、charlielexingの原理を実装するための特別なパッケージがあります。

実装
実装には、次のものが必要です。
  1. Arduino互換ボード
  2. Arduino用のプロトボードとアダプター
  3. 30個のLED(アラームの場合は12 + 5 + 9時間4分)
  4. 6個の制限抵抗
  5. 2つのボタン



RobocraftChip and Dipで購入。 おおよそのコスト-1500ルーブル

プロテウスのスキーム

開発とモデリングは、Proteusパッケージで実行されました。 モデリングはあまり成功していません。なぜなら、 動的な兆候を捉えることは困難です。 おそらく追加の仮想ツールを使用する必要があります。


一般的なビュー







配線

配線については、要素を手動で配置する必要がありました。


長い間、このような大量のはんだ付けを決定しました。 プロセスは単純ではなく、スキルと忍耐が必要です。 おそらく、私は再びそのような仕事をすることはないでしょう。 Laser-Ironing Technologyのようなもっと便利なものを試します。 真のエッチングと穴あけが必要です。


LEDビュー

ボタンは時間と分を設定します。 最終製品では、それらを転送する必要がある場合があります。

設置


設計のプロトタイプ


見込み


プロジェクト
ProteusのプロジェクトファイルとArduinoのプログラムはこちら

Source: https://habr.com/ru/post/J82877/


All Articles