以前、カラーセンサーを使用してArduinoベースの紙幣計数機を構築しました。現在、このプロジェクトでは、IRセンサーを使用してArduinoカウントマシンを構築しています。このマシンは、赤外線センサーの助けを借りて、さまざまなセクションでコインを数え、分類します。ここでは、さまざまなコインを感知するためにIRセンサーを配置し、Arduino UNOを使用してデータを処理し、16x2LCDに合計カウント値を表示するように配置されています。
必要なコンポーネント
- Arduino UNO
- IRセンサー
- ブレッドボード
- 16 * 2英数字LCD
- 16x2(1602)英数字LCD用I2Cモジュール
- 接続線
Arduinoコインソーターの構造を作る
ステップ1:下の図に示すように、段ボールのシートを取り、さまざまなコインサイズのマークを付けます。次に、マークされた部分を慎重にカットします。これらの部分の切断は正確に行う必要があります。そうしないと、プロジェクトが完全に機能しない可能性があります。
ステップ2:下の画像のように、上記の配置を傾斜構造に配置します。アレンジを行った後、スロープに別のコインを挿入してアレンジが完全に機能していることを確認してください。コインが正しく挿入されていない場合は、コインに応じて穴のサイズを少し大きくし、正常に動作するまで再確認します。
ステップ3:個々のコインの出力パスの近くにIRセンサーを配置します。センサーを正しく配置し、ポテンショメーターを使用してキャリブレーションすることが非常に重要です。次に、コインを再度挿入して、センサーの動作を確認します。IRセンサー回路の詳細については、こちらをご覧ください。
回路図
以下は、Arduinoカウントマシンの回路図です。
ここでは、IRセンサーがコイン選別機のさまざまな出力パスに配置され、コインを感知します。このArduinoコインカウンターにコインを挿入すると、機械設計に従って専用パスに入り、それぞれのIRセンサーがコインを検知してArduinoにHIGH出力値を提供し、Arduinoのアナログピンで読み取ることができます。HIGH値を出しているIRセンサーがルピー2/5/10のようにコイン値を決定します。
ここでは、16x2の英数字LCDがI2Cモジュールを使用してArduinoとインターフェースされ、ボックスに挿入されたコインの数を表示します。このLCDは、I2Cモジュールを使用せずにArduinoに直接接続することもできますが、これにはより多くの接続が必要です。そのため、簡単にするために、I2CモジュールをLCDと一緒に使用します。これは、LCDをArduinoに接続するためにSCL、SDAの2つのピンのみを使用します。Arduinoに電力を供給するために、12VDC、1 AMP AC-DCアダプターが使用され、Arduinoの電源ジャックに直接接続できます。
少し修正すると、Arduinoベースのコインソーターの完全なセットアップは次のようになります。
Arduinoのプログラミング
ハードウェア接続が成功したら、Arduinoをプログラムします。Arduinoの完全なコードは、このチュートリアルの下部にあります。コードの段階的な説明を以下に示します。
プログラムで最初に行うことは、必要なすべてのライブラリを含めることです。私の場合、LCDのI2Cインターフェースを使用するための「 LiquidCrystal_I2C.h」 ライブラリと、ArduinoでI2C機能を使用するための「 Wire.h 」を 含め ました。
#include
セットアップ() 内には 、 LCDにウェルカムメッセージを表示するためのLCDコマンドが記述されています。
lcd.init(); lcd.backlight(); lcd.setCursor(0,0); lcd.print( "ARDUINO BASED"); lcd.setCursor(0,1); lcd.print( "コインソーティング"); delay(2000); lcd.clear();
loop() 内では 、 analogRead 関数を使用して、Arduinoのさまざまなアナログチャネルから赤外線センサー値を読み取り、さまざまな変数に格納します。
int s1 = analogRead(A0); int s2 = analogRead(A1); int s3 = analogRead(A2);
次に、以下のコードを記述して、コインを検知し、コインカウンターの値をインクリメントします。ここでは、フラグ値f1を使用して、コインの複数のカウントを回避しています。
if(s1> = 200 && f1 == 0){f1 = 1; } else if(s1 <200 && f1 == 1){f1 = 0; c1 ++; }
最後に、以下のコマンドを使用して、カウント値がLCDに表示されます。
lcd.setCursor(0,0); lcd.print( "RS10 RS2 RS5"); lcd.setCursor(1,1); lcd.print(c1); lcd.setCursor(7,1); lcd.print(c2); lcd.setCursor(14,1); lcd.print(c3);
Arduinoコインカウンターの操作
セットアップが完了してコードをアップロードしたら、12VDC電源をオンにします。まず、ウェルカムメッセージがLCDに表示され、数秒後、使用可能なすべてのコインの数を示す画面がLCDに表示されます。最初は、まだコインを挿入していないため、ゼロが表示されます。
次に、「Insert Coin」と書かれているマシンの上部にコイン(Rs。2/ 5/10)を挿入します。これで、LCDでコインカウントの値を更新する必要があることがわかります。次に、値の異なる複数のコインを挿入し、LCDでそれぞれのコインの数を確認します。
ビデオと一緒に完全なコードを以下に示します。