이 튜토리얼에서는 MSP430 및 RFID 리더를 사용하여 RFID 카드를 읽는 시스템을 설계합니다. RFID는 무선 주파수 식별을 의미합니다. 각 카드에는 고유 한 ID가 있으므로 사무실, 쇼핑몰 및 기타 인증 카드를 소지 한 사람 만 출입 할 수있는 여러 장소와 같은 많은 인증 응용 프로그램에 완벽한 선택이됩니다. 쇼핑몰에서 RFID는 도난을 막기 위해 사용하는 방식으로 제품에 RFID 칩이 부착되고 누군가가 RFID 칩을 가지고 건물을 나가면 자동으로 알람이 울려 도난이 중지된다. RFID 태그는 모래알처럼 작게 설계되었습니다. RFID 인증 시스템은 설계가 쉽고 비용이 저렴합니다. 오늘날 일부 학교와 대학에서는 출석 등록부로 RFID를 사용합니다.
필요한 재료
1. MSP430 런치 패드
2. EM-18 (RFID 리더 모듈)
3. 16 * 2 LCD
4. 전위차계
5. 브레드 보드
6. 점퍼 와이어
소프트웨어: Energia IDE
EM-18 RFID 리더
각 RFID 카드에는 고유 한 ID가 내장되어 있으며 RFID 리더는 RFID 카드 번호를 읽는 데 사용됩니다. EM-18 RFID 리더기 는 125KHz에서 작동하며 온칩 안테나와 함께 제공되며 5V 전원 공급 장치로 전원을 공급할 수 있습니다. weigand 출력과 함께 직렬 출력을 제공합니다. 범위는 약 8-12cm입니다. 직렬 통신 매개 변수는 9600bps, 8 데이터 비트, 1 정지 비트입니다. 이 무선 RF 식별은 다음과 같은 많은 시스템에서 사용됩니다.
RFID 기반 출석 시스템,
보안 시스템,
투표 기계, 전자 유료 도로 가격
여기에서 모든 RFID 프로젝트를 확인하십시오.
EM-18 RFID 리더에서 제공하는 출력은 12 자리 ASCII 형식입니다. 12 자리 중 처음 10 자리는 카드 번호이고 마지막 두 자리는 카드 번호의 XOR 결과입니다. 마지막 두 자리는 오류 검사에 사용됩니다.
예를 들어 리더에서 읽은 카드 번호는 0200107D0D62이고 카드의 카드 번호는 다음과 같습니다.
02 – 서문
00107D0D = 1080589 (10 진수).
62는 (02 XOR 00 XOR 10 XOR 7D XOR 0D)에 대한 XOR 값입니다.
따라서 카드의 번호는 0001080589입니다.
MSP430 RFID 리더 회로도 및 작동
MSP430의 하드웨어 UART를 사용하므로 보드의 RXD 및 TXD 점퍼가 HW UART 모드에 있는지 확인하십시오. 그런 다음 EM-18의 Tx를 MSP430의 RXD (P1.1)에 연결 합니다.
계속 진행하기 전에 직렬 통신에 대해 이해해야합니다. 여기서 RFID 모듈은 데이터를 컨트롤러에 직렬로 보냅니다. 다른 통신 모드가 있지만 쉬운 통신을 위해 RS232를 선택합니다. 모듈의 RS232 핀은 MSP430의 RXD 핀에 연결됩니다.
RFID 모듈에서 보낸 데이터는 다음과 같습니다.
이제 RFID 리더와 MSP430 간의 연결을 설정하려면 MSP430 에서 직렬 통신 을 활성화 해야합니다. MSP430에서 활성화되는 직렬 통신은 단일 명령을 사용하여 수행 할 수 있습니다.
Serial.begin (9600); 데이터 = Serial.read ();
위 그림과 같이 RFID 통신은 초당 9600 비트 의 BAUD 속도로 이루어집니다. 따라서 MSP430이 이러한 전송 속도를 설정하고 직렬 통신을 시작하려면 "Serial.begin (9600);" 명령을 사용 합니다. 여기서 9600은 전송 속도이며 변경 가능합니다.
이제 전송 속도가 설정되면 MSP는 직렬 데이터를 수신 할 준비가됩니다. 이 데이터는 “data = Serial.read ();” 명령에 의해 선택됩니다 . 이 명령에 의해 직렬 데이터는 정수라는 이름의 ' data ' 에서 가져옵니다.
카드를 리더 근처에 가져 가면 리더가 직렬 데이터를 읽고 MSP로 전송하면 MSP가 해당 값을 LCD에 표시하도록 프로그래밍되므로 LCD에 카드 ID가 표시됩니다.
코드 및 설명
Energia IDE에서 코드를 작성합니다. Arduino IDE와 동일하며 사용하기 쉽습니다. 이 프로젝트가 끝날 때 완전한 코드 가 제공되며 여기에서는 그 일부를 설명합니다.
먼저 LCD 디스플레이 용 라이브러리를 포함하고 RFID 번호를 저장할 char 배열을 선언 합니다.
#포함
에서는 설정 기능 9600의 전송 속도를 정의하여 LCD와 직렬 통신을 가능하게한다.
void setup () { lcd.begin (16, 2); Serial.begin (9600); ... ..
에서 루프 기능, 우리는 시리얼 데이터를 사용할 수 여부를 확인합니다. 가능한 경우 Serial.read ()의 입력 배열에 데이터를 저장하고 while 루프를 사용하여 LCD에 하나씩 표시합니다.
while (Serial.available () && count <12) // 12 개 문자를 읽고 입력 배열에 저장 { input = Serial.read (); // 12 개의 문자를 하나씩 저장 Serial.print (input); lcd.print (입력); 지연 (300); count ++; if (count == 12) { lcd .print (""); 카운트 = 0; // 12 개의 문자가 읽 히면 시작하여 두 번째 ID를 기다립니다 . ……
MSP430 Launchpad를 사용하여 LCD에 RFID 번호를 읽고 표시 하는 방법 입니다. 이제이 프로젝트를 더욱 확장하여 출석 시스템, 투표 시스템, 보안 시스템 등을 구축 할 수 있습니다.