프로젝트/스마트독서실 시스템
07_프로그램 구현 3단계 완성!!!
겨우 프로그램 완성을 했다... 블로그 글을 처음부터 읽어도 좋지만, 프로젝트에 대한 전반적인 내용을 알고싶으면 내가 작성했던 레포트를 참고해 보는것도 좋을 것 같다. 55장 정도 긴 분량이긴 하나.. 들어간 모든 기술들이 집약되어 있다. 우선 먼저 동작소스에 대해 간략하게 소개해보자면 아래와 같이 동작한다. 1. 초기 상태 2. 좌석을 선택한 경우 3. 번호 입력후 맞는지 확인 3-1. 2번을 누를 시 번호 다시입력 4. Yes입력시 문이 열림(5초동안) 5. 문이 닫힌 후 1번좌석 업데이트 6. 4+*로 out모드 진입 6-1. 빈 좌석을 선택했을 시 비어있는 좌석만 표시 빈좌석이라 표시 후 초기상태로 돌아감 7. 초기상태에서 사용중인 좌석 선택 시 6-2 1번 선택시 사용중이라 표시 후 초기상태로 ..
06_구현 2단계_퇴장 및 비밀번호 일치
저번에 입장 및 사용자 등록기능까지 구현했었다. 추가적으로 하드웨어도 절반정도 꾸며보았다. 막상 꾸며가면서 느낀점은 독서실을 계획하고 만들었는데 주차장이 되어 있었다는것 ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ 그냥 스마트 주차장으로 주제를 잡을 껄 그랬다. 특히 문을 서브모터로 간단히 구현하려다 보니 더더욱 주차장 같아졌다. 나중에 시간이 되면 자동문 모듈도 한번 만들어보면 좋을 것 같다. 하드웨어는 그렇고 프로그램상으로는 퇴장을 할 때, 비밀번호가 일치하는지 확인을 하고 퇴장할 수 있게 되었다. 즉 기능을 서술하면 아래와 같다. 입력버튼은 *이다! 1. 1번 클릭 2. 핸드폰번호 입력 ( 만약 1번자리가 사용중이면 "Someone Used" 출력) 3. 입력한 번호가 맞는지 확인 (1.yes 2.No) 3-1. 만약 2번..
06_프로그램 구현 1단계
이번에는 실제 프로그램 코드를 짜기 시작해 보았다. 자세한 코드정보는 https://github.com/supersfel/C_atmega128 GitHub - supersfel/C_atmega128: 마이크로프로세서2 마이크로프로세서2. Contribute to supersfel/C_atmega128 development by creating an account on GitHub. github.com 깃허브에 올려두었다! 우선 해당 프로젝트의 사용자 등록 및 해제의 중간 부분까지 코드를 구현하였다. #include #include #include #include "lcd.h" #include "twi.h" #include "srf02.h" #include "Keypad.h" #define NONE 0 #..
05_구동함수_Keypad,FND,Buzzer
먼저 Keypad의 구동방식입니다. 일반적으로 사용자의 입력을 받기위한 방식으로 정적 구동방식이 있습니다. 정적구동방식은 스위치당 I/O포트를 이용해서 신호를 받는 방법이다. 모든 스위치를 개별적으로 동시에 받을 수 있다는 점이 있긴 하지만, I/O포트의 낭비가 심합니다. 16개의 자판이 있는 키패드의 경우 16개의 I/O포트가 필요하기 때문에 정적 구동방식이 아닌 동적 구동방식으로 키패드를 인식할 수 있다. 간단히 생각해서 열과 행을 나누어 생각한 다음, 열을 차례로 스캔한 후에 행 데이터 입력을 이용해서 어느 스위치가 눌려졌는지 알아낼 수 있는 방법이다. 이때 스캔주기는 30ms~50ms정도가 적절하다. 아래와 같은 키패드가 있다고 생각해 보면 우선 PC0-PC3포트를 행을 나타내고, PC4-PC7포..
04_구동함수_Servo motor
이번에는 데모모델에서 문의 역할을 대체할 Servo motor입니다. 실제 문이나 다른 방식으로 구현해도 좋지만 저는 데모모델에서 구현하기 수월한 Servo motor을 선택하였습니다. 소형 DC모터와 감속기어장치, 회전각도 센서(potentionmeter), 제어를 위한 전자회로 등이 하나의 모듈로 되어있는 구조로, 유지토크의 크기 및 제어기 성능에 따라 가격이 달라집니다. 회전을 지속적으로 이용하는 것이 아닌, 일정 범위를 신속하게 움직이는것에 목적이 있기 때문에 대체로 – 90 ~ + 90 범위로 사용하도록 되어 있으며 사용할 서보모터도 마찬가지입니다. 서보모터 사양에 맞는 PWM신호를 보내 특정각도를 유지하는 방법을 사용하며, DC모터등과 달리 그 각도에 제한이 있으며 각도를 계속 유지합니다. 서..
03_구동함수_ONE025
ONE025는 불꽃감지 센서로, 스마트 독서실 시스템에서 화재감지를 담당하는 센서입니다. 전에 소개했던 SRF02함수에 비해 단순한 구성방식을 지니고 있습니다. 불꽃 감지센서(Flame Sensor)란 적외선 LED를 통해 화재 시 연소반응에 의해 불꽃에서 파생되는 열 복사인 적외선 파장(760nm ~ 110nM)을 감지하여 아날로그 혹은 디지털 신호를 수신하는 센서입니다. 근접한 거리의 불꽃을 감지할 수 있으며, 최대 감지 거리는 약 17cm~18cm정도입니다. 실생활에서 문화재 시설 및 주요 공공시설의 화재 감지용으로 사용되거나, 제품의 고전압 릴레이 및 브러쉬, 접전 스위치에서 발생하는 스파크성 불꽃 및 근접거리에서 발화체를 감시,점화하는 등의 용도로 사용하기도 합니다. 스마트 독서실이라는 주제에 ..