학교 대회 출품용으로 RFID 방식 노트북 시건장치를 만들었다.
사진의 하얀 버튼이 잠그는 버튼이고, 파란 부분에 RFID 칩을 가져다 대면 서브모터가 돌아가 잠금이 해제되는 방식이다.
#include <MFRC522.h>
#include <Servo.h>
#include <SPI.h>
#define SS_PIN 10
#define RST_PIN 9
#define DOOR_PIN 8
#define openpin 2
Servo myServo;
#define REGCARD 2 //등록된 카드 개수
int per [][4] = {
{103, 156, 147, 174}, //카드 1
{21, 141, 179, 107}, //열쇠고리
};
MFRC522 rc522(SS_PIN, RST_PIN);
int doorstate = 0;
int doorst = 0;
void setup() {
pinMode(2, INPUT_PULLUP);
myServo.attach(3);
Serial.begin(9600);
SPI.begin();
rc522.PCD_Init(); // Init MFRC522 card
Serial.println("doorlock started!");
pinMode(DOOR_PIN, INPUT);
pinMode(openpin, INPUT_PULLUP);
}
void loop() {
if(digitalRead(openpin)==LOW)
{
noteclose();
}
if (!rc522.PICC_IsNewCardPresent()) return; // Look for new cards
if (!rc522.PICC_ReadCardSerial()) return; // Select one of the cards
for (int k = 0; k < 2; k++)
{
if (rc522.uid.uidByte[0] == per[k][0])
{
if (rc522.uid.uidByte[1] == per [k][1] && rc522.uid.uidByte[2] == per [k][2] && rc522.uid.uidByte[3] == per [k][3])
{
dooropen();
}
}
}
if (doorstate == 0)
{
unknowncard();
}
doorstate = 0;
}
void noteclose()
{
Serial.println("door close!");
myServo.write(90);
}
void dooropen()
{
Serial.println("door opened!");
myServo.write(0);
doorstate = 1;
}
void unknowncard()
{
Serial.println("Unknown card...");
Serial.println("PLZ Register card tag -- ");
Serial.print(rc522.uid.uidByte[0]);
Serial.print(",");
Serial.print(rc522.uid.uidByte[1]);
Serial.print(",");
Serial.print(rc522.uid.uidByte[2]);
Serial.print(",");
Serial.print(rc522.uid.uidByte[3]);
Serial.println("");
}
코드는 요런 식으로 어찌 저찌 코딩하면 된다. 따로 코드 리뷰는 하지 않는다...
대부분을 3D프린터로 만들었기 때문에 3D 빌딩을 위해
여기서 파일을 다운받아 약간의 수정 후 3D 프린터로 뽑아내면 된다.
15~30분이면 작업 완료!!
두 번째 부품(장치 받침 부품)의 앞부분에는 서브모터가 들어가고 나머지 직사각형 모양에는 회로기판과 선들 등이 들어가게 된다.
조금 조잡해 보이지만. 가장 중요한 부분은 저 기판과 RFID 리더 그리고 잠금장치 그리고 아두이노이다.
9V짜리 배터리로는 서브모터의 전력 소비를 이겨낼 수 없어서 편의점에서 4000mA짜리 보조배터리를 연결하였더니
매우 잘된다!
꼭 알아야 하는 점은 서브모터가 전력 소비가 은근히 크다는 거!
완성품의 동영상, 시연 영상이다.
파란색 저 칩이 RFID 칩이다. 참, 동영상 퀄리티는 발전할 예정이다.. 이번 동영상의 퀄리티보단..
노트북 역할을 해준 저 노트북 모형은 사실 다이소에서 나무 식판 두 개를 이어 붙인 것이다.
아두이노 코딩, 시건장치 프린팅, 받침 부분 프린팅 취합 까지 하여 대략 3일정도 걸린 듯하다.
저 작품으로 교내 대회 상을 탔다. 생애 첫 발명품 경진대회 작품치곤 생각 밖으로 잘 나와서 뿌듯했다.
3D 프린트를 사용하게 해 준 친구에게 너무 고맙고
작품 만드는 걸 지도해줘서 진짜 너무 도움이 컸다...
다음 아두이노 작품의 퀄리티는 올라갈 예정이다.
아 참 이 제품은 이미 나온 발명품이라고 한다. 근데 RFID 노트북 시건장치는 내가 최초 아닐까?
노트북 시건장치는 이미 있는 발명품인 거 인정한다.
'포트폴리오' 카테고리의 다른 글
인공지능을 위한 수학을 읽고 (독후감) (3) | 2019.07.14 |
---|---|
빅데이터 기술의 기반이 되는 표본 추출 및 모집단의 추정 (0) | 2019.06.17 |
랜섬웨어의 제반 문제와 해결방안에 대한 소고 (0) | 2019.06.09 |
HTTPS차단 관련 제반 문제 (0) | 2019.06.09 |
개인 웹사이트를 운영중입니다. (0) | 2019.06.08 |