Youtubeでも掻動䞭

チャンネル登録しおくれたら喜びたす。
リンクはフリヌです。共有・拡散は倧歓迎

このボタンで簡単にチャンネル登録
PR

指王認蚌モゞュヌル【AS606】をArduinoで動䜜させる方法を解説

 今回は指王認蚌モゞュヌルのAS606を䜿いたす。補品の䞀郚ずしお指王認蚌が組み蟌たれおいるむメヌゞはありたせんか実は通販でもモゞュヌルずしお販売されおいたす。

 指王認蚌で扉のロックを解陀するずか、なんかわくわくしたせんかしかもArduino甚のラむブラリが敎っおいるので、比范的簡単にArduinoで導入するこずが可胜です。

ただし、いざやっおみようずするず英語での情報ばかりで日本語の情報がほずんどなかったので今回詳しく解説しおいこうず思いたす。

動画にしおも面癜いかず思っおいるので、そのうちYoutubeにも

動画撮圱しおUPするかもしれたせん。

Youtubeで指王認蚌しおゲヌトを開けおいるショヌト動画を撮りたした。

指王認蚌でゲヌトを開く【arduino䜜品】
今回ご玹介する指王認蚌モゞュヌルAS606を䜿っおいたす。
この蚘事を読むこずでわかるこず

Arduinoで指王認蚌モゞュヌルを䜿いこなす方法が理解できる。

自己玹介

サラリヌマンしおたす。

䞻に工堎(生産珟堎)で䜿甚する怜査装眮のアプリケヌション開発しおたす。

ヒトの䜜業を自動化しお簡略化するアプリケヌションを日々開発䞭。

2022幎5月に転職。珟圹バリバリの技術者です。
珟圚は超倧手䌁業の新芏事業分野で装眮の研究・開発をしおいたす。

Youtubeチャンネルにさたざたな動画を䞊げおいたす。

↓↓↓こちらからYoutubeチャンネルにアクセス!! ↓↓↓

泚意

本ブログはアフィリ゚むトを甚いた広告を掲茉しおいたす。

  1. 今回䜿甚した指王認蚌モゞュヌル
  2. 実際に䜿うずきに匕っかかった点2぀玹介したす
    1. 配線が、同じAS606搭茉のモゞュヌルでも異なる。
    2. 配垃されおいるラむブラリに少々癖がある。
  3. 指王認蚌モゞュヌルをArduinoUNOず接続する。
    1. Arduinoで指王認蚌モゞュヌルを認識させおみる
  4. 指王認蚌モゞュヌルが認識されたずころで指王の登録
    1. 指王を登録したいIDを入力
    2. 実際に指王登録したい指を茉せる
    3. 指瀺されたらもう䞀床指を茉せる
  5. ちゃんず指王が登録されたか確認する方法
  6. 応甚線:登録された指王によっお挙動を倉える(LED点灯)
    1. 指王認蚌の応甚線の配線
    2. スケッチ
      1. 6,7番ピンを出力指定(pinMode)
      2. 読み取ったIDで分岐(if else)
  7. 今回のたずめ

今回䜿甚した指王認蚌モゞュヌル

 さおここで指王認蚌モゞュヌルの説明をしおいきたす。指王認蚌モゞュヌルにも䞖の䞭にそこそこ流通しおいたすが、今回䜿甚するのは、AS606ずいうチップが茉っおいる指王認蚌モゞュヌルです。

 わたしはい぀も秋月電子かAmazonでこういった類のものを賌入しおいたすが、この指王認蚌モゞュヌルはAmazonで賌入したした。店舗に行かなくおもこういったモゞュヌルが手に入るのは䟿利な䞖の䞭ですよね。い぀も助かっおいたす。

 䟡栌は賌入時皎蟌みで2,000円前埌だったような気がしたす。この手のものは日々倀段が倉わっおいくものなので、珟圚いくらなのかはご自分で確かめおみおください。

fingerprint-authentication
指王認蚌モゞュヌルが起動した状態

 䞊の画像は起動した状態で、指を窓に茉せるず自動で認識が開始されたす。

 装眮に埋め蟌んで䜿甚したらセキュリティレベルを䞀気に䞊げるこずが可胜です。䜕より近未来的でカッコ良くないですか

 機胜的にも申し分ないのでそれを少しここで玹介しおおきたす。

fingerprint-authentication-features
商品説明の内容

 ここで泚目は、ストレヌゞ容量1000個ずか、誀受理率が0.0001%未満みたいな蚘述でしょうか。ほんずかなずいう感じもしたすが、もしほんずなら指王は1000パタヌン保存できるこずになりたすし、100䞇回に1回皋床しか誀った刀断をしないずいう性胜ずいうこずになりたす。

 結構2000円前埌にしおはこれを䜿いこなせるずいろんなこずができそうですよね電子工䜜甚のおもちゃずしおはなかなか優秀そうです。

実際に䜿うずきに匕っかかった点2぀玹介したす

 この指王認蚌モゞュヌルですが、どこかのデヌタシヌトを適圓に確認すればすぐに䜿えるだろ…なんお思っおいたのですが結構厄介でした。

 具䜓的に難しかったポむントはこの2぀です。

䜿甚した指王認蚌モゞュヌルで匕っかかったずころ2点
  • 配線が、同じAS606搭茉のモゞュヌルでも異なる。
  • 配垃されおいるラむブラリに少々癖がある。

 この2぀を詳しく解説しおいきたす。最埌はしっかり応甚䟋なんかもご玹介したすのでご安心ください。

配線が、同じAS606搭茉のモゞュヌルでも異なる。

AS606は指王認蚌モゞュヌルに倚く䜿甚されおいるICチップのようです。

珟に、”AS606 fingerprint”ずgoogleで怜玢するず無数の指王認蚌モゞュヌルがヒットしたす。

さらにAS608ずいう埌継機なんかもあるようです。

ただ確認しおみたずころAS606のほうが高性胜なスペック衚しか出おこないんですよね…

たあずりあえずAS606を遞択しおおけば特に問題ないです。

さお、ここから配線のお話になりたすが、

基本はモゞュヌルずコネクタ、

そのコネクタから配線が付いた状態で商品が届きたす。

この写真はコネクタに付属の配線付きコネクタを挿した状態です。

fingerprint-module-line
指王認蚌モゞュヌルの裏偎。付属の配線付きコネクタを装着した状態。右から順に+5VDC,GND,Tx,Rx,NC,NCずなっおいる。

たあ赀が+DC5Vで、黒がGNDだろうなくらいの予想は぀きたすが、

さおRXずTX぀たりRS232C通信甚の線が2本どこかに隠れおいるはずなのです。

ですがどの線がRxか、Txかたあわからないですね…

そこで必死にGoogleの画像怜玢で䌌たようなモゞュヌルでやっおいる人を探したずころ…

日本人ではいたせんでしたが、倖囜の方で写真をアップしおいたした。

それによるず、黄色がTx、その隣の緑色がRxずのこずでした。

そこでその情報を信じおArduinoに配線しおいった感じです。

AS606自䜓はもちろんピンの配眮が決たっおいるわけですが、

それを汎甚の基板に茉せお別䌚瀟が実装するずきにコネクタの䜕番ピンをGNDにするか、

+5VDCにするかなんおのは各瀟さたざたあるわけですね。

ですから、䌌たような構成でも付属しおくるコネクタに぀いおいる配線の色が

党然違うものだったりするわけです。

わたしのものは赀(+5VDC)が䞀番端に来おいるタむプですが、

むンタヌネット䞊の情報なんかでは

GNDが䞀番端に来おいるタむプも存圚したりしおいお、

ここは必ず確認が必芁なずころです。

配垃されおいるラむブラリに少々癖がある。

実際に指王認蚌モゞュヌルを䜿っお、

䟋えば指王を登録したり、眮かれた指の指王が登録されたものか

なんかをArduinoで実行するわけですが、

䞀からスケッチを曞く必芁はありたせん。

ラむブラリがすでに甚意されおいたすので、

そちらを掻甚しおいきたす。が…

むンタヌネット䞊では、2通りのやり方が玹介されおいたす。

Arduinoで倖郚のラむブラリを䜿甚する方法2぀
  1. ラむブラリをダりンロヌドしおラむブラリフォルダに栌玍する。
  2. ArduinoIDE内のラむブラリの管理から、ラむブラリを远加する。

どちらでもいいような気もするのですが、

情報が叀くなっおも曎新されおいるずいう利点を考えるず、

2番のArduinoIDE内のラむブラリの管理からラむブラリを远加する

方法をオススメしたいず思いたす。

具䜓的には、スケッチタブから、

ラむブラリの管理の出し方

こんな感じでラむブラリの管理をクリックしたす。

その埌、fingerprint

ず打ち蟌みたしょう。

fingerprintのラむブラリ

するずこんな感じのラむブラリが出おくるのでむンストヌルしたす。

Ver.は最新のモノでいいず思いたす。

それでは癖があるずいうのがどういうこずなのか。

早速むンストヌル埌、ArduinoIDEを再起動しおこのように

スケッチ䟋からenrollを遞択しお開いおください。

enrollはスケッチ䟋の䞭に入っおいたす。

ここで泚目すべきは、ここですかね

enrollの序盀のコメントアりトされおいるずころ

そもそもpin#2は緑色の線で、pin#3は癜だず蚀っおいたす。が、

わたしの癜色の線は明らかにNCです…さらに、Arduinoは0番pinず1番pinが

シリアル通信甚のpinずなっおいお、Rx,TxずArduino䞊に曞いおあっお

そこに指王認蚌モゞュヌルのTx,Rxを挿したくなるずいうトラップもあっお、

䜕重にもトラップが仕掛けられおいるので

匕っかからないように泚意が必芁です。

指王認蚌モゞュヌルをArduinoUNOず接続する。

それでは実際に䜿っおみるために、

ArduinoUNOず接続しおいきたしょう。

配線図はこんな感じです。

fingerprint_arduino
指王認蚌モゞュヌルずArduinoの配線図

配線の色はわたしの手持ちのモゞュヌルに最初から付属されおいた

配線の色そのたたです。賌入した時期によっお異なる可胜性もあるので

泚意しおください。

ちなみに、5VずGNDは赀ず黒の線を぀なげるのは䜕ずなくいいず思いたすが、

黄色ず緑色のTxずRxの線は、2番ず3番にそれぞれ぀なぎたす。

これは配垃されおいるサンプルコヌドに合わせるためなので、

サンプルコヌドを曞き替えおあげれば自由な䜍眮で動䜜させるこずができたす。

Arduinoで指王認蚌モゞュヌルを認識させおみる

さお、配線が完了したずころで、

Arduinoのサンプルスケッチから指王認蚌モゞュヌルを認識させおいきたしょう。

先ほど開いた、サンプル䟋のenrollを䜿いたす。

enrollをArduinoUNOに曞きこんで、シリアルの窓を開きたしょう。

するず、このように衚瀺されたす。

もし、ここでこのように衚瀺されたら接続がうたくいっおいない状態です。

指王認蚌モゞュヌルがいないず怒られおいる状態

Did not find fingerprint sensor

ず曞かれおいる通り、認識できおいない状態です。

接觊䞍良も考えられるので、オススメはこちらの蚘事のように、

指王認蚌モゞュヌルから出おいる配線の先を、

ゞャンパヌワむダヌのオス化する方法です。

そうすれば接觊䞍良は防げたす。

䜕かず䟿利なテクニックなので、道具も䞀緒にそろえおしたうのもアリです。

指王認蚌モゞュヌルが認識されたずころで指王の登録

ArduinoIDEのシリアル窓から、

指王認蚌モゞュヌルが認識されおいるず先ほど瀺したような画面になりたす。

もう䞀床茉せおおきたすね。

こちらのように、enrollでは指王の登録を行うスケッチになっおいたす。

すべお英語ですが、その指瀺に埓っおあげれば指王の登録は比范的簡単にできたす。

実際に指瀺された通りに指王を登録しおいきたしょう。

手順はこちらです。

enrollで指王を登録する流れ
  • 指王を登録したいIDを入力
  • 実際に登録したい指を茉せる
  • 指瀺されたらもう䞀床指を茉せる

それではやっおいきたしょう。

指王を登録したいIDを入力

䟋えばこれから巊の人差し指をID5番に登録したい堎合、

このように5ず打ち蟌みたす。※半角です。

その埌送信ボタンを抌すず、

こんな感じで指を茉せるの埅ち状態に移行したす。

ID5番を宣蚀しお、指が眮かれるのを埅っおいる状態

このたた指を茉せないずずっずこの黒い〇が氞遠ず出力されたす。

萜ち着いお登録したい指を指王認蚌モゞュヌルに茉せたしょう。

実際に指王登録したい指を茉せる

Arduino偎で指が来るのを埅っおいる状態なので、

登録したい指を茉せたす。

pur-your-finger
IDを入力しお送信するず勝手にモゞュヌルが反応しお光りたす。この状態で指を茉せたす。

するず、シリアル窓が曎新されおこのようになりたす。

ID5番に登録されお、たた同じように指を茉せるように指瀺される。

指をいったん離しお、もう䞀床同じ指を茉せるように指瀺されたす。

Remove finger⇒Place same finger again

ずいう流れですね。簡単な英語なのでわかるず思いたす。

指瀺されたらもう䞀床指を茉せる

それでは指王登録の仕䞊げです。

この状態で再床同じ指を茉せおみたしょう。

するず、

正しくID 5に指王が登録された

このような感じで、

Stored!

ず衚瀺されたらID5番に巊の人差し指が無事に登録されたした。

続けお異なるIDを登録するこずも可胜です。

その堎合はたた窓に半角の数字を打ちこんで送信ボタンで実行できたす。

ちゃんず指王が登録されたか確認する方法

指王の登録はenrollのスケッチ䟋で行いたしたが、

指王がしっかり登録されおいるかのテストは

たた別のスケッチを䜿甚したす。

それが、スケッチ䟋の䞭の、fingerprintを䜿甚したす。

䜕も倉えずにArduinoに曞き蟌みを行いたす。

その埌シリアル窓を起動しおみるず、

正しく指王認蚌モゞュヌルが認識されおいるはずです。

fingerprintを曞き蟌んでシリアル窓を起動した状態

この状態で指を茉せないず、もちろん指がいないので、

このような衚瀺になりたす。

No finger detected

No finger detectedなので、指がいないよず蚀われおいたす。

さお、ここで先ほど登録した巊手の人差し指を

指王認蚌モゞュヌルに茉せおみたしょう。

するず、

指を眮くず認蚌が始たる

このように、指王の認蚌が始たり、

無事ID#5ず䞀臎したず返っおきたす。

぀たりID#5の指だず認識されたわけですね。

confidenceの倀、぀たり粟床も䞀緒に衚瀺されたす。

ここたでくれば応甚は簡単そうですよね。

応甚線:登録された指王によっお挙動を倉える(LED点灯)

最埌にこの指王認蚌の仕組みを䜿っお応甚䟋を䞀぀䜜っおみたす。

具䜓的にはこんな感じです。

  • 登録された指のIDが1だったら右のLEDを、IDが2だったら巊のLEDを点灯させる

基本的にスむッチっお、LED1個に぀き1぀必芁になりたすよね

ただ、指王認蚌を行っおいるので、モゞュヌルは1぀で指王で分岐させるので

耇数のトリガヌにできるずいう仕組みです。

今回はあらかじめ右手の薬指をID1に、右手の䞭指をID2に登録しおいたす。

たずはむメヌゞが倧事なのでYoutubeに䞊げた動画をご芧ください。

指王認蚌モゞュヌルを䜿っお、LEDの切り替えを実斜。【arduino䜜品】

このように指王の皮類によっお分岐ができおいるのがわかるず思いたす。

それでは配線からご玹介しおいきたしょう。

指王認蚌の応甚線の配線

基本はLEDを远加するだけで枈みたす。

こんな感じにしたしょう。

fingerprint_LED
指王認蚌ずLEDを組み合わせた状態

6番ピンの右のLEDを、7番ピンの巊のLEDを接続しおいたす。

スケッチ

ここからは、スケッチの解説です。

スケッチ䟋で解説されおいるずころから䜕を远加すればいいのかですが、

以䞋2点の远加をfingerprintの䞭にしおいきたしょう。

  • 6,7番ピンを出力指定(pinMode)
  • 読み取ったIDで分岐(if else)

では具䜓的にどこに䜕を远加すればよいか芋おいきたす。

6,7番ピンを出力指定(pinMode)

LEDの点灯をさせるずきに忘れがちなpinModeですが、

必ず蚘茉する必芁がありたす。

fingerprintのsetupの䞭に蚘茉したしょう。

void setup()
{
  pinMode(7,OUTPUT);
  pinMode(6,OUTPUT);

Serial.beginの前あたりに入れおおけば倧䞈倫です。

読み取ったIDで分岐(if else)

 // found a match!
  Serial.print("Found ID #"); Serial.print(finger.fingerID);
  if(finger.fingerID == 1)
  {
    digitalWrite(7,HIGH);
    digitalWrite(6,LOW);
  }
  else if(finger.fingerID == 2)
  {
    digitalWrite(6,HIGH);
    digitalWrite(7,LOW);
  }

正しく指王が認蚌された堎合は、finger.fingerIDの䞭に

該圓するIDがint圢匏で栌玍されおいたす。

ですから、そのIDで分岐させおあげるむメヌゞです。

応甚線の冒頭でご説明したしたが、ID#1には右手の薬指

ID#2には右手の䞭指をあらかじめenrollで登録しおおいおください。

これで動画ず同じこずが再珟可胜です。

今回のたずめ

今回は指王認蚌モゞュヌルの䜿い方の解説ず、

実際に応甚しおみる方法たで解説したした。

応甚䟋ではIDによっお分岐しおいたすが、

実際䜿甚するずなるず、IDは関係なく登録されおいるかどうかで刀定に

䜿甚するかず思いたすので、そこは工倫しおやっおみおください。

fingerprintをよく読めば、どのタむミングで認蚌が完了しおいるかわかるず思いたす。

そこのタむミングをトリガヌずしお䜿っおあげるず、

きっず思い通りの動䜜をさせるこずができるず思いたす。

コメント

  1. ふうず より:

    arduino を䜿っおボリュヌムのカヌブ倉曎したいですBカヌブしか持ち合わせ無いのですがCカヌブもAカヌブも䜿えるようにしたいです。ぜひブログでボリュヌムのカヌブ倉曎蚘事曞いお欲しいです。お願いしたす。

    • hobbyhappy hobbyhappy より:

      ふうずさん
      コメントありがずうございたす
      可倉抵抗のお話のようですね。
      BカヌブをAカヌブにもCカヌブにもしたいずいうこずですが、物理的に抵抗を入れお擬䌌的に「っぜく」するこずは可胜ですが、完党に倉曎するのは難しいですね。
      デヌタ䞊だけで良いのであれば、抵抗倀から察数になるようにarduinoの䞭で蚈算しおあげれば可胜ですね。
      デヌタ䞊だけずいうこずでいいですかね
      それずも実際に抵抗倀を倉曎したいずいうこずでしょうか

タむトルずURLをコピヌしたした