バージョン2.0Advanced Attendance System(イーサネットなし)
コンポーネントと消耗品
> |
| × | 1 | |||
| × | 1 | ||||
| × | 1 |
アプリとオンラインサービス
| ||||
|
このプロジェクトについて
「オンラインRFID出席システム(イーサネットなし)」の最初のバージョンは、プログラミングスキルを持たない愛好家にとっては少し複雑に思えるかもしれません。 オンラインRFID出席システムバージョン2 、一歩前進し、コーディング部分を排除しました。いくつかの接続を行うだけで、独自のオンライン出席システムを作成できるようになります。
このバージョンの出席システムでは、実際の出席システムのすべての要件を備えた出席システムを起動します。 LCDディスプレイを備えています。
仕組みは?
回路:
<図>接続に混乱がある場合は、ピン接続の回路図セクションを参照してください。
LCD画面の回路:
ピン3から220オームの抵抗器を備えたグリッド
LCDRSピンからデジタルピンA0
LCDイネーブルピンからデジタルピンA1
LCDD4ピンからデジタルピン5
LCDD5ピンからデジタルピン4
LCDD6ピンからデジタルピン3
LCDD7ピンからデジタルピン2へ
LCD R / Wピンをアースに接続
LCDVSSピンをグランドに接続
LCDVCCピンを5Vに
プログラミング:
ステップ1:オンラインRFID出席システムを使用するには、以下のステップを実行する必要があります:
- ・出席ユーザーグループを作成する
- ・生成 検証キー
上記の手順を実行するには、以下のURLに移動して、出席ユーザーグループを作成し、無料の検証キーを生成してください。
この検証キーを保持します。
URL: http://www.parikshacrack.com/gadgetProgrammers/user_group.html
<図>ステップ2 : Arduinoと当社のWebアプリケーションを同期するために必要な以下のURLからファイルをダウンロードしてください。
http://www.parikshacrack.com/gadgetProgrammers/ addRFIDTagsProg.zip
http://www.parikshacrack.com/gadgetProgrammers/markattendancewin64.zip
注 :これはWindowsOS専用です。他のOSのために一生懸命取り組んでいます。
上記の2つのzipフォルダーからファイルを抽出し、これらのファイルをPCに保存して、Windowsのアーキテクチャに応じて選択します。 (32ビットまたは64ビットPC)。
ステップ3 :ArduinoとRFIDリーダーを同じPCに接続します。
ステップ4: コードセクションに記載されているArduinoコードをコピーしてArduinoエディターに貼り付けてください。次に、Arduinoコードを実行してデバイスにアップロードします。
ステップ5: 次に、デスクトップアプリケーション「 addRFIDTagsProg 」を実行します 」フォルダ「 addRFIDTagsProg.zip 」にあります 」。
すべてが完全に接続されている場合は、アプリケーション「addRFIDTagsProg」 が開き、下の画像のようにテキストボックスが表示されます。それ以外の場合は、空白の画面が表示されます。
下の図は、通信用に選択するポートを求めています。空き状況に応じて選択してください。
<図>この後、以下のウィンドウが表示されます。
<図>次に、ステップ1 で生成した検証キーを入力します ボタンの検証キーを押します。
それはあなたを検証します。
検証後、ユーザーを追加できます。上記の同じウィンドウを使用して、検証キーの入力を1回だけ求められます。
ユーザーを追加するには、検証後に上記のプログラムを実行してください。以下に示す画面が表示され、使用可能なポートを再度選択します。
<図>正しい空きポートを選択すると、所定の画面の下に表示されます。
上記の画面はユーザーを追加するために使用されます。RFIDRC522の前にカードを概算する必要があります。次にUIDの前にTAGUIDが表示され、このカードに属するユーザー名を入力してEnterキーを押すだけです。 (カードを概算するとボタンが表示されます)。
ユーザーが追加されると、成功のメッセージが表示され、Webパネルでユーザーを表示できます。
URL:http://www.parikshacrack.com/gadgetProgrammers/index.php
ステップ6 :これで、ユーザーグループにユーザー(従業員/学生)を追加できるようになりました。そのためには、当社のWebアプリケーションにログインする必要があります。以下のURLに移動してログインします。
URL:http://www.parikshacrack.com/gadgetProgrammers/index.php
<図>[タブユーザー]-> [保留中のユーザーリスト] に移動します 、ここから、RFIDタグを従業員/学生に割り当てることができます。
ステップ7 :デスクトップアプリケーション「 markOnlineAttendance 」を実行します 」フォルダ「 markattendancewin64.zip」にあります。
下の画像に示すように、ステータス:接続済みを示す画面が開きます。 。
出席をマークするには、 RFIDタグを保持します RFIDリーダーに近い 数秒間、このRFIDタグが属する人の出席がマークされます。
<図>ステップ8 :1か月または1年のすべての従業員/学生の出席を確認するには、次の手順に従ってください。
- タブ出席コントロール->出席の表示に移動します。
- 月と年を選択します。
- 「表示」ボタンをクリックします。
リストは下の画像のように表示されます。
<図>やったー!!!されております。
よろしければ敬意を表してください。
ご不明な点がございましたら、コメント欄にご記入ください。
コード
- Arduinoコード
Arduinoコード Arduino
このコードは、ユーザー8桁のUID(ID CARD)を読み取り、シリアルプリンターで印刷して、処理に送信するために使用されました。/ * -------------------- -------------------------------------------------- ----------------------------------------------スケッチ/プログラムの例PICCからシリアルに新しいNUIDを読み取る方法を示します。 -------------------------------------------------- -------------------------------------------------- ----------------これはMFRC522ライブラリの例です。詳細およびその他の例については、https://github.com/miguelbalboa/rfidを参照してください。MFRC522ベースのRFIDリーダーを使用してPICC(つまり、RFIDタグまたはカード)からデータを読み取る方法を示すスケッチ/プログラムの例ArduinoSPIインターフェース。 ArduinoとMFRC522モジュールが接続されたら(以下のピンレイアウトを参照)、このスケッチをArduino IDEにロードし、検証/コンパイルしてアップロードします。出力を表示するには、IDEの[ツール]、[シリアルモニター]を使用します(Ctrl + Shft + Mを押します)。 MFRC522リーダー/ PCDの読み取り距離でPICC(つまり、RFIDタグまたはカード)を提示すると、シリアル出力にタイプと、新しいカードが検出された場合はNUIDが表示されます。注:PICCを読み取り距離から早すぎると削除すると、「通信のタイムアウト」メッセージが表示される場合があります。 @licenseパブリックドメインにリリースされました。 LCD画面の回路:ピン3からグリッド、220オーム抵抗LCDRSピンからデジタルピンA0LCDイネーブルピンからデジタルピンA1LCDD4ピンからデジタルピン5LCDD5ピンからデジタルピン4LCDD6ピンからデジタルピン3LCD D7ピンからデジタルピン2LCD R / WピンからアースLCDVSSピンからアースLCDVCCピンから5V10K抵抗:エンドは+ 5V、アースワイパーからLCD VOピン(ピン3)RFID回路:使用される一般的なピンレイアウト:- -------------------------------------------------- ------------------------------------- MFRC522 Arduino Arduino Arduino Arduino Arduino Reader / PCD Uno / 101 Mega Nano v3 Leonardo / MicroProマイクロシグナルピンピンピンピンピンピン------------------------------------ -------------------------------------------------- --- RST / Reset RST 9 5 D9 RESET / ICSP-5 RST SPI SS SDA(SS)10 5 3 D10 10 10 SPI MOSI MOSI 11 / ICSP-4 51 D11 ICSP-4 16 SPI MISO MISO 12 / ICSP-1 50 D12 ICSP-1 14 SPI SCK SCK 13 / ICSP-3 52 D13 ICSP-3 15 * /#include#include //ライブラリコードを含める:#include //必要なLCDインターフェイスピンをconstintに接続されているarduinoピン番号に関連付けてライブラリを初期化するrs =A0、en =A1、d4 =5、d5 =4、d6 =3、d7 =2; LiquidCrystal lcd(rs、en、d4、d5、d6、d7); #define SS_PIN 10#define RST_PIN 9int writeVal; int greenLedPin =A2; int redLedPin =A3; int orangeLedPin =6; int buzzerPin =A4; boolean chkConn =false; MFRC522 rfid(SS_PIN、RST_PIN); // classMFRC522 ::MIFARE_Keyキーのインスタンス; //新しいNUIDbytenuidPICC [4];を格納する初期配列boolean isValidating =false; void setup(){Serial.begin(9600); SPI.begin(); // SPIバスを初期化しますrfid.PCD_Init(); // MFRC522を初期化しますpinMode(greenLedPin、OUTPUT); pinMode(redLedPin、OUTPUT); digitalWrite(buzzerPin、OUTPUT); for(byte i =0; i <6; i ++){key.keyByte [i] =0xFF; } lcd.begin(16、2); lcd.setCursor(0、0); // lcd.print( "Welcome To GadgetProgrammer"); // for(int i =0; i <26; i ++){// lcd.scrollDisplayRight(); // delay( 100); //} lcd.begin(16、2); lcd.setCursor(0、0); lcd.print( "GadgetProgrammer"); delay(100); lcd.setCursor(0、1); lcd.print( "接続されていません!"); establishConnection();} void loop(){lcd.setCursor(0、1); char retOutput; if(Serial.available()> 0){retOutput =Serial.read(); lcd.blink(); if(retOutput =='A'){chkConn =true; analogWrite(orangeLedPin、0); lcd.print( "カードをスワイプ!"); } if(retOutput =='V'){analogWrite(orangeLedPin、1000); lcd.print( "検証グループ"); isValidating =true; delay(1000); } if(retOutput =='S'){lcd.print( "Validation Done!"); glowGreenLed(1000); isValidating =false; delay(1000); }} if(chkConn &&!retOutput!=""){if(retOutput =='1'){lcd.print( "Attendance Done!"); glowGreenLed(1000); delay(4000); } else if(retOutput =='0'){lcd.print( "ネットワークエラー!"); glowRedLed(1000); delay(4000); } else if(retOutput =='2'){lcd.print( "User Not Found!"); glowRedLed(1000); delay(4000); } else if(retOutput =='5'){lcd.print( "ネットワークエラー!"); glowRedLed(1000); delay(4000); } //検証プロセス中でない場合は、カードをスワイプしますif(isValidating ==false){lcd.setCursor(0、1); analogWrite(orangeLedPin、0); lcd.print( "カードをスワイプ!"); } //lcd.clear(); //新しいカードを探します} if(!rfid.PICC_IsNewCardPresent())return; // NUIDが読み取られたかどうかを確認しますif(!rfid.PICC_ReadCardSerial())return; //Serial.print(F("PICC type: ")); MFRC522 ::PICC_Type piccType =rfid.PICC_GetType(rfid.uid.sak); //Serial.println(rfid.PICC_GetTypeName(piccType)); //カードの印刷タイプ//チェックはクラシックMIFAREタイプのPICCであるif(piccType!=MFRC522 ::PICC_TYPE_MIFARE_MINI &&piccType!=MFRC522 ::PICC_TYPE_MIFARE_1K &&piccType! =MFRC522 ::PICC_TYPE_MIFARE_4K){// Serial.println(F( "タグはMIFAREクラシックタイプではありません。"));戻る; }文字列s; for(byte i =0; i <4; i ++){nuidPICC [i] =rfid.uid.uidByte [i]; } //Serial.println(F("NUIDタグは次のとおりです: ")); //Serial.print(F("16進数: ")); printHex(rfid.uid.uidByte、rfid.uid.size); Serial.println(); lcd.setCursor(0,1); lcd.print( "リーディングカード...!"); // PICCを停止しますrfid.PICC_HaltA(); // PCDで暗号化を停止しますrfid.PCD_StopCrypto1(); delay(1000);} / **バイト配列を16進値としてSerialにダンプするヘルパールーチン。* / voidprintHex(byte * buffer、byte bufferSize){for(byte i =0; i 0){delay(delaytime); digitalWrite(greenLedPin、LOW); noTone(buzzerPin); }} void glowRedLed(int delaytime){digitalWrite(orangeLedPin、LOW); digitalWrite(greenLedPin、LOW); digitalWrite(redLedPin、HIGH); digitalWrite(buzzerPin、HIGH); delay(1000);トーン(buzzerPin、5000); // noTone(buzzerPin); if(delaytime> 0){delay(delaytime); digitalWrite(redLedPin、LOW); noTone(buzzerPin); }} void glowOrangeLed(){analogWrite(orangeLedPin、100); delay(100); } // Aをシリアルポートに送信する処理との接触voidestablishConnection(){while(Serial.available()<=0 &&!chkConn){Serial.println( "A"); glowOrangeLed(); delay(200); }} void printLcdMsg(String msg、int col、int row){if(msg.equals( "")|| row <0 || col <0){row =0; col =1; } lcd.setCursor(col、row); lcd.print(msg);}
回路図
pin_connections_of_arduino_and_lcd_yD9G43NUd9.tiff pin_connections_of_arduion_and_rfid_7DFKgigFOA.tiff 製造プロセス