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

Arduino Laser Tripwire

コンポーネントと消耗品

>
Arduino UNO
または互換性のあるArduinoUnoボード
× 1
ソルダーレスブレッドボードハーフサイズ
× 1
抵抗10kオーム
× 3
ジャンパー線(汎用)
× 1
フォトレジスター
× 2
レーザーダイオード
× 1
SparkFunプッシュボタンスイッチ12mm
× 1
ブザー
× 1

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

>
Arduino IDE

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

レーザートリップワイヤーの構築

コンポーネント

次のものが必要になります:

  • いくつかのジャンパー線
  • 3 x10k抵抗器
  • 2xフォトレジスター
  • ボタン
  • ブザー
  • レーザー
  • Arduino
  • ブレッドボード
  • そして鏡

また、レーザー検出回路には別のブレッドボードを使用しました。 (これは、ヒープがフォトレジスターにレーザーを配置するのに役立ちました。)

レーザー検出器を作る

回路のレーザー検出セクションから始めます。

最初に2本のジャンパー線をつかみます。赤と黄色があります。 2本のジャンパー線を2つの別々の端子台に配置します。フォトレジスターをつかんで、赤いリード線と端子台に接続します。別の端子台と赤いリード線の間にもう一方のフォトレジスタを配置します。黄色のリード線から10kの抵抗器をフォトレジスターの1つに接続し、他の10Kの抵抗器を他のフォトレジスターと黄色のリード線の間に接続します。さらに2本のリード線をつかみ、それらをフォト抵抗器と10k抵抗器の各交点に接続します。緑とオレンジのジャンパー線を使用しました。

黄色のリード線をブレッドボードのマイナスに接続し、赤色のリード線をブレッドボードのプラスに接続します。オレンジをA0に接続し(これに接続されているフォトレジスターがレーザー検出器になります)、グリーンをA1に接続します(これに接続されているフォトレジスターが環境光検出器になります)。

次はブザーを鳴らそう

ブレッドボードの任意の場所にブザーを配置します。マイナスレールとブザーのマイナスの間にリード線を接続します。ブザーのプラス側をArduinoのピン3に接続します。

ボタンを作る

次は、ボタンセクションを作成します

2つの端子ストリップの間にボタンを配置します(2つのストリップの間にボタンが押されたときにのみ接触することを確認してください)。最後の10k抵抗をボタンの一方の端と負のピンに配置します。ジャンパー線を使用してアースレールに接続しました。ボタンのもう一方の端をプラスレールに接続します。次に、ボタンと抵抗の交点をArduinoのピン4に接続します。

レーザー光の時間です!

最後に、レーザーをピン2とアースに接続しましょう。私はこれらの両方にArduinoのピンを使用しました。クロコダイルクリップをスプリングとケーシングに接続し、ベルクロでボタンを押したままにして「ハッキング」した安価なレーザーを使用しました。

Laser TripWireを実行するプログラムを作成しました。

ボタンが押されているかどうかを継続的にチェックします。押すとセットアップモードになり、もう一度押すと武装モードになります。

セットアップモードの場合、次のようになります。

  • 値をシリアルポートに出力します。
  • フォトレジスタのライトが十分に明るい場合、ピン13が点灯します。この機能により、レーザーを向けることができます。

武装モードでは、次のことを行います。

  • 3秒ごとにシリアル通信で報告します。
  • レーザービームが遮断されると、トリップモードが開始され、レーザーが遮断されたためにフォトレジスターの値が低下するかどうかがチェックされます。

トリップモードでは、トリップワイヤが「トリップ」されています:

  • ビープ音が3回鳴り、データがシリアルポートに送信されます。
  • その後、武装モードに戻ります。

コード

  • レーザートリップワイヤー
レーザーTripwire Arduino
 // 5ピントリップワイヤ// Variablesint mode =1; int ambiant; int trip =1000; // laserintを使用したときに取得するライト値minLight =900; int makeBeep =1; //ビープ音なしの場合は0、ビープ音の場合は1!int atAverage; long millisCount; //出力ピンsintlaserPin =2; int ledPin =13; int buzzerPin =3; String modeNames [3] ={"SETTINGS"、 "ARMED"、 "TRIP"}; //入力PinsintmodePin =4; int tripPin =A0; int ambiantPin =A1; void setup(){pinMode(ledPin、OUTPUT); pinMode(laserPin、OUTPUT); pinMode(buzzerPin、OUTPUT); pinMode(modePin、INPUT); Serial.begin(9600);} void loop(){//ボタンが押されたときif(digitalRead(modePin)==1){trip =analogRead(tripPin); mode =mode + 1; if(mode> =2){mode =0; }ビープ音(1); delay(300); } //モードが変更されたときに何かを実行しますswitch(mode){case 0://キャリブレーションモードdigitalWrite(laserPin、HIGH); ambiant =analogRead(ambiantPin); trip =analogRead(tripPin); atAverage =ambiant +((trip-ambiant)/ 2); stats(); if(trip>
 =minLight){digitalWrite(ledPin、HIGH); } else {digitalWrite(ledPin、LOW); } 壊す;ケース1://武装モードdigitalWrite(laserPin、HIGH); digitalWrite(ledPin、LOW); ambiant =analogRead(ambiantPin); atAverage =ambiant +((trip-ambiant)/ 2); if(analogRead(tripPin) =3000){millisCount =millis(); stats(); } 壊す;ケース2://トリップモードif((millis()-millisCount)> =1000){millisCount =millis(); stats();ビープ音(3);モード=1; } 壊す; } delay(1); //少し待つ} // Beepsvoid beep(int qty){int count; if(makeBeep ==1){for(count =1; count <=qty; count ++){digitalWrite(buzzerPin、HIGH); delay(50); digitalWrite(buzzerPin、LOW); delay(50); }}} //統計をシリアルポートに書き込みますvoidstats(){Serial.print( "A:"); Serial.print(ambiant); Serial.print( "T:"); Serial.print(trip); Serial.print( "AT:"); Serial.print(atAverage); Serial.print( "モード:"); Serial.print(modeNames [mode]); Serial.println( "");} 

回路図

ブレッドボードビュー 概略図

製造プロセス

  1. ArduinoUNOを使用したイカゲーム人形のビルド
  2. イスラムの祈りの時間とArduino時計
  3. ArduinoUnoを使用した人間検出ロボティクスシステム
  4. Arduino UnoWiFiを使用したWebServerBlink
  5. シンプルなUNO計算機
  6. Arduino UNOを使用してLCDTFTスクリーンに画像を表示する!
  7. 視覚の持続性
  8. ArduinoUnoでLEDマトリックスを制御する
  9. Wi-Servo:Wi-Fiブラウザ制御サーボモーター
  10. Arduino Uno +電気機器(電球)+ Androidフォン
  11. ArduinoUnoを使用した25kHz4ピンPWMファン制御