このチュートリアルでは、MSP430とRFIDリーダーを使用してRFIDカードを読み取るシステムを設計します。RFIDはRadioFrequencyIdentificationの略です。各カードには一意のIDがあり、オフィス、ショッピングモール、および認証カードを持っている人だけが内部に入ることが許可されている他の多くの場所など、多くの認証アプリケーションに最適です。RFIDは、盗難の発生を防ぐためにショッピングモールで使用されます。そこでは、製品にRFIDチップのタグが付けられ、誰かがRFIDチップを持って建物を離れると、アラームが自動的に発生して盗難が阻止されます。RFIDタグは、砂粒と同じくらい小さいように設計されています。RFID認証システムは設計が簡単で、コストも安いです。最近の学校や大学の中には、RFIDを出席記録として使用しているところもあります。
必要な材料
1.MSP430ランチパッド
2. EM-18(RFIDリーダーモジュール)
3. 16 * 2 LCD
4.ポテンショメータ
5.ブレッドボード
6.ジャンパー線
ソフトウェア: Energia IDE
EM-18RFIDリーダー
各RFIDカードには一意のIDが埋め込まれており、RFIDリーダーを使用してRFIDカード番号を読み取ります。 EM-18RFIDリーダー は125KHzで動作し、オンチップアンテナが付属しており、5V電源で電力を供給できます。ウェイガンド出力とともにシリアル出力を提供します。範囲は約8〜12cmです。シリアル通信パラメータは、9600bps、8データビット、1ストップビットです。このワイヤレスRFIDは、次のような多くのシステムで使用されています。
RFIDベースの出席システム、
セキュリティシステム、
投票機、
電子有料道路の価格
ここですべてのRFIDプロジェクトを確認してください。
EM-18RFIDリーダーによって提供される出力は12桁のASCII形式です。12桁のうち最初の10桁はカード番号で、最後の2桁はカード番号のXOR結果です。最後の2桁は、エラーチェックに使用されます。
たとえば、カード番号がリーダーから読み取られた0200107D0D62の場合、カードのカード番号は次のようになります。
02 –前文
00107D0D = 10進数で1080589。
62は(02 XOR 00 XOR 10 XOR 7D XOR 0D)のXOR値です。
したがって、カードの番号は0001080589です。
MSP430RFIDリーダーの回路図と動作
MSP430のハードウェアUARTを使用するため、ボード上のRXDおよびTXDジャンパーがHWUARTモードになっていることを確認してください。次に、EM-18のTxをMSP430のRXD(P1.1)に接続します。
先に進む前に、シリアル通信について理解する必要があります。ここでのRFIDモジュールは、データをコントローラーにシリアルに送信します。他の通信モードもありますが、簡単に通信できるようにRS232を選択しています。モジュールのRS232ピンはMSP430のRXDピンに接続されています。
RFIDモジュールによって送信されるデータは次のようになります。
ここで、RFIDリーダーとMSP430の間の接続をセットアップするために、MSP430でシリアル通信を有効にする必要があります。MSP430で有効にするシリアル通信は、1つのコマンドを使用して実行できます。
Serial.begin(9600); データ= Serial.read();
上図に示すように、RFIDの通信は9600ビット/秒のボーレートで行われます。したがって、MSP430がそのようなボーレートを確立し、シリアル通信を開始するには、コマンド 「Serial.begin(9600);」 を使用し ます。 ここで、9600はボーレートであり、変更可能です。
これで、ボーレートが設定されると、MSPはシリアルデータを受信する準備が整います。このデータは、コマンド 「data = Serial.read();」 によって取得され ます。 このコマンドにより、シリアルデータは整数という名前の「 データ 」に取り込まれ ます 。
カードがリーダーに近づくと、リーダーはシリアルデータを読み取ってMSPに送信します。MSPはその値をLCDに表示するようにプログラムされるため、LCDにカードのIDが表示されます。
コードと説明
EnergiaIDEでコードを記述します。Arduino IDEと同じで、使いやすいです。完全なコードはこのプロジェクトの最後にあります。ここでは、そのいくつかの部分について説明します。
まず、LCDディスプレイ用のライブラリを含め、RFID番号を格納する char 配列を宣言します。
#include
セットアップ 機能、9600のボーレートを定義することにより、LCDとシリアル通信を可能にします。
void setup() { lcd.begin(16、2); Serial.begin(9600); ... ..
では ループ 機能、私たちは、シリアルデータが利用可能であるかをチェックします。可能な場合は、 Serial.read() からの 入力 配列にデータを格納し、 while ループを使用 し て1つずつLCDに表示 し ます。
while(Serial.available()&& count <12)// 12文字を読み取り、入力配列に格納します { input = Serial.read(); // 12文字を1つずつ保存 Serial.print(input); lcd.print(input); delay(300); count ++; if(count == 12) { lcd .print( ""); カウント= 0; // 12文字が読み取られたら、開始して2番目のIDを待ちます……
これは、MSP430Launchpadを使用してLCDにRFID番号を読み取って表示する方法です。これで、このプロジェクトをさらに拡張して、出席システム、投票システム、セキュリティシステムなどを構築できます。