何を隠して、私たちは皆、さまざまな贈り物やお土産を受け取り、作るのが大好きです。 特に良いのは、予期せぬプレゼンテーションと理由なしで与えられるトークンです。 そしてさらに記憶に残るのは、自分の手で作られたものです。
右の写真に示されているこれらの贈り物の1つは、この物語です。
このアイデアは、踊るLEDと抵抗のペアのイメージを作成するというアイデアに基づいています。 しかし、踊る人がモールス信号で指定されたフレーズを点滅させない場合、この点滅が携帯電話のカメラからしか見えず、単純な裸眼では見えない場合、そして彼らが象徴的にウィンクしてしっかりつかまっていない場合、アイデアはそれほど面白くないでしょう手。
habrakatの下のスキーム、ファームウェアコード、およびコメント。
図から始めましょう:
ここで、K
1-キーは「仮想」のみであり、その役割は手で演じられます-互いを保持し、回路が開いていない、または-いいえ。 VD
1およびVD
2は最も一般的なIR LEDであり、テレビのリモコンで機能するものと同じです。 肉眼では見えないが、携帯電話のカメラを通して非常にはっきりと見えるのは彼らの輝きです。 代わりに、通常の、たとえば赤色のLEDを使用できますが、同時に、これらの素晴らしいダンスの小さな男性のプレゼンテーション中に、驚きと驚きの同じ効果が失われます。
回路には多くの抵抗がありますが、動作に重要なのはR
1 = R
2 = 51オームとR
3 = 10 kOhmの
3つだけです。 他のすべては、抵抗がゼロまたは短絡されている必要があります。 キャパシタンスC
1 = 0.1μF。
モールス信号によるメッセージの送信に関しては、マイクロコントローラー(Atmel
ATtiny13A )なしではできません。 私たちのLEDに一連の「ドット」と「ダッシュ」を出すのは彼です。 これを行うために、メッセージは準備された数字の配列の形式でプログラムに保存されます。数字の各ビットは、指定されたLEDが点灯するかどうかを示します。 これらの配列を準備するために、モールス符号でエンコードされたメッセージから標準入力文字列をドットとダッシュの形式で取得し、数値の配列をコンソールに返す単純なコンソールプログラムが作成されました。
回路全体の電源は、おなじみの、おそらくは愛用の
CR2032バッテリーによっても提供されます。
マイクロコントローラーのファームウェア自体は非常にシンプルで簡単です。 タイマー割り込みハンドラーの主要な機能のみを提供します。
ISR(TIM0_COMPA_vect) { static uint8_t tmp; if (!(PINB & _BV(HANDS)))
ここで、p1とp2は、メッセージに現在表示されているビットのカウンターです。
完全なファームウェアコード、メッセージを変換するためのプログラム、図、およびこのプロジェクトを開発するために必要なすべてのものをここからダウンロードしてください 。
そして今、完成したお土産のいくつかの写真:
それらのいくつかは、幸せな所有者の手さえ見せます:)
また、K155LA3マイクロサーキットのこれらのキューティーを「ガード」として使用できます:)
さて、または単に登山家の勇気に驚いて、システムのすべての力をよじ登ってください:
いくつかの写真の品質をおaびします。ご清聴ありがとうございました!