[무선통신][프로젝트] 블루투스를 이용한 FND 구동 (FND 리모컨)
- 최초 등록일
- 2006.06.10
- 최종 저작일
- 2006.06
- 8페이지/ 한컴오피스
- 가격 2,000원
소개글
통신 모듈 중의 하나인 블루투스를 이용하여 키패드를 사용,
FND(7_세그먼트)를 구동하는 것입니다.
사용부품으로는 블루투스 모듈과, 키패드, FND, mcu로는 pic16f874를
사용하였습니다.
회로도는 or-cad로 작성하여 그림파일로 첨부하였고,
프로그램은 c언어로 작성하여 주석처리로 설명을 해놨습니다.
블루투스 모듈 설정 방법은 그림파일로 캡쳐하여 올려놓았습니다.
간단한 통신 프로젝트로 선정하시면 좋을 것입니다.
목차
1. 개발동기
2. 구동원리
3. 부품소개
4. 회로도
5. 프로그램
6. 제작사진
7. 참고문헌
본문내용
구동원리
우선 키패드에서 입력받은 값을 PIC으로 전송하고 전송받은 값을 블루투스를 이용하여 전송한다. 수신측에서는 전송받은 신호를 비교하여 그에 해당하는 출력을 하도록 한다. 이번 프로젝트에서 9V battery를 사용하였기 때문에 회로 동작을 위해 레귤레이터 7805를 사용하여 5V로 전압강하 시켰고 블루투스는 3.3V에서 동작하는 관계로 또 다른 레귤레이터인 2951cm을 사용하여 전압강하 시켰다. 블루투스의 연결 여부를 확인할 수 있도록 외부에 LED를 달아 Status 를 관찰하였다. 블루투스는 rs232방식을 하여 통신하였다.
키패드 부분 프로그램.
#include<16f877.h>
#byte porta = 0x05
#byte portb = 0x06
#byte trisa = 0x85
#byte trisb = 0x86
#use delay(clock = 4000000)
#use rs232(baud=9600, parity=N, xmit=pin_a0,rcv=pin_a1)
// 통신속도 9600, 송신핀 a0, 수신핀 a1
const char key[12]={0x03,0x06,0x09,0x0c,0x02,0x05,
0x08,0x0a,0x01,0x04,0x07,0x0b};
// 룩업테이블선언
int get_num(int num) // 몇 번째 버튼이 눌렸는지 검색
{
int a;
for(a=0;a<4;a++) // 0-3까지 눌린키 검색
{
if(bit_test(num,a)) return(a);
// num의 각 비트를 테스트하여 1이 나오면 그 값을 반환
}
}
void main()
{
int num=0; // 변수 설정
int send=0;
...
...
참고 자료
PIC16F84의 기초+α, 성안당 - 이희문 저
PIC 마이컴용 C언어 CCS-C 실전가이드, 컴파일 테크놀로지 주식회사