非接触ICカード(NFC)はその名の通り、カードをカードリーダに接近させるだけでデータを読み込めます。
それを逆手に取って、バッグの中にあるICカードなどに対してスキミング機器を近づけ、バッグの外から気づかれずにデータを盗む手口があるようです。
そこでスキミング機器を近づけられたときにアラームが鳴るものを作りました。
動作イメージ
非接触ICカードリーダからはワイヤレス給電のエネルギーが発生しています。
そのエネルギーを本機のループアンテナでキャッチすると、カードリーダが近づけられたと判断してアラームを鳴らします。
本来、非接触ICカードはカードリーダからのワイヤレス給電にて動作します。
しかし本機はカードリーダが一瞬だけ近づけられた場合、その一瞬だけアラームが鳴るとアラームに気が付かない可能性があるので、カードリーダが離されたあとも数秒間鳴るよう動作させるためコイン電池を電源として使います。
ループコイルで発生したエネルギーは整流されて、赤色LEDの両端電圧が約2Vほどまで低下する(制限される)ことを利用してマイコンのポートに入力します。この赤色LEDはマイコンの入力可能電圧まで制限するためのものなので必ず入れてください。
赤色LEDはVfが1.8〜2Vのものを使います。いくつかのLEDで試したところ、Vfが1.5V程度の赤色LEDがありました。これだとマイコンのスレッショルド電圧と同じくらいなので反応しない場合があります。
RF側のGNDとマイコンのGNDは念のためフェライトビーズを介していますが、正直、効果のほどは分かりません(汗
ダイオードとコンデンサは表面実装タイプを使ったので、表面はあまり部品がありません。
生基板の銅箔をカッターナイフで切って作成したため、汚くてお恥ずかしいです・・・
秋月電子さんの1.27mmピッチ片面ユニバーサル基板(P-04707)のデータシートを参考にして配線しましたので、おそらくこのユニバーサル基板ならそのまま使えるかと思います。
ボタン電池ホルダーはP-00706、圧電ブザーはP-05723を使用しています。
ちなみにループコイルは基板上のパターンとして作りこむのではなく、細い電線を巻いて作っても問題ありません。むしろ電線を利用したほうが効率のいいアンテナをカットアンドトライで作りやすいので便利かもしれません。
ループコイルでエネルギーが発生すると接続されたGP4の状態が変化するので、これをトリガにGP4のポート変化割り込みがかかってスリープから復帰します。
ループコイルの電圧がHighの間はビープを鳴らし続け、電圧がLowになると1秒間のビープを継続した後、再びスリープに入って待機状態に戻ります。
1秒ビープの途中で再び電圧がHighになるとビープを延長します。
ソースファイルとHexファイル
PIC12F683向け SkimmingAlarm.zip(2.3KB)
カードリーダを近づけている間は常にビープが鳴り続けます。
カードリーダを離したあとは1秒間の間、ビープ音が継続します。
ワイヤレス決済機能の付いた携帯電話やスマートフォンでも、カードリーダ機能がある機種ならば動作確認に使用できます。カードリーダモードにして本機に近づけてみてください。
スリープに入った待機状態のときはテスターの200uAレンジでゼロですので、電池は軽く1年以上は持つと思います。動作中も480uA程度です。