Page 472 - 완) I MDP 프로젝트 작품 보고서(전체과 1학년)1.6
P. 472
(b) 입력부
리미트 스위치의 입력을 받아 송신 부분에 ‘0’을 보낼 것인지 ‘1’을 보낼 것인지를 판단
한다.
(리미트 스위치가 눌려져 있을 경우(잠금) : 1, 리미트 스위치가 떼졌을 경우(잠금 해제) :
0)
(b) 송신부
리미트 스위치의 입력에 따라 ‘0’ 또는 ‘1’을 보낸다. 리미트 스위치가 눌려진 후 어플리
케이션에 자전거를 등록한 뒤 안전한 상태면 ‘0’을 보내고 있다가, 만약에 자전거가 도난
을 당했다면 ‘1’이라는 신호를 보내서 스마트폰 상단바에 알림이 뜨게 만든다.
나) Source Program
① ATmega128 소스 (C언어)
#include <mega128.h>
#include <delay.h>
unsigned char rx=0,tx=2;
int flag=2;
interrupt [USART0_RXC] void RX_interrupt(void)
{
rx=UDR0; //UDR0에 들어있는 수신 받은 값을 rx변수에 입력
if (rx != 0x00 && rx != 0xf8)
flag=rx; //flag변수에 쓰레기 값이 들어오지 않도록 설정
if (flag==2) flag=0; //flag를 판별해 flag값 재설정
if (flag==0x06) flag=1; //flag를 판별해 flag값 재설정
//flag값이 0이면 암호 해제상태, 1이면 잠금상태
}
interrupt [USART0_DRE] void TX_interrupt(void)
{
- 465 -