5월 17일.

드디어 마이컴을 이용하여 LED를 제어하는 데 성공했습니다!

어제 오늘 계속 프로그램 다운로드가 안되어서 못하고 있었는데, AVR Studio 4에서 다운로드 할 때 뜨는 펌웨어 업그레이드 메시지에서 취소를 누르니 다운로드가 정상적으로 되는군요.

연결은 매우 원시적?으로 했습니다. 아직 회로를 설계하는 기술이 없어서, 어떤 게 좋은 회로인지 감이 안잡히더군요.

사용자 삽입 이미지

사용자 삽입 이미지

처음으로 켠 LED의 모습입니다. LED에 불이 들어왔을 때 너무 기뻐 울 뻔(ㅡㅡ;) 했다는...;;

위 LED를 켠 소스코드입니다.

(Language : c)
  1. #include <avr/io.h>
  2.  
  3. int main(void)
  4. {
  5.     DDRA=0xff;
  6.     PORTA=0xff;
  7.     return 0;
  8. }

보시다시피 캐소드 커먼 방식입니다. 전구가 많아지면 빛이 약해진다는,,,

처음 LED를 켜고 이번엔 센서를 해보겠다는 마음으로 백방으로 일단 발광 소자에서는 LED와 같은 방법으로 발광을 시켰고, 수광은 VCC - 수광 - 저항 - 입력포트 순으로 연결을 하였습니다. 그런데 전혀 반응을 안하더군요. 테스터기로 찍어보니 빛의 밝기에 따라 전류의 양은 변하던데, 전압이 안 변해서 읽지를 못하는 건지 아무튼 3~4시간정도 센서와 씨름하다가 결국에는 카페에 질문 하나 올려 놓고 포기했습니다.

그래도 그걸로 끝내긴 뭐해서 LED와 슈퍼플럭스 8개를 쭉 달아서 순차적으로 불이 들어오는 것을 만들어봤습니다.

사용자 삽입 이미지

사용자 삽입 이미지사용자 삽입 이미지사용자 삽입 이미지

이번엔 애노드 커먼 방식으로 했습니다. 확실히 밝더군요.

8개의 LED 순차적으로 점등 (Language : c)
  1. #include <avr/io.h>
  2.  
  3. int table[8]={0x7e, 0xfc, 0xf9, 0xf3, 0xe7, 0xcf, 0x9f, 0x3f};
  4.  
  5. void DELAY(int time)
  6. {
  7.     while(time>0)
  8.         time--;
  9. }
  10.  
  11. int main(void)
  12. {
  13.     int i;
  14.     DDRA=0xff;
  15.     PORTA=0xff;
  16.     for(i=0;i<8;i++)
  17.     {
  18.         PORTA=table[i];
  19.         DELAY(10000);
  20.     }
  21.     return 0;
  22. }


오늘은 이것으로 만족해야겠습니다.
인터넷을 뒤져보니 센서 활용에는 ADC가 필수던데, 다음번엔 ADC 공부좀 해서 센싱에 성공해야겠습니다.
이올린에 북마크하기(0) 이올린에 추천하기(0)

트랙백 주소 :: http://harrys.co.kr/blog/lab/trackback/61

댓글을 달아 주세요

  1. 악마의9시저주 2007/05/18 23:41  댓글주소  수정/삭제  댓글쓰기

    호오...제법인데?
    친구의 엄마의 친구의 남편에게 배운것 치고는 엄청난 실력이야;ㅋ

  2. dudals 2007/05/23 17:16  댓글주소  수정/삭제  댓글쓰기

    축하합니다. ^-^
    저도 atmega128 로 led 켜는거 오늘 성공했거든요.
    저는 퓨즈비트 셋팅에 한참 애를 먹었네요.
    지금은 이올린으로 atmega128 게시물 찾아다니고 있습니다. ^-^

    • Harry 2007/05/23 17:20  댓글주소  수정/삭제

      반갑습니다~
      저는 노트북으로 하려고 USB to RS232 케이블을 사용했다가 실패,, 퓨즈비트 잘못해서 컨트롤러 죽은 줄 알았다가 데탑으로 AVR Studio 써서 겨우 성공했습니다...
      오늘은 스테핑 모터가 도착하여 이녀석 돌려보려고 합니다.

  3. 프미케 2007/06/09 03:31  댓글주소  수정/삭제  댓글쓰기

    축하드려요 +_+ 브레드 보드 사용하서셔 LED 꼽으셨군요 전 키트조립해서 쓰구 있는데 브레드 보드에 꼽아쓰는게 훨씬 편할꺼 같아요

    • Harry 2007/06/09 08:59  댓글주소  수정/삭제

      감사합니다^^
      저는 왠지 키트보다는 확장성이 좋을 것 같아 빵판을 사용했습니다. 얼른 모터에 도전해야되는데 엄두가 안나네요ㅠ

  4. 정다운 2010/06/19 11:36  댓글주소  수정/삭제  댓글쓰기

    안녕하세요

    다름이 아니라 저도 led 켜기를 시도중인 대학생입니다...

    지금 겪고 잇는 문제는 atmega128pro 에서 빵판 까지 연결선(잭)의 이름을 알고 싶습니다.

    빠른 답변 부탁드려요

  5. 2010/11/22 16:22  댓글주소  수정/삭제  댓글쓰기

    관리자만 볼 수 있는 댓글입니다.