The Annoy-O-Bug:A Chirping Light-Up Throwie
コンポーネントと消耗品
> |
| × | 1 | |||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 |
必要なツールとマシン
> |
|
アプリとオンラインサービス
|
このプロジェクトについて
ミント缶を入れるのに十分小さいが、ユニットあたりわずか数ドルで家の向こう側で聞こえるのに十分大きい。かなり良いいたずらのための素晴らしい組み合わせ!飛び込みましょう!
ステップ1:回路
このビルドのパーツセクションのリンクを使用して、OSHParkからプリント回路基板を購入できます。 ATtinyや私自身のプリント回路基板を使用する必要は決してありません。この回路は、ブレッドボードに組み立てるのに合計で約20分かかります。ただし、回路を小さくしたい場合は、プリント回路基板オプションを使用します。ブレッドボードまたはパフォーマンスに興味がある場合は、ブレッドボードバージョンを上に示します。 ATtiny85を任意のマイクロコントローラーと交換します。
ステップ2:PCBを組み立てます
これは、コンポーネントを実装するのにかなり簡単なPCBである必要があります。ブザーとLEDは であることに注意してください。 分極成分。ブザーの長いリードは丸いパッドを通り、短いリードは四角いパッドを通ります。 LEDの長いリード線は、白い長方形の反対側の穴を通過する必要があります。これの唯一のトリッキーな部分は、バッテリーコネクタをはんだ付けすることです。最初にすべてのコンポーネントを前面にはんだ付けしてください。次に、バッテリーコネクタのアースピンをパッドにはんだ付けします DIPソケットの中央にある穴。
いたずら好きに小さなメッセージを書きたい場合に備えて、PCBに白いシルクスクリーンの長方形も含めました:)。 PCBをカスタマイズしたい場合は、私のcircuits.ioデザインを複製してください:https://circuits.io/circuits/2677013-annoying-circuit。
ステップ3:ソフトウェア
// Alex Wulffによって生成されたコード:http://www.AlexWulff.com #define BUZZ 0 #define LED 1 #define BEEP_DELAY 30#define LIGHT_DELAY 200 #define INITIAL 5000 //値はミリ秒単位です。 // 10,000msは46.5秒の合計シーケンス時間を生成します// 20,000msは91.5秒の合計シーケンス時間を生成します// 30,000msは136.5秒の合計シーケンス時間を生成します//パターンを取得します。 10秒ごとに、シーケンスの合計時間がさらに45 //秒になります。 void setup(){//出力ピンを初期化しますpinMode(BUZZ、OUTPUT); pinMode(LED、OUTPUT); //ライトを点滅させて、デバイスが機能していることを確認します(int i =0; i <5; i ++){digitalWrite(LED、HIGH); delay(LIGHT_DELAY); digitalWrite(LED、LOW); delay(LIGHT_DELAY); }} void loop(){// 50回反復し、ループ遅延を毎回1 / iの係数で減らします(int i =1; i <50; i ++){digitalWrite(BUZZ、HIGH); digitalWrite(LED、HIGH); delay(BEEP_DELAY); digitalWrite(BUZZ、LOW); digitalWrite(LED、LOW); delay(INITIAL / i); }}
上記は、このデバイスの機能の一部を表示する短いサンプルプログラムです。上部に表示されているビデオで実行されているプログラムでもあります。後続の各ビープ音の間の時間は徐々に短くなり、非常に煩わしいものになる可能性があります。 INITIALをもっと大きなものに変更することで、このスケッチのタイムスケールを変更できます。これを1週間にわたって実行し、毎日徐々に速くすることも可能です。
また、ビープ音を鳴らしてランダムに点滅する非常に単純なプログラムを作成したり、ブザーにLEDに合わせて短い曲を再生させたりすることもできます。可能性は無限大です!
私はAutodeskCircuitsシミュレーションを作成しました。これにより、配線をしなくても仮想回路でスケッチを試すことができます。ここで試してみてください:https://circuits.io/circuits/4778452-the-annoy-o-bug-a-chirping-light-up-throwie/。
ステップ4:ATtiny85のプログラミング
Arduino Uno(または実質的にすべてのATmegaベースのデバイス)と10uFコンデンサを使用してATtinyをプログラムできます。手順については、https://www.hackster.io/arjun/programming-attiny85-with-arduino-uno-afb829をご覧ください。
ATtinyをDIPソケットから取り外すときは注意してください。指で引き抜くよりも、ペンチを使って引き抜くと便利な場合があります。
ステップ5:配置
このデバイスを配置するのは半分の楽しみです。部品をどこで調達するかにもよりますが、これらの赤ちゃんの費用は5ドル未満です。それらの多くを作るのは比較的安価です。それらは鉢植えの植物、小さな箱、枕、ランプの中、机の上、そしてあなたが想像できる他のどこにでも置くのに十分小さいです!ウォッチドッグタイマーを使用してATtinyをスリープ状態にすると、この回路はコイン電池で1年以上動作する可能性があります。
以上です! 特定のプログラムの作成や回路の組み立てについてサポートが必要な場合は、以下にコメントしてください。喜んでお手伝いさせていただきます。
私のプロジェクトをもっと見るには、www.AlexWulff.comとhttps://www.hackster.io/AlexWulffをチェックしてください。
小さな免責事項:このプロジェクトの性質上、一部の人は、プロジェクトが生成する音を爆発的な脅威の可能性があると解釈する可能性があります。したがって、問題が発生する可能性のある公共の場所にこれらを置かないでください!
コード
- 迷惑な回路
迷惑な回路 Arduino
// Alex Wulffによって生成されたコード:http://www.AlexWulff.com#define BUZZ 0#define LED 1#define INITIAL 5000 // 10,000 msは、46.5秒の合計シーケンス時間を生成します// 20,000msは、合計シーケンス時間91.5秒// 30,000ミリ秒で合計シーケンス時間136.5秒//パターンが得られます。 10秒ごとに、シーケンスでさらに45 //秒の合計時間が生成されます。voidsetup(){//セットアップコードをここに配置して、1回実行します。pinMode(BUZZ、OUTPUT); pinMode(LED、OUTPUT); //ライトを点滅させて、デバイスが機能していることを確認します(int i =0; i <5; i ++){digitalWrite(LED、HIGH); delay(200); digitalWrite(LED、LOW); delay(200); }} void loop(){for(int i =1; i <50; i ++){digitalWrite(BUZZ、HIGH); digitalWrite(LED、HIGH); delay(30); digitalWrite(0、LOW); digitalWrite(LED、LOW); delay(INITIAL / i); }}
回路図
PCBデザイン
製造プロセス