Skip to main content

Grove - 125KHz RFID Reader

note

この文書は AI によって翻訳されています。内容に不正確な点や改善すべき点がございましたら、文書下部のコメント欄または以下の Issue ページにてご報告ください。
https://github.com/Seeed-Studio/wiki-documents/issues

この Grove-125KHz RFID Reader は、uem4100 RFIDカード情報を読み取るためのモジュールで、出力形式としてUartとWiegandの2種類をサポートしています。最大7cmの感知距離を持つ高感度を備えています。また、このモジュールには電子ブリック版も存在します。このモジュールは、IoT(モノのインターネット)やアクセス制御システムのプロジェクトに役立ちます。

RFIDリーダーを使用する際には、以下のモジュールを使用する必要があります:

バージョン

製品バージョン変更点リリース日
Grove - 125KHz RFID Reader V1.0初版2015年10月

仕様

パラメータ値/範囲
電圧4.75-5.25V
動作周波数125 KHz
最大感知距離70mm
TTL出力9600ボーレート、8データビット、1ストップビット、検証ビットなし
Wiegand出力26ビットWiegand形式、1偶数検証ビット、24データビット、1奇数検証ビット
tip
Groveモジュールの詳細については、[Grove System](https://wiki.seeedstudio.com/ja/Grove_System/)をご参照ください。

対応プラットフォーム

ArduinoRaspberry Pi
caution
上記に記載されている対応プラットフォームは、モジュールのソフトウェアまたは理論的な互換性を示しています。ほとんどの場合、Arduinoプラットフォーム向けのソフトウェアライブラリやコード例のみを提供しています。すべての可能なMCUプラットフォーム向けにソフトウェアライブラリやデモコードを提供することは不可能です。そのため、ユーザー自身でソフトウェアライブラリを作成する必要があります。

はじめに

note
Arduinoを初めて使用する場合は、開始する前に[Arduinoの使い方](https://wiki.seeedstudio.com/ja/Getting_Started_with_Arduino/)をご覧になることを強くお勧めします。

Arduinoで遊ぶ

ハードウェア

  • ステップ 1. 以下のものを準備してください:
Seeeduino V4.2ベースシールドGrove - 125KHz RFIDリーダー
画像説明を入力してください画像説明を入力してください画像説明を入力してください
今すぐ購入今すぐ購入今すぐ購入
  • ステップ 2. Grove - 125KHz RFIDリーダーをGroveベースシールドのポートD2に接続します。
  • ステップ 3. Grove - ベースシールドをSeeeduinoに差し込みます。
  • ステップ 4. USBケーブルを使用してSeeeduinoをPCに接続します。

note

Groveベースシールドがない場合でも、以下のようにGrove_Ultrasonic_RangerをSeeeduinoに直接接続することができます。

SeeeduinoGrove - 125KHz RFIDリーダー
5V
GND
D3
D2

ソフトウェア

  • ステップ 1. 以下のコードをArduino IDEにコピーしてアップロードします。コードのアップロード方法がわからない場合は、コードのアップロード方法をご確認ください。
/*
コンピュータとSoftSerialシールド間のリンク
9600 bps 8-N-1で通信
コンピュータはハードウェアUARTに接続
SoftSerialシールドはソフトウェアUART:D2&D3に接続
*/
 
#include <SoftwareSerial.h>
 
SoftwareSerial SoftSerial(2, 3);
unsigned char buffer[64]; // シリアルポート経由で受信するデータ用のバッファ配列
int count = 0; // バッファ配列のカウンタ
 
void setup()
{
SoftSerial.begin(9600); // SoftSerialのボーレート
Serial.begin(9600); // Arduinoのシリアルポートのボーレート
}
 
void loop()
{
// ソフトウェアシリアルポートからデータが来ている場合 ==> SoftSerialシールドからデータが来ている
if (SoftSerial.available())
{
while(SoftSerial.available()) // データをchar配列に読み込む
{
buffer[count++] = SoftSerial.read(); // 配列にデータを書き込む
if(count == 64)break;
}
Serial.write(buffer, count); // データ送信が終了していない場合、バッファをハードウェアシリアルポートに書き込む
clearBufferArray(); // 配列に保存されたデータをクリアするためにclearBufferArray関数を呼び出す
count = 0; // whileループのカウンタをゼロに設定
}
if (Serial.available()) // ハードウェアシリアルポートにデータがある場合 ==> PCまたはノートブックからデータが来ている
SoftSerial.write(Serial.read()); // それをSoftSerialシールドに書き込む
}
void clearBufferArray() // バッファ配列をクリアする関数
{
// 配列のすべてのインデックスをNULLでクリア
for (int i=0; i<count; i++)
{
buffer[i]=NULL;
}
}
  • ステップ 2. シリアルモニタを開くと、カード情報が以下のように表示されます:

Wiegandモード

(ジャンパーを右側の2つのピンに設定) このモードに入るには、ジャンパーを「W」に設定する必要があります。
Seeeduino用のWiegandデモコードは、割り込みモードでWiegandデータを読み取るように設計されています。

Wiegandモードでは、出力データは26ビットでフォーマットされており、24ビットのカード情報と2ビットのパリティが含まれています。

ビット012345678910111213141516171819202122232425
-PEDP0
--E0-
--D2[7..0]D1[7..0]D0[7..0]-
  • PEは偶数ビット、P0は奇数ビットです。
  • Eは偶数に関与するデータビット、Oは奇数に関与するデータビットです。
  • DX[7..0]は、Mifare@ Standard & Lightカードの読み取り専用IDに対応するデータビットです。

よくある質問(FAQs)

Q1: 出力をカード番号に変換する方法は?

A1: 以下の手順に従ってください。

  • 例としてID: 0009776930を使用します。
  • カード番号ID: 0009776930 ------- 10進数 [スタートビット(00) + カード番号(8桁)]
  • 出力: 0700952F229F ------------- 16進数 [スタートビット(07h) + カード番号(8桁) + チェックサム]
  • 10進数と16進数の変換にはオンラインの計算機が利用可能です。

Q2: タグを連続して読み取る方法は?

A2: RFIDリーダーは設定なしでタグを連続して読み取ることができます。タグをアンテナから2.5〜4cmの距離に保つと、リーダーはデータを連続して読み取ります。距離が2.5cm未満の場合、タグを動かさない限りリーダーはデータを1回だけ読み取ります。

リソース

プロジェクト

Cayenne を使用した Arduino ベースのセキュリティプロジェクト: Arduino を使用したホームセキュリティプロジェクト。侵入者が検知された際に SMS/メールアラートを送信。認証済みの担当者には個別のメッセージを送信。

技術サポート & 製品ディスカッション

弊社製品をお選びいただきありがとうございます!お客様が弊社製品をスムーズにご利用いただけるよう、さまざまなサポートをご用意しております。異なる好みやニーズに対応するため、複数のコミュニケーションチャネルを提供しています。

Loading Comments...