산업 제조
산업용 사물 인터넷 | 산업자재 | 장비 유지 보수 및 수리 | 산업 프로그래밍 |
home  MfgRobots >> 산업 제조 >  >> Manufacturing Technology >> 제조공정

버전 2.0 고급 출석 시스템(이더넷 없음)

구성품 및 소모품

Arduino UNO
× 1
점퍼 와이어(일반)
× 1
RFID RC522 모듈
× 1

앱 및 온라인 서비스

http://www.parikshackrack.com/gadgetProgrammers/addrfidwin64 .zip
Windows 사용자 전용
http://www.parikshackrack.com/gadgetProgrammers/markattendancewin64 .zip
Windows 사용자 전용

이 프로젝트 정보

"온라인 RFID 출석 시스템(이더넷 없음)"의 첫 번째 버전은 프로그래밍 기술이 없는 취미 사용자에게는 다소 복잡해 보일 수 있습니다. 온라인 RFID 출석 시스템 버전 2 사용 , 한 단계 더 나아가 코딩 부분을 없앴습니다. 몇 가지 연결만 하면 자신만의 온라인 출석 시스템을 만들 수 있습니다.

이 버전의 출석 시스템에서는 실제 출석 시스템의 모든 요구 사항을 갖춘 출석 시스템을 출시할 예정입니다. LCD 디스플레이가 있습니다.

작동 원리는 무엇입니까?

회로:

연결에 혼란이 있는 경우 핀 연결에 대한 회로도 섹션을 참조하십시오.

LCD 화면용 회로:

220옴 저항이 있는 3번 핀에서 grd로

LCD RS 핀에서 디지털 핀 A0

LCD 활성화 핀에서 디지털 핀 A1

LCD D4 핀에서 디지털 핀 5

LCD D5 핀에서 디지털 핀 4

LCD D6 핀에서 디지털 핀 3

LCD D7 핀에서 디지털 핀 2

접지에 대한 LCD R/W 핀

접지에 대한 LCD VSS 핀

5V에 대한 LCD VCC 핀

프로그래밍:

1단계:온라인 RFID 출석 시스템을 사용하려면 다음 단계를 수행해야 합니다.

<울>
  • · 출석 사용자 그룹 생성
  • <울>
  • · 생성 인증 키
  • 위 단계를 수행하려면 아래 URL로 이동하여 출석 사용자 그룹을 생성하고 무료 인증 키를 생성하십시오.

    이 유효성 검사 키를 보관하십시오.

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

    2단계 :Arduino와 당사 웹 애플리케이션 동기화에 필요한 파일은 아래 URL에서 다운로드하세요.

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

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

    참고 :윈도우 OS에만 해당됩니다. 우리는 다른 OS를 위해 열심히 노력하고 있습니다.

    위의 두 개의 zip 폴더에서 파일을 추출하고 이 파일을 PC에 저장하고 Windows 아키텍처에 따라 선택합니다. (32 또는 64비트 PC).

    3단계 :아두이노와 RFID 리더를 같은 PC에 연결합니다.

    4단계: 코드 섹션에 제공된 Arduino 코드를 Arduino 편집기에 복사하여 붙여넣습니다. 이제 Arduino 코드를 실행하고 장치에 업로드하십시오.

    5단계: 이제 데스크톱 애플리케이션 “addRFIDTagsProg를 실행합니다. "addRFIDTagsProg.zip 폴더에서 찾을 수 있습니다. ".

    모든 것이 완벽하게 연결되면 애플리케이션 "addRFIDTagsProg" 가 열리고 아래 이미지와 같은 텍스트 상자가 표시됩니다. 그렇지 않으면 빈 화면이 표시됩니다.

    아래 다이어그램은 통신을 위해 선택할 포트를 요청하고 있으므로 가용성에 따라 선택하십시오.

    이 후 아래에 주어진 창을 볼 수 있습니다.

    이제 1단계 에서 생성한 인증 키를 입력하십시오. 버튼을 누르고 확인 키를 누릅니다.

    그것은 당신을 확인합니다.

    유효성 검사 후 사용자를 추가할 수 있습니다. 위의 동일한 창을 사용하여 유효성 검사 키를 한 번만 묻습니다.

    사용자를 추가하려면 유효성 검사 후 주어진 프로그램 위에서 실행하십시오. 그러면 사용 가능한 포트를 다시 선택하는 화면이 아래와 같이 표시됩니다.

    올바른 여유 포트를 선택하면 주어진 화면 아래에 표시됩니다.

    위의 화면은 이를 위해 사용자를 추가하는 데 사용됩니다. RFID RC522 앞의 카드를 대략적으로 계산해야 합니다. 그러면 UID 앞에 TAG UID가 표시되고 이 카드에 속할 사용자 이름을 입력하고 Enter 키를 누르기만 하면 됩니다. (카드 근사화 후 버튼이 나타납니다.)

    사용자가 추가되면 성공 메시지가 표시되고 웹 패널에서 사용자를 볼 수 있습니다.

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

    6단계 :이제 사용자 그룹에 사용자(직원/학생)를 추가할 수 있습니다. 이를 위해서는 웹 애플리케이션에 로그인해야 합니다. 아래 URL로 이동하여 로그인합니다.

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

    탭 사용자의 -> 대기 중인 사용자 목록으로 이동합니다. , 여기에서 직원/학생에게 RFID 태그를 할당할 수 있습니다.

    7단계 :데스크톱 애플리케이션 “markOnlineAttenance 실행 " "markattendancewin64.zip" 폴더에서 찾을 수 있습니다.

    상태:연결됨을 보여주는 아래 이미지와 같은 화면이 열립니다. .

    출석을 표시하려면 RFID 태그를 보관하세요. RFID 리더 에 가깝습니다. 몇 초 동안 이 RFID 태그가 속한 사람의 출석이 표시됩니다.

    8단계 :전 직원/학생의 월별 또는 연도별 출석률을 확인하려면 다음 단계를 따르세요.

    <울>
  • 탭 출석 제어 -> 출석 보기로 이동합니다.
  • <울>
  • 월과 연도를 선택합니다.
  • <울>
  • '표시' 버튼을 클릭합니다.
  • 아래 이미지와 같이 목록이 표시되어야 합니다.

    만세!!! 완료되었습니다.

    마음에 들면 존경을 표하십시오.

    질문이 있으시면 댓글창에 소리질러 주세요.

    <섹션 클래스="섹션 컨테이너 섹션 축소 가능" id="코드">

    코드

    <울>
  • Arduino 코드
  • Arduino 코드Arduino
    이 코드는 사용자 8자리 UID(ID CARD)를 읽고 직렬 프린터에서 인쇄하여 처리하는 데 사용하는 코드입니다.
    /* -------------------- -------------------------------------------------- ------------------------------------------- 스케치/프로그램 예제 PICC에서 직렬로 새 NUID를 읽는 방법을 보여줍니다. -------------------------------------------------- -------------------------------------------------- ---------------- MFRC522 라이브러리 예제입니다. 자세한 내용 및 기타 예제는 다음을 참조하십시오. https://github.com/miguelbalboa/rfid MFRC522 기반 RFID 리더를 사용하여 PICC(즉, RFID 태그 또는 카드)에서 데이터를 읽는 방법을 보여주는 예제 스케치/프로그램 아두이노 SPI 인터페이스. Arduino와 MFRC522 모듈이 연결되면(아래 핀 레이아웃 참조) 이 스케치를 Arduino IDE에 로드한 다음 확인/컴파일하고 업로드합니다. 출력을 보려면 도구, IDE의 직렬 모니터를 사용하십시오(Ctrl+Shft+M 누르기). MFRC522 리더/PCD의 판독 거리에 PICC(즉, RFID 태그 또는 카드)를 제시하면 직렬 출력에 유형이 표시되고 새 카드가 감지되면 NUID가 표시됩니다. 참고:읽기 거리에서 PICC를 너무 일찍 제거하면 "통신 시간 초과" 메시지가 표시될 수 있습니다. @license 공개 도메인으로 출시되었습니다. LCD 화면용 회로:220ohm 저항이 있는 핀 3에서 grd까지 LCD RS 핀에서 디지털 핀 A0 LCD 활성화 핀에서 디지털 핀 A1 LCD D4 핀에서 디지털 핀 5 LCD D5 핀에서 디지털 핀 4 LCD D6 핀에서 디지털 핀 3 LCD D7 핀에서 디지털 핀 2로 LCD R/W 핀에서 접지로 LCD VSS 핀에서 접지로 LCD VCC 핀에서 5V 10K 저항:+5V로 끝단 및 LCD VO 핀(핀 3)에 접지 와이퍼 RFID 회로:사용되는 일반적인 핀 레이아웃:-- -------------------------------------------------- -------------------------------------- MFRC522 Arduino Arduino Arduino Arduino Reader/PCD Uno/101 Mega Nano v3 Leonardo/Micro Pro 마이크로 신호 핀 핀 핀 핀 핀 핀 ------------------------------------ -------------------------------------------------- --- RST/리셋 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 // 라이브러리 코드 포함:#include // 필요한 LCD 인터페이스 핀을 연결하여 라이브러리를 초기화합니다. // 연결된 arduino 핀 번호와 연결합니다. const int 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 4buzzerPin ==거짓;MFRC522 rfid(SS_PIN, RST_PIN); // classMFRC522::MIFARE_Key key의 인스턴스;// 새로운 NUIDbyte를 저장할 초기화 배열 nuidPICC[4]; 부울 isValidating =false; 무효 setup() { Serial.begin(9600); SPI.begin(); // SPI 버스 초기화 rfid.PCD_Init(); // MFRC522 초기화 pinMode(greenLedPin, OUTPUT); 핀모드(레드레드핀, 출력); digitalWrite(부저핀, 출력); for (byte i =0; i <6; i++) { key.keyByte[i] =0xFF; } lcd.begin(16, 2); lcd.setCursor(0, 0);// lcd.print("가젯프로그래머에 오신 것을 환영합니다");// for (int i =0; i <26; i++) {// lcd.scrollDisplayRight();// delay( 100);// } lcd.begin(16, 2); lcd.setCursor(0, 0); lcd.print("가제트 프로그래머"); 지연(100); lcd.setCursor(0, 1); lcd.print("연결되지 않았습니다! "); 설정 연결();} 무효 루프() { lcd.setCursor(0, 1); 문자 ret출력; if (Serial.available()> 0) { retOutput =Serial.read(); lcd.blink(); if (retOutput =='A') { chkConn =true; analogWrite(주황색 LED 핀, 0); lcd.print("카드를 긁으세요!"); } if(retOutput =='V'){ analogWrite(주황색 LED 핀, 1000); lcd.print("그룹 확인"); isValidating =참; 지연(1000); } if(retOutput =='S'){ lcd.print("검증 완료!"); 글로우그린레드(1000); isValidating =거짓; 지연(1000); } } if (chkConn &&!retOutput !="") { if (retOutput =='1') { lcd.print("출석 완료!"); 글로우그린레드(1000); 지연(4000); } else if (retOutput =='0') { lcd.print("네트워크 오류!"); 글로우레드레드(1000); 지연(4000); } else if (retOutput =='2') { lcd.print("사용자를 찾을 수 없습니다!"); 글로우레드레드(1000); 지연(4000); } else if (retOutput =='5') { lcd.print("네트워크 오류!"); 글로우레드레드(1000); 지연(4000); } //검증 프로세스가 아닌 경우 카드를 스와이프합니다. if(isValidating ==false){ lcd.setCursor(0, 1); analogWrite(주황색 LED 핀, 0); lcd.print("카드를 긁으세요!"); } //lcd.clear(); // 새 카드 찾기 } if ( ! rfid.PICC_IsNewCardPresent()) return; // NUID를 읽었는지 확인 if ( ! rfid.PICC_ReadCardSerial()) return; //Serial.print(F("PICC 유형:")); MFRC522::PICC_Type piccType =rfid.PICC_GetType(rfid.uid.sak); //Serial.println(rfid.PICC_GetTypeName(piccType));//카드의 인쇄 유형 // 체크가 Classic MIFARE 유형의 PICC인지 확인 if (piccType !=MFRC522::PICC_TYPE_MIFARE_MINI &&piccType !=MFRC522::PICC_TYPE_K &&MIFARE_1 =MFRC522::PICC_TYPE_MIFARE_4K) { //Serial.println(F("귀하의 태그는 MIFARE Classic 유형이 아닙니다.")); 반품; } 문자열 s; (바이트 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); 직렬.println(); lcd.setCursor(0,1); lcd.print("리딩카드...!"); // PICC 중지 rfid.PICC_HaltA(); // PCD에서 암호화 중지 rfid.PCD_StopCrypto1(); delay(1000);}/** 바이트 배열을 16진수 값으로 Serial에 덤프하는 도우미 루틴.*/void printHex(byte *buffer, byte bufferSize) { for (byte i =0; i  0) { 지연(지연 시간); digitalWrite(greenLedPin, LOW); 노톤(부저핀); }} 무효 glowRedLed(int delaytime) { digitalWrite(orangeLedPin,LOW); digitalWrite(greenLedPin, LOW); digitalWrite(redLedPin, HIGH); digitalWrite(부저핀, 높음); 지연(1000); 톤(부저핀, 5000); //noTone(buzzerPin); if (지연 시간> 0) { 지연(지연 시간); digitalWrite(redLedPin, LOW); 노톤(부저핀); }} 무효 glowOrangeLed(){ analogWrite(orangeLedPin,100); 지연(100); }//A를 직렬 포트로 보내는 처리와 연결합니다. 설정 연결() { while (Serial.available() <=0 &&!chkConn) { Serial.println("A"); 글로우오렌지LED(); 지연(200); }} 무효 printLcdMsg(문자열 메시지, 정수 열, 정수 행) { if (msg.equals("") || 행 <0 || 열 <0) { 행 =0; 열 =1; } lcd.setCursor(열, 행); lcd.print(msg);}

    회로도

    pin_connections_of_arduino_and_lcd_yD9G43NUd9.tiff pin_connections_of_arduion_and_rfid_7DFKgigFOA.tiff

    제조공정

    1. 롤링 핀
    2. 볼링 핀
    3. 태양열 난방 시스템
    4. 안전핀
    5. 전시:원시 전시
    6. 재료:저온 경화가 가능한 고급 LSR 시스템
    7. 컴퓨터 및 배터리용 고급 냉각 시스템
    8. Python과 함께 Arduino 및 RFID를 사용한 출석 시스템
    9. 컨베이어 시스템 이해
    10. 서스펜션 시스템 이해