Raspberry pi를 이용해서 웹으로 컨트롤 가능한 리모콘을 만들어볼까 하고 찾다가 아래와 같은 IR transmiter 구동 회로를 찾았다.
Base에 전류가 어느정도 걸리면 Emitter에서 Collector 쪽으로 전류가 흐르도록 하는 회로인건 기억이 나는데, 저항 선택을 어떻게 해야 하는지 잘 모르겠길래 pspice로 특성을 뽑아봤다.
Raspberry pi를 이용해서 웹으로 컨트롤 가능한 리모콘을 만들어볼까 하고 찾다가 아래와 같은 IR transmiter 구동 회로를 찾았다.
Base에 전류가 어느정도 걸리면 Emitter에서 Collector 쪽으로 전류가 흐르도록 하는 회로인건 기억이 나는데, 저항 선택을 어떻게 해야 하는지 잘 모르겠길래 pspice로 특성을 뽑아봤다.
몇 일전에 만들었던 avr 로 만든 장난감의 회로도와 소스코드를 공개합니다. 🙂
회로도:
http://mytears.org/resources/avr/gadget/avr-gadget-circuit.png
소스코드:
http://mytears.org/resources/avr/gadget/avr-gadget.c
결과물:
http://mytears.org/tmp/dir/?path=./avr&N
회로에서 Vcc 라고 되어있는 부분에 2.7V ~ 5.5V 사이로 연결을 해주면 되며, 회로에는 나와있지 않지만 10번 핀은 Ground 에 연결해줘야만 합니다. 또한 Vcc 에 3V 를 연결하게 될 경우 L.E.D 에 저항은 연결할 필요가 없습니다. (330옴은 5V 기준)
프로그램을 간단하게 설명하자면 8bit timer 를 사용했고, timer 에 overflow 가 발생할 때 (0xFF 에서 0x00 으로 넘어가게 되면) 생기는 ovf 인터럽트를 이용하고 있습니다.
처음엔 at90s2313 을 사용했었는데 불행히도 가지고 있는 at90s2313 중 하나는 다리가 부러져서 사망해버렸고, 나머지 하나는 뻘짓하다가 태워먹어버린고로 현재 소스코드는 attiny2313 용으로 작성되어 있습니다. (두 칩은 핀 배열등 대부분이 비슷하지만 ovf 인터럽트와 timer 관련 레지스터 이름이 살짝 다릅니다.)
인터럽트 테스트 코드:
http://mytears.org/resources/avr/interrupt-test/int-test.c
p.s) 결국 하나 남은 attiny2313 마저 장렬하게 전사… 프로젝트 검사를 아직 안받은고로 추가 주문 해야했다.
오늘의 교훈: 겁 없이 7805 를 믿고 15v 아답타에 연결하지 말자 -_-;;