Arduino指紋センサーチュートリアル
コンポーネントと消耗品
> |
| × | 1 | |||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 |
アプリとオンラインサービス
> |
|
このプロジェクトについて
<図> <図>
親愛なる友人は別のチュートリアルへようこそ!今日は、指紋センサーモジュールを使用する興味深いArduinoプロジェクトを構築します。 。それ以上遅れることなく、始めましょう!
私は常に指紋センサーモジュールを試して、そのテクノロジーについて詳しく学び、いくつかのプロジェクトで生体認証セキュリティを追加するためにそれを使用したいと思っていました。
センサーの簡単な使用法を示すために、この簡単なプロジェクトを作成しました。センサーをArduinoNanoに接続しました。また、小さいながらも非常に高速な1.44インチのカラーTFTディスプレイを使用しています。 プロジェクトは、ロックを解除するために有効な指紋を要求します。 センサーに指を置くと、センサーが指を認識し、指紋アイコンが緑色に変わり、歓迎されます。私のガールフレンドがセンサーに指を置くと、彼女も認識され、彼女の名前が付いたウェルカムメッセージが表示されます。 センサーに別の指を置いても、プロジェクトは画面のロックを解除しません。正常に動作し、このプロジェクトは10分以内に構築できますと表示されます。 !それを達成する方法を見てみましょう!
ステップ1:すべての部品を入手する <図>
このプロジェクトを構築するために必要な部品は次のとおりです。
- ArduinoNano▶http://educ8s.tv/part/ArduinoNano
- 指紋センサーモジュール▶http://educ8s.tv/part/FingerprintSensor
- 1.44インチカラーTFTディスプレイ▶http://bit.ly/144TFTLCD
- 小さなブレッドボード▶http://educ8s.tv/part/SmallBreadboard
- 一部のワイヤー▶http://bit.ly/Wires3InOne
- Powerbank▶http://educ8s.tv/part/Powerbank
このプロジェクトの費用は約30ドルです。このプロジェクトで使用されている技術を考慮すると、このコストは非常に低くなります。 10年前、このようなプロジェクトには数百ドルの費用がかかりました!
ステップ2:1.44インチLCDディスプレイ <図> <図>
この表示は非常に高速です。 ILI9163Cドライバーを使用します。解像度は128x128ピクセルで、最大260.000色を表示できます。 Arduinoでの使用は非常に簡単で、価格は約4ドルです。
ディスプレイは、Arduinoボードと通信するためにSPIプロトコルを使用します。それを機能させるために必要なのは8本のワイヤーだけです。始めましょう。
Arduinoとの接続
Vcc▶Arduinoの5Vピン
GND▶ArduinoGNDピン
CS▶デジタルピン10
RST▶デジタルピン9
A0▶デジタルピン8
SDA▶デジタルピン11
SCK▶デジタルピン13
LED▶Arduinoの3.3Vピン
ご覧のとおり、このディスプレイはArduinoで非常に使いやすいです。それは非常に安く、非常に速く、サイズが小さく、約30mAの電流しか消費しません。大きなディスプレイを必要としないプロジェクトで使用するのに適したディスプレイだと思いますが、色はいいでしょう。
こちらから入手できます▶http://bit.ly/144TFTLCD
ステップ3:指紋センサーモジュール <図> <図> <図>
指紋センサーモジュールは小さく、うまく構築されており、内部にいくつかの高度なDSP(デジタル信号処理)チップを使用しています。
センサーはこのように動作します。指の写真を分析する光学センサーです。次に、画像をレンダリングし、いくつかの計算を行い、その指の特徴を見つけて、同じ特性を持つ指紋をメモリ内で検索します。それは1秒未満ですべてを達成することができます!
このモジュールは、最大1000個の指紋をメモリに保存でき、他人受入率は0.001%未満であるため、非常に安全です。素晴らしい!これらすべてを非常に使いやすいモジュールで、非常に低コストで実現します。本当に印象的なテクノロジーです!
こちらから入手できます▶http://educ8s.tv/part/FingerprintSensor
ステップ4:パーツを接続する <図> <図> <図>
それでは、すべてのパーツをまとめましょう。
まず、指紋センサーモジュールを接続する必要があります。モジュールの背面にケーブルを接続します。添付写真をご確認ください。
指紋センサーの接続
黒線▶ArduinoGND
赤いワイヤー▶Arduino5V
緑のワイヤー▶デジタルピン2
白いワイヤー▶デジタルピン3
これで、ディスプレイをArduinoに接続する準備が整いました。
ディスプレイ接続
Vcc▶Arduinoの5Vピン
GND▶ArduinoGNDピン
CS▶デジタルピン10
RST▶デジタルピン9
A0▶デジタルピン8
SDA▶デジタルピン11
SCK▶デジタルピン13
LED▶Arduinoの3.3Vピン
それでおしまい!プロジェクトをパワーアップする準備が整いました。ご覧のとおり、正常に動作します。簡単ですね
ステップ5:プロジェクトのコード <図> <図> <図>
それでは、プロジェクトのソフトウェア側と、指紋を認識するためにモジュールの埋め込みメモリに指紋を登録する方法を見てみましょう。
いくつかのライブラリをダウンロードする必要があります。まず、表示用にAdafruit Fingerprintライブラリ、Adafruit GFXライブラリ、およびSumotoyのライブラリが必要です。
https://github.com/adafruit/Adafruit-Fingerprint-Sensor-Library
https://github.com/adafruit/Adafruit-GFX-Library
https://github.com/sumotoy/TFT_ILI9163C
まず、登録例をArduinoボードにアップロードする必要があります。 [ファイル]-> [例]-> [Adafruit指紋センサーライブラリ]-> [登録]に移動します。このサンプルプログラムを使用すると、モジュールのフラッシュメモリに指紋を保存できます。スケッチをアップロードし、シリアルモニターを開きます。プログラムは、登録するIDを入力するように要求します。次に、指示に従ってセンサーに指を2回置き、指紋を保存します。この方法で1000個もの指紋を保存できます!
それでは、私が開発したコードをロードしましょう。 Adafruitのライブラリのおかげで、プロジェクトのコードは非常にシンプルです。コードのごく一部を見てみましょう。
void loop(){phingerID =getFingerprintID(); //ここで指紋をスキャンしますdelay(50); if(fingerprintID ==1)// IDが1の有効な指紋が見つかりました{display.drawBitmap(30,35、icon、60,60、GREEN); delay(2000); displayUnlockedScreen(); displayIoanna(); delay(5000); display.fillScreen(BLACK); displayLockScreen(); } if(fingerprintID ==2)// ID2の有効な指紋が見つかりました{display.drawBitmap(30,35、icon、60,60、GREEN); delay(2000); displayUnlockedScreen(); displayNick(); delay(5000); display.fillScreen(BLACK); displayLockScreen(); }}
センサーとディスプレイを起動し、50msごとにセンサーの指をチェックします。センサーに指がある場合は、その指がメモリに登録されているかどうかを検索するようにモジュールに要求します。メモリ内で指紋が見つかると、その指紋のIDが返されます。次に、ウェルカムメッセージが表示され、数秒後に画面が再びロックされます。
いつものように、このチュートリアルに添付されているプロジェクトのコードを見つけることができます。私は時々コードを更新しているので、コードの最新バージョンについては、プロジェクトのWebサイトにアクセスしてください:http://educ8s.tv/arduino-fingerprint-sensor-module ...
Fingerprint.ino
ステップ6:最終的な考え <図>
この指紋センサーモジュールのパフォーマンスと使いやすさに本当に感銘を受けました。非常に低コストで、プロジェクトに生体認証セキュリティ機能を追加できます。それはすごいです。このようなプロジェクトは、数年前でもメーカーにとって不可能だったでしょう。それがオープンソースのハードウェアとソフトウェアの美しさと力です。この最初のテストの後、指紋センサーモジュールを電気錠と一緒に使用して、このセンサーを実際の状況で使用できるかどうかを確認します。しばらくお待ちください。下記のコメント欄で、このセンサーについてのあなたの考えを教えてください。ありがとう!
コード
- コードスニペット#1
コードスニペット#1 プレーンテキスト
void loop(){phingerID =getFingerprintID(); //ここで指紋をスキャンしますdelay(50); if(fingerprintID ==1)// IDが1の有効な指紋が見つかりました{display.drawBitmap(30,35、icon、60,60、GREEN); delay(2000); displayUnlockedScreen(); displayIoanna(); delay(5000); display.fillScreen(BLACK); displayLockScreen(); } if(fingerprintID ==2)// ID2の有効な指紋が見つかりました{display.drawBitmap(30,35、icon、60,60、GREEN); delay(2000); displayUnlockedScreen(); displayNick(); delay(5000); display.fillScreen(BLACK); displayLockScreen(); }}
Github
https://github.com/sumotoy/TFT_ILI9163Chttps://github.com/sumotoy/TFT_ILI9163CGithub
https://github.com/adafruit/Adafruit-Fingerprint-Sensor-Libraryhttps://github.com/adafruit/Adafruit-Fingerprint-Sensor-LibraryGithub
https://github.com/adafruit/Adafruit-GFX-Libraryhttps://github.com/adafruit/Adafruit-GFX-Library製造プロセス