Industrielle Fertigung
Industrielles Internet der Dinge | Industrielle Materialien | Gerätewartung und Reparatur | Industrielle Programmierung |
home  MfgRobots >> Industrielle Fertigung >  >> Manufacturing Technology >> Herstellungsprozess

Erweitertes Anwesenheitssystem Version 2.0 (ohne Ethernet)

Komponenten und Verbrauchsmaterialien

Arduino UNO
× 1
Jumper (generisch)
× 1
RFID RC522 Modul
× 1

Apps und Onlinedienste

http://www.parikshacrack.com/gadgetProgrammers/addrfidwin64 .zip
Nur für Windows-Benutzer
http://www.parikshacrack.com/gadgetProgrammers/markattendancewin64 .zip
Nur für Windows-Benutzer

Über dieses Projekt

Die erste Version unseres „Online-RFID-Anwesenheitssystems (ohne Ethernet)“ mag für Bastler ohne Programmierkenntnisse etwas kompliziert erscheinen. Mit Online-RFID-Anwesenheitssystem Version 2 , wir sind einen Schritt weitergekommen und haben den Codierungsteil eliminiert. Mit nur wenigen Verbindungen können Sie Ihr eigenes Online-Anwesenheitssystem erstellen.

In dieser Version des Anwesenheitssystems werden wir ein Anwesenheitssystem mit allen Anforderungen eines echten Anwesenheitssystems einführen. Es hat ein LCD-Display.

Wie funktioniert es?

Schaltung:

Wenn Sie Verwirrung bei den Anschlüssen haben, sehen Sie im Abschnitt Schaltpläne für Pin-Anschlüsse nach.

Die Schaltung für LCD-BILDSCHIRM:

Pin3 zu grd mit 220 Ohm Widerstand

LCD-RS-Pin zu digitalem Pin A0

LCD-Enable-Pin zu digitalem Pin A1

LCD D4-Pin zu digitalem Pin 5

LCD D5-Pin auf Digital-Pin 4

LCD D6-Pin auf Digital-Pin 3

LCD D7-Pin an Digital-Pin 2

LCD-R/W-Pin an Masse

LCD-VSS-Pin an Masse

LCD-VCC-Pin an 5V

Programmierung:

Schritt 1:Um unser Online-RFID-Anwesenheitssystem zu verwenden, müssen Sie die folgenden Schritte ausführen:

  • · Anwesenheitsbenutzergruppe erstellen
  • · Generieren Validierungsschlüssel

Um die obigen Schritte auszuführen, gehen Sie bitte zur untenstehenden URL und erstellen Sie eine Anwesenheitsbenutzergruppe und generieren Sie einen kostenlosen Validierungsschlüssel.

Bewahren Sie diesen Validierungsschlüssel auf.

URL: http://www.parikshacrack.com/gadgetProgrammers/user_group.html

Schritt 2 :Bitte laden Sie Dateien von der folgenden URL herunter, die zum Synchronisieren von Arduino und unserer Webanwendung erforderlich ist

http://www.parikshacrack.com/gadgetProgrammers/ addRFIDTagsProg.zip

http://www.parikshacrack.com/gadgetProgrammers/markattendancewin64.zip

Hinweis :Dies ist nur für Windows-Betriebssysteme. Wir arbeiten hart für andere Betriebssysteme.

Extrahieren Sie Dateien aus den beiden oben genannten Zip-Ordnern und speichern Sie diese Dateien auf Ihrem PC und wählen Sie entsprechend Ihrer Windows-Architektur. (32- oder 64-Bit-PC).

Schritt 3 :Verbinden Sie Arduino und RFID-Reader mit demselben PC.

Schritt 4: Bitte kopieren und fügen Sie den Arduino-Code wie im Codeabschnitt angegeben in den Arduino-Editor ein. Führen Sie nun Arduino-Code aus und laden Sie ihn auf das Gerät hoch.

Schritt 5: Führen Sie nun die Desktop-Anwendung „addRFIDTagsProg . aus “, das Sie im Ordner „addRFIDTagsProg.zip . finden ”.

Wenn alles perfekt verbunden ist, dann Anwendung „addRFIDTagsProg“ wird geöffnet und das Textfeld wird wie im Bild unten angezeigt, andernfalls wird ein leerer Bildschirm angezeigt.

Das untenstehende Diagramm fragt nach dem Port, der für die Kommunikation ausgewählt werden soll. Bitte wählen Sie nach Ihrer Verfügbarkeit.

Danach sehen Sie das unten angegebene Fenster.

Geben Sie nun den Validierungsschlüssel ein, den Sie in Schritt 1 generiert haben und Drücken Sie die Bestätigungstaste.

Es bestätigt dich.

Nach der Validierung können Sie Benutzer hinzufügen. Verwenden Sie das obige Fenster, das nur einmal zur Eingabe des Validierungsschlüssels auffordert.

Um einen Benutzer hinzuzufügen, führen Sie bitte das oben angegebene Programm nach der Validierung aus, dann wird der unten gezeigte Bildschirm angezeigt, wählen Sie den verfügbaren Port erneut aus:

Nachdem Sie den richtigen freien Port ausgewählt haben, wird dieser unten angezeigt.

Der obige Bildschirm wird verwendet, um einen Benutzer hinzuzufügen. Dazu müssen Sie Ihre Karte vor RFID RC522 annähern. Dann wird Ihnen die TAG-UID vor der UID angezeigt und dann müssen Sie nur den Benutzernamen eingeben, der zu dieser Karte gehören wird, und drücken Sie die Eingabetaste (Schaltfläche erscheint nach Annäherung der Karte).

Wenn ein Benutzer hinzugefügt wird, wird Ihnen eine Erfolgsmeldung angezeigt und Sie können den Benutzer im Webpanel anzeigen.

URL:http://www.parikshacrack.com/gadgetProgrammers/index.php

Schritt 6 :Jetzt können Sie Benutzer (Mitarbeiter/Studenten) zu Ihrer Benutzergruppe hinzufügen. Dazu müssen Sie sich bei unserer Webanwendung anmelden. Gehen Sie zur untenstehenden URL und melden Sie sich an.

URL:http://www.parikshacrack.com/gadgetProgrammers/index.php

Gehen Sie zu Tab Benutzer -> Liste ausstehender Benutzer , von hier aus können Sie ihren Mitarbeitern/Studenten RFID-Tags zuweisen.

Schritt 7 :Führen Sie die Desktop-Anwendung „markOnlineAttendance . aus “, das Sie im Ordner „markattendancewin64.zip“ finden.

Ein Bildschirm wird geöffnet, wie in der folgenden Abbildung gezeigt, der den Status:verbunden anzeigt .

Behalten Sie RFID-Tags bei, um die Teilnahme zu kennzeichnen in der Nähe des RFID-Readers für einige Sekunden und die Anwesenheit wird für die Person markiert, der diese RFID-Tags gehören.

Schritt 8 :Um die Anwesenheit aller Mitarbeiter/Studenten in einem Monat oder Jahr anzuzeigen, folgen Sie bitte den folgenden Schritten.

  • Gehen Sie zu Tab "Anwesenheitskontrollen -> Anwesenheit anzeigen".
  • Wählen Sie Monat und Jahr aus.
  • Klicken Sie auf die Schaltfläche "Anzeigen".

Eine Liste sollte wie unten abgebildet angezeigt werden.

Hurra!!! Es ist vollbracht.

Wenn Sie möchten, geben Sie bitte Respekt.

Bitte schreien Sie im Kommentarfeld, wenn Sie Fragen haben.

Code

  • Arduino-Code
Arduino-CodeArduino
Dieser Code wird verwendet, um die 8-stellige UID (ID CARD) des Benutzers zu lesen und auf einem seriellen Drucker auszudrucken und an die Verarbeitung zu senden.
/* -------------------- -------------------------------------------------- ---------------------------------------------------------- Beispielskizze/-programm zeigt, wie man neue NUIDs von einem PICC in eine Serie einliest. -------------------------------------------------- -------------------------------------------------- ---------------- Dies ist ein Beispiel für eine MFRC522-Bibliothek; Weitere Details und andere Beispiele finden Sie unter:https://github.com/miguelbalboa/rfid Beispielskizze/-programm, das zeigt, wie Daten von einem PICC (d. h. einem RFID-Tag oder einer Karte) mit einem MFRC522-basierten RFID-Lesegerät auf dem . gelesen werden Arduino SPI-Schnittstelle. Wenn das Arduino und das MFRC522-Modul verbunden sind (siehe das Pin-Layout unten), laden Sie diese Skizze in die Arduino IDE, überprüfen / kompilieren Sie sie und laden Sie sie hoch. Um die Ausgabe anzuzeigen:Verwenden Sie Tools, Serial Monitor der IDE (drücken Sie Strg + Umschalt + M). Wenn Sie einen PICC (d. h. ein RFID-Tag oder eine Karte) im Leseabstand des MFRC522-Lesegeräts/PCD vorlegen, zeigt der serielle Ausgang den Typ und die NUID an, wenn eine neue Karte erkannt wurde. Hinweis:Wenn Sie den PICC zu früh aus der Lesereichweite entfernen, werden möglicherweise "Timeout in communication"-Meldungen angezeigt. @license In die Öffentlichkeit freigegeben. Die Schaltung für LCD-BILDSCHIRM:Pin3 zu grd mit 220 Ohm Widerstand LCD RS Pin zu Digital Pin A0 LCD Enable Pin zu Digital Pin A1 LCD D4 Pin zu Digital Pin 5 LCD D5 Pin zu Digital Pin 4 LCD D6 Pin zu Digital Pin 3 LCD D7 Pin an Digital Pin 2 LCD R/W Pin an Masse LCD VSS Pin an Masse LCD VCC Pin an 5V 10K Widerstand:Enden an +5V und Masseschleifer an LCD VO Pin (Pin 3) RFID-Schaltung:Typisches verwendetes Pin-Layout:-- -------------------------------------------------- -------------------------------------- MFRC522 Arduino Arduino Arduino Arduino Arduino Reader/PCD Uno/101 Mega Nano v3 Leonardo/Micro Pro Micro Signal Pin Pin Pin Pin Pin Pin ------------------------------------ -------------------------------------------------- --- RST/Reset RST 9 5 D9 RESET/ICSP-5 RST SPI SS SDA(SS) 10 53 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 // Enthalten Sie den Bibliothekscode:#include // Initialisieren Sie die Bibliothek, indem Sie jeden benötigten LCD-Schnittstellen-Pin // mit der Arduino-Pin-Nummer verbinden, die mit const int rs =A0, en =A1, d4 =5, d5 =4, d6 =3, d7 =. verbunden ist 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 SummerPin =A4;boolean ch =false;MFRC522 rfid(SS_PIN, RST_PIN); // Instanz des classMFRC522::MIFARE_Key-Schlüssels;// Init-Array, das neue NUIDbyte speichert nuidPICC[4]; boolean isValidating =false;void setup () { Serial.begin (9600); SPI.begin(); // SPI-Bus initiieren rfid.PCD_Init(); // Init MFRC522 PinMode (greenLedPin, OUTPUT); pinMode (redLedPin, AUSGANG); digitalWrite (SummerPin, AUSGANG); for (Byte i =0; i <6; i++) { key.keyByte[i] =0xFF; } lcd.begin(16, 2); lcd.setCursor(0, 0); // lcd.print("Willkommen bei GadgetProgrammer"); // for (int i =0; i <26; i++) {// lcd.scrollDisplayRight(); // delay( 100); // } lcd.begin (16, 2); lcd.setCursor(0, 0); lcd.print("GadgetProgrammer"); Verzögerung (100); lcd.setCursor(0, 1); lcd.print("Nicht verbunden!"); EstablishConnection();}void loop() {lcd.setCursor (0, 1); char retAusgabe; if (Serial.available ()> 0) { retOutput =Serial.read (); lcd.blink(); if (retOutput =='A') { chkConn =true; analogWrite(orangeLedPin,0); lcd.print ("Streichen Sie Ihre Karte durch!"); } if (retOutput =='V') { analogWrite (orangeLedPin,1000); lcd.print("Gruppe validieren"); isValidating =true; Verzögerung (1000); } if(retOutput =='S'){lcd.print("Validierung fertig!"); GlühenGrünLed(1000); isValidating =false; Verzögerung (1000); } } if (chkConn &&!retOutput !="") { if (retOutput =='1') { lcd.print("Anwesenheit fertig!"); GlühenGrünLed(1000); Verzögerung (4000); } else if (retOutput =='0') { lcd.print("Netzwerkfehler!"); GlühenRedLed(1000); Verzögerung (4000); } else if (retOutput =='2') {lcd.print("Benutzer nicht gefunden!"); GlühenRedLed(1000); Verzögerung (4000); } else if (retOutput =='5') { lcd.print("Netzwerkfehler!"); GlühenRedLed(1000); Verzögerung (4000); } // Wenn nicht im Validierungsprozess, dann ziehen Sie Ihre Karte durch if (isValidating ==false) {lcd.setCursor (0, 1); analogWrite(orangeLedPin,0); lcd.print ("Streichen Sie Ihre Karte durch!"); } //lcd.clear(); // Nach neuen Karten suchen } if ( ! rfid.PICC_IsNewCardPresent()) return; // Überprüfen, ob die NUID gelesen wurde if ( ! rfid.PICC_ReadCardSerial()) return; // Serial.print (F ("PICC-Typ:")); MFRC522::PICC_Type piccType =rfid.PICC_GetType(rfid.uid.sak); //Serial.println(rfid.PICC_GetTypeName(piccType)); // Drucktyp der Karte // Check ist der PICC des klassischen MIFARE-Typs if (piccType !=MFRC522::PICC_TYPE_MIFARE_MINI &&piccType !=MFRC522::PICC_TYPE_MIFARE_1K ! =MFRC522::PICC_TYPE_MIFARE_4K) { //Serial.println(F("Ihr Tag ist nicht vom Typ MIFARE Classic.")); Rückkehr; } Zeichenfolge s; für (Byte i =0; i <4; i++) { nuidPICC[i] =rfid.uid.uidByte[i]; } //Serial.println(F("Das NUID-Tag ist:")); // Serial.print (F ( "In Hex:")); printHex(rfid.uid.uidByte, rfid.uid.size); Serial.println(); lcd.setCursor(0,1); lcd.print("Karte lesen...!"); // PICC anhalten rfid.PICC_HaltA(); // Verschlüsselung auf PCD stoppen rfid.PCD_StopCrypto1(); delay(1000);}/** Hilfsroutine zum Ausgeben eines Byte-Arrays als Hex-Werte in Serial.*/void printHex(byte *buffer, byte bufferSize) { for (byte i =0; i  0) { Verzögerung (Verzögerungszeit); digitalWrite (grüner LedPin, LOW); kein Ton (SummerPin); }}void glowRedLed (int delaytime) { DigitalWrite (orangeLedPin, LOW); digitalWrite (grüner LedPin, LOW); digitalWrite (redLedPin, HIGH); digitalWrite (SummerPin, HIGH); Verzögerung (1000); Ton (SummerPin, 5000); //kein Ton (SummerPin); if (Verzögerungszeit> 0) { Verzögerung (Verzögerungszeit); digitalWrite (redLedPin, LOW); kein Ton (SummerPin); }}void glowOrangeLed () { analogWrite (orangeLedPin, 100); Verzögerung (100); } // Kontaktaufnahme mit der Verarbeitung von Senden von A an Serial Portvoid EstablishConnection () { Während (Serial.available () <=0 &&!chkConn) { Serial.println ("A"); GlühOrangeLed(); Verzögerung (200); }}void printLcdMsg(String msg, int col, int row) { if (msg.equals("") || row <0 || col <0) { row =0; Spalte =1; } lcd.setCursor (Spalte, Zeile); lcd.print(msg);}

Schaltpläne

pin_connections_of_arduino_and_lcd_yD9G43NUd9.tiff pin_connections_of_arduion_and_rfid_7DFKgigFOA.tiff

Herstellungsprozess

  1. Nudelholz
  2. Bowling-Pin
  3. Solarheizung
  4. Sicherheitsnadel
  5. Ausstellung:Die Urausstellung
  6. Materialien:Fortschrittliches LSR-System mit Niedertemperaturhärtung
  7. Ein fortschrittliches Kühlsystem für Computer und Batterien
  8. Anwesenheitssystem mit Arduino und RFID mit Python
  9. Fördersystem verstehen
  10. Aufhängungssystem verstehen