
-
1
-
2
-
3
-
4
-
5
-
6
-
7
-
8
-
9
-
10
-
11
-
12
-
13
-
14
-
15
-
16
-
17
-
18
-
19
-
20
-
21
-
22
-
23
-
24
-
25
-
26
-
27
-
28
-
29
-
30
-
31
-
32
-
33
-
34
-
35
-
36
-
37
-
38
-
39


목차
1. 프로젝트 개요 - 3p -
2. 전체 시스템 구성 - 4~6p -
3. 제작내용 (회로도, 소스코드) - 7~30p -
4. 결과물 설명 - 31~34p -
5. 프로젝트 수행 결과 분석 - 34~38p -
(1) 재학중 취득한 기초지식의 활용 내용
(2) 재학중 취득한 실험지식의 활용 내용
(3) 본 프로젝트 수행과정에서의 설계 능력 향상 내용
(4) 본 프로젝트 수행과정에서의 문제 해결 내용
(5) 본 프로젝트 수행과정에서의 실무 능력 향상 내용
(6) 본 프로젝트 수행과정에서의 팀원간 협동 내용
6. 참고 문헌 - 38p -
7. Term Project 수행 후기 - 39p -
2. 전체 시스템 구성 - 4~6p -
3. 제작내용 (회로도, 소스코드) - 7~30p -
4. 결과물 설명 - 31~34p -
5. 프로젝트 수행 결과 분석 - 34~38p -
(1) 재학중 취득한 기초지식의 활용 내용
(2) 재학중 취득한 실험지식의 활용 내용
(3) 본 프로젝트 수행과정에서의 설계 능력 향상 내용
(4) 본 프로젝트 수행과정에서의 문제 해결 내용
(5) 본 프로젝트 수행과정에서의 실무 능력 향상 내용
(6) 본 프로젝트 수행과정에서의 팀원간 협동 내용
6. 참고 문헌 - 38p -
7. Term Project 수행 후기 - 39p -
본문내용
드의
회로도가 이해하기 어렵고 복잡하였기에 구현하기가 쉽지 않았으며
쇼트검사 및 회로도 점검을 여러번 하고 나서야 정상 작동이 이루어
졌다.
문제점3) DOT MATRIX가 게임 중 깜빡거리는 현상.
-> 이것은 프로그램 내부 if 문의 딜레이 간격 때문에 일어난 현상 이었고
간단한 부분이었으나 어느 루프에서 이 현상이 일어나는지 쉽게 알
수가 없었음. 일일이 확인하여 찾고 수정.
문제점4) 2인용 키가 제대로 동작하지 않는 현상.
-> 1인용은 잘 작동하나 2인용키 중 2개가 누르면 회로자체가 꺼져버리는
현상이 발생함. 처음에는 쇼트문제인줄 알고 회로를 점검하고 다시
납땜하는 것을 반복하였으나 혹시나 해서 프로그램을 디버깅 하다보니
인터럽트문에 오류가 있는 것을 발견하고 수정. 프로그램이 짜다보니
생각보다 워낙 길고 복잡하여 컴파일시에 오류는 없으나, 설계의도와
맞지 않는 부분을 찾기가 어려웠다.
문제점5 1인용 키가 제대로 동작하지 않는 현상.
(2인용의 아래 방향으로 한칸씩 이동 시에 빠르게 블록이 왼쪽 오른쪽
한번씩 이동하는 현상 발견)
-> 이 문제를 해결 하기위해 UART를 사용해 하이퍼터미널로 연결 시켜서
어떤 조건에서 이런 오류가 일어나는지 알아보기 위해 각 키마다 모두
인터럽트 문 내에 Printf 구문을 넣어서 확인을 하기로 했다. 그 결과
-> 하이퍼 터미널을 통해 나타나 오류
블록 한줄 내리기/바닥까지 내리기 버튼을 누르면 블록 왼쪽이동, 블록
오른쪽이동이 동시에 자동입력이 되는 현상을 발견 할 수 있었다.
이에 따라 회로도를 먼저 점검하기 시작했고 점검 결과 아래버튼의 인터럽트
신호를 거치는 다이오드에서 연결이 잘못 된 것을 발견 하였고, 이를 수정
한 뒤 새롭게 하이퍼터미널로 디버깅을 하였다.
-> 문제점 해결 이후 각 키가 정상 작동 하는 것을 알 수 있었다.
(5) 본 프로젝트 수행과정에서의 실무 능력 향상 내용
- 1,2 학년에 배운 실험들을 다시 떠올려보면 ‘설계’ 라는 기본 개념을 잡
기 위한 실험 또는 다음 실험을 위해 여러 가지 기본 실무 능력 등을 쌓는 수
업 이었다고 생각한다. 간단하지만 신호등, 라디오 등 구현을 하면서 기본
TTL로직 및 아날로그 소자 등의 활용, 각 소자의 정확한 기능과 원리 등을 파
악하는데 중점이 있었고 그러한 실험 설계과목을 통하여 회로를 완성해 봄으
로써 전자기기의 기본 틀, 구성을 파악하는데 많은 도움이 되었었다.
이번 마이크로프로세서 실험 및 실습은 여태까지 배운것들을 종합하고 기반
으로하여 MPU에 대한 정확한 이해와 함께 응용을 직접 해 볼 수 있었다는데에
의미가 큰 것 같다. 중간수업까지는 MPU 즉 ATMEGA128에 대해서 여러 가지 신
호 및 핀들에 대해 공부하고 직접 실험해 보며 원리를 익혔고, 기말 프로젝트
를 통해서 우리가 직접 응용 설계하여 한 작품을 만들었다. 설계를 하며 자연
스럽게 실험 시간에 배운 내용들을 하나하나 되새기며 찾아보며 하게 되었고
큰 어려움 없이 하나의 작품(게임기)을 설계하고 구현할 수 있었다. 기존에
있던 형식의 작품들 (예를들어 키트)이 아닌 MPU에 대한 이해도를 바탕으로
응용하고 설계하여 하나하나 맞추어 나가며 큰 틀을 짜는 것이 상당히 흥미롭
고 많은 공부가 되었다.
(6) 본 프로젝트 수행과정에서의 팀원 간 협동 내용
- 다른 조들에 비해 원래 조원이 3명이라 그대로 기말 프로젝트까지 진행하게 되었다. 그래도 인원이 부족하다는 느낌은 한 번도 없었다. 첫 주부터 계속해서 실험하면서도 자연스럽게 팀웍이 잘 맞아서 어려움 없이 매주 하는 실험도 일찍 끝낼 수 있었는데 기말 프로젝트 역시 역할 분담이 자연스럽게 이루어졌다. 협동 내용이 좋았던 가장 큰 이유는 3명이 전부 다 의욕이 많아서 이왕할거 멋진 작품 만들자! 라는 의지가 있었고 누구하나 설렁설렁 넘어 갈 생각보다는 “이왕할거 이런기능 까지 구현하자.” 라는 마인드로 진행했던 것이다. 그러다 보니 분위기 자체가 의욕적이었으며 3명이 전부 하나로 단합될 수 있었다. 그리고 각각 잘하는 분야도 다 달랐기에 서로서로 맡은 일에 최선을 다할 수 있었다.
< 참고 문헌 >
- (AVR마이크로컨트롤러) ATmega128 / 차영배 / 다다미디어
- (기초부터 활용까지) AVR ATmega128 마이크로컨트롤러 / 정성갑 / 태영문화사
- (알기쉽게 배우는) Avr ATmega128 신동욱 / Ohm사
- (핵심포인트를 꽉 짚어주는) AVR ATmega128 완전정복 / 이승호 / 한티미디어
- 기타 네이버 블로그 및 구글 검색 정보 활용
< Term Project 수행 후기 >
- 프로젝트를 통하여 가장 크게 느낀 점은 수업내용이 중요하다는 것이었다. 실제 프로젝트를 진행하다보니 인터럽트부터 하나하나 모두 다 수업시간에 배운 내용들을 토대로 진행했다. 그래서 자연스럽게 흐름이 이어졌으며 수업시간에 배운 내용들을 실제로 많이 찾아보며 하게 되었다. 그만큼 수업의 내용이 실제 작품을 설계하는데 많은 도움일 될 만큼 체계적이고 효율적이었다고 느꼈다. 그리고 프로젝트를 수행하는데 있어서 협동심은 너무도 중요하다는 것을 새삼 느꼈다. 서로가 잘 맞고 역할분담이 잘 되니 어려운 문제점에 막혀도 여러 가지 대안 및 문제해결방법 등을 모두가 같이 고민하고 하나하나 다시 역할을 분담하여 진행하였던 것이 큰 도움이 되었다. 그 중에서도 모두가 의욕적이고 작품에 대해서 욕심이 있었기에 누구 하나 빠지지 않고 모두 열심히 할 수 있었다. 그리고 이 프로젝트가 기말점수를 받기위해, 학점을 받기위해 잘 보이려고 만드는 의미보다는 실제로 진행하다보니 그런 것은 잊고 우리가 직접 MPU를 활용해 무언가를 응용 설계하여 만든다는 것에 재미를 느껴 수업이 없어도 학교에 와서 시간 날 때마다 진행을 했다. 그 결과 이렇게 설계 및 구현까지 모두 무사히 마칠 수 있었으며 이를 통해서 많은 성취감과 많은 지식을 얻을 수 있었다. 앞으로도 계기가 된다면 배운 내용을 토대로 여러 가지 작품을 만들어 보고 싶다. 배울 점도 많았고 하나하나 응용해서 설계해서 나가는 과정이 배움이 뭔지 알게 해 주었다.
회로도가 이해하기 어렵고 복잡하였기에 구현하기가 쉽지 않았으며
쇼트검사 및 회로도 점검을 여러번 하고 나서야 정상 작동이 이루어
졌다.
문제점3) DOT MATRIX가 게임 중 깜빡거리는 현상.
-> 이것은 프로그램 내부 if 문의 딜레이 간격 때문에 일어난 현상 이었고
간단한 부분이었으나 어느 루프에서 이 현상이 일어나는지 쉽게 알
수가 없었음. 일일이 확인하여 찾고 수정.
문제점4) 2인용 키가 제대로 동작하지 않는 현상.
-> 1인용은 잘 작동하나 2인용키 중 2개가 누르면 회로자체가 꺼져버리는
현상이 발생함. 처음에는 쇼트문제인줄 알고 회로를 점검하고 다시
납땜하는 것을 반복하였으나 혹시나 해서 프로그램을 디버깅 하다보니
인터럽트문에 오류가 있는 것을 발견하고 수정. 프로그램이 짜다보니
생각보다 워낙 길고 복잡하여 컴파일시에 오류는 없으나, 설계의도와
맞지 않는 부분을 찾기가 어려웠다.
문제점5 1인용 키가 제대로 동작하지 않는 현상.
(2인용의 아래 방향으로 한칸씩 이동 시에 빠르게 블록이 왼쪽 오른쪽
한번씩 이동하는 현상 발견)
-> 이 문제를 해결 하기위해 UART를 사용해 하이퍼터미널로 연결 시켜서
어떤 조건에서 이런 오류가 일어나는지 알아보기 위해 각 키마다 모두
인터럽트 문 내에 Printf 구문을 넣어서 확인을 하기로 했다. 그 결과
-> 하이퍼 터미널을 통해 나타나 오류
블록 한줄 내리기/바닥까지 내리기 버튼을 누르면 블록 왼쪽이동, 블록
오른쪽이동이 동시에 자동입력이 되는 현상을 발견 할 수 있었다.
이에 따라 회로도를 먼저 점검하기 시작했고 점검 결과 아래버튼의 인터럽트
신호를 거치는 다이오드에서 연결이 잘못 된 것을 발견 하였고, 이를 수정
한 뒤 새롭게 하이퍼터미널로 디버깅을 하였다.
-> 문제점 해결 이후 각 키가 정상 작동 하는 것을 알 수 있었다.
(5) 본 프로젝트 수행과정에서의 실무 능력 향상 내용
- 1,2 학년에 배운 실험들을 다시 떠올려보면 ‘설계’ 라는 기본 개념을 잡
기 위한 실험 또는 다음 실험을 위해 여러 가지 기본 실무 능력 등을 쌓는 수
업 이었다고 생각한다. 간단하지만 신호등, 라디오 등 구현을 하면서 기본
TTL로직 및 아날로그 소자 등의 활용, 각 소자의 정확한 기능과 원리 등을 파
악하는데 중점이 있었고 그러한 실험 설계과목을 통하여 회로를 완성해 봄으
로써 전자기기의 기본 틀, 구성을 파악하는데 많은 도움이 되었었다.
이번 마이크로프로세서 실험 및 실습은 여태까지 배운것들을 종합하고 기반
으로하여 MPU에 대한 정확한 이해와 함께 응용을 직접 해 볼 수 있었다는데에
의미가 큰 것 같다. 중간수업까지는 MPU 즉 ATMEGA128에 대해서 여러 가지 신
호 및 핀들에 대해 공부하고 직접 실험해 보며 원리를 익혔고, 기말 프로젝트
를 통해서 우리가 직접 응용 설계하여 한 작품을 만들었다. 설계를 하며 자연
스럽게 실험 시간에 배운 내용들을 하나하나 되새기며 찾아보며 하게 되었고
큰 어려움 없이 하나의 작품(게임기)을 설계하고 구현할 수 있었다. 기존에
있던 형식의 작품들 (예를들어 키트)이 아닌 MPU에 대한 이해도를 바탕으로
응용하고 설계하여 하나하나 맞추어 나가며 큰 틀을 짜는 것이 상당히 흥미롭
고 많은 공부가 되었다.
(6) 본 프로젝트 수행과정에서의 팀원 간 협동 내용
- 다른 조들에 비해 원래 조원이 3명이라 그대로 기말 프로젝트까지 진행하게 되었다. 그래도 인원이 부족하다는 느낌은 한 번도 없었다. 첫 주부터 계속해서 실험하면서도 자연스럽게 팀웍이 잘 맞아서 어려움 없이 매주 하는 실험도 일찍 끝낼 수 있었는데 기말 프로젝트 역시 역할 분담이 자연스럽게 이루어졌다. 협동 내용이 좋았던 가장 큰 이유는 3명이 전부 다 의욕이 많아서 이왕할거 멋진 작품 만들자! 라는 의지가 있었고 누구하나 설렁설렁 넘어 갈 생각보다는 “이왕할거 이런기능 까지 구현하자.” 라는 마인드로 진행했던 것이다. 그러다 보니 분위기 자체가 의욕적이었으며 3명이 전부 하나로 단합될 수 있었다. 그리고 각각 잘하는 분야도 다 달랐기에 서로서로 맡은 일에 최선을 다할 수 있었다.
< 참고 문헌 >
- (AVR마이크로컨트롤러) ATmega128 / 차영배 / 다다미디어
- (기초부터 활용까지) AVR ATmega128 마이크로컨트롤러 / 정성갑 / 태영문화사
- (알기쉽게 배우는) Avr ATmega128 신동욱 / Ohm사
- (핵심포인트를 꽉 짚어주는) AVR ATmega128 완전정복 / 이승호 / 한티미디어
- 기타 네이버 블로그 및 구글 검색 정보 활용
< Term Project 수행 후기 >
- 프로젝트를 통하여 가장 크게 느낀 점은 수업내용이 중요하다는 것이었다. 실제 프로젝트를 진행하다보니 인터럽트부터 하나하나 모두 다 수업시간에 배운 내용들을 토대로 진행했다. 그래서 자연스럽게 흐름이 이어졌으며 수업시간에 배운 내용들을 실제로 많이 찾아보며 하게 되었다. 그만큼 수업의 내용이 실제 작품을 설계하는데 많은 도움일 될 만큼 체계적이고 효율적이었다고 느꼈다. 그리고 프로젝트를 수행하는데 있어서 협동심은 너무도 중요하다는 것을 새삼 느꼈다. 서로가 잘 맞고 역할분담이 잘 되니 어려운 문제점에 막혀도 여러 가지 대안 및 문제해결방법 등을 모두가 같이 고민하고 하나하나 다시 역할을 분담하여 진행하였던 것이 큰 도움이 되었다. 그 중에서도 모두가 의욕적이고 작품에 대해서 욕심이 있었기에 누구 하나 빠지지 않고 모두 열심히 할 수 있었다. 그리고 이 프로젝트가 기말점수를 받기위해, 학점을 받기위해 잘 보이려고 만드는 의미보다는 실제로 진행하다보니 그런 것은 잊고 우리가 직접 MPU를 활용해 무언가를 응용 설계하여 만든다는 것에 재미를 느껴 수업이 없어도 학교에 와서 시간 날 때마다 진행을 했다. 그 결과 이렇게 설계 및 구현까지 모두 무사히 마칠 수 있었으며 이를 통해서 많은 성취감과 많은 지식을 얻을 수 있었다. 앞으로도 계기가 된다면 배운 내용을 토대로 여러 가지 작품을 만들어 보고 싶다. 배울 점도 많았고 하나하나 응용해서 설계해서 나가는 과정이 배움이 뭔지 알게 해 주었다.
소개글