Page 953 - 3-2
P. 953

률이 일정하지 않았고 A/D           컨버터로 온도를 변환하기 까다로웠다 그 문제를 해결하기 위해.                           2 학년 때
              배운 LM35    라는 온도센서를 이용했다. LM35             는 온도가 1    도 올라 갈 때마다 출력전압이 0.01 [V]              씩
              증가하는 특성을 가지고 있어 A/D               변환 후 온도를 읽기에 문제가 없었다 하지만.                      A/D  변환 IC  인
              ADC0804  의 기준전압 설정에 있어 또 문제가 생겼다 기준전압의.                        1/2 를 입력해 주어야하는데 저항을
              이용한 전압분배로 500[mV]          를 입력하려 했지만 IC         내부저항 때문에 예상한 전압으로 입력이 되지 않
              았다 그래서 가변저항을 연결하고 오실로스코프로 입력 핀에.                           500[mV]  의 전압이 걸리도록 미세하게
              조정해 주었다 다음으로는 라즈베리파이에서 문제가 생겼다 처음엔.                     .        eth0  과 eth1 번의 게이트웨이를
              같게 하고 IP    만 다르게 할당해 주면 충돌문제는 일어나지 않을 것이라 생각했지만 서로 다른 네트워크
              에 연결 되어있으면서 같은 게이트웨이를 가지고 있어서 정상적으로 네트워크에 연결되지 않았다 이.
              문제가 발견되기 까지 오래 걸려서 프로젝트 진행이 늦춰졌다 해결법은 간단했다 서로 다른 게이트웨.                      .
              이를    할당 해 주면 정상적으로 작동했다 다음 문제는.                     SPI  통신이었다 라즈베리파이의.            GPIO  핀 중
              일부를 사용해 이더넷 모듈에 연결하였지만 아예 동작하지 않았다 이 문제를 해결하려고 여러 차례.
              구글링을 해보았지만 방법은 나와 있지 않았고 이더넷모듈의 INT                          핀을 GPIO 6     번에 연결하니 해결되
              었다 라즈베리파이.         0  에서의 해결법은 많이 나와 있었지만 우리조가 사용하는 라즈베리파이 3                             에서는
              핀 번호가 달랐기 때문에 많이 해맸던 것 같다 또 라즈베리파이에서 문제가 생겼다 시작프로그램 등.  ,                      .
              록을 하려는데 rc.local     에 등록한 명령이 실행되지 않았다 그래서 다른 파일에 시작프로그램 등록을.
              했는데 ~/.bashrc    에 설정해 놓은 명령은 부팅 후 LXterminal             을 실행 시킬 때 마다 한번 씩 동작했다.
              LXterminal 을 여는 /usr/bin/lxterminal  명령을 부팅 할 때 마다 실행되게 해서 해결하였다 라즈베리.
              파이에서 문제가 발생하면 구글링을 통해 해결하려 해도 그 해결방법이 적용되지 않은 적이 많다 우.
              리가 겪은 문제들과 해결방법들을 카페에 올려서 같은 문제가 발생한 후배들이 찾아보고 도움이 되었
              으면 좋겠다 우리 팀은 라즈베리파이에서 실행할 프로그램을 자바 언어로 구현했다.                                 . 3 학년에 올라와서
              처음 접한 자바였지만 그동안의 프로그래밍 경험으로 어렵지 않게 코딩 할 수 있었다 하지만 생각보.
              다 자바에서의 문제는 많이 발생했다 그 처음은.                    GPIO  문제였다 라즈베리파이의.           GPIO 를 사용하기 위
              해 사용할 GPIO       핀을 선언하고 사용해야 하는데 수업 때 배운 GPIO                       예제와 구글링을 통해 얻은
              GPIO  코드는 이벤트 발생 시에만 동작해서 그 부분을 수정하는데 시간이 좀 걸렸다 간단한 문제였지.
              만 처음 접하는 자바에서 이해도가 부족했기에 문제를 찾아 낼 수 없었다 그 해결 방법은 그냥 사용.
              할 GPIO   핀을 선언하고 값을 불러오거나 출력하는 메소드를 이용하면 되었다. GPIO                              문제를 해결하고
              그 다음은 서버와 클라이언트 프로그램이 동시에 작동해야 한다는 것이다 서버를 열고 클라이언트를.
              기다리게 하기 위해 스레드를 추가해 주었고 클라이언트에서 받은 정보를 서버에 전송하기 위해 고민
              을 많이 했다 처음에는 문자열 비교를.                 C 에서 배운 ==    으로 했지만 자바에서는 .equals()          를 사용해야
              한다는 것을 몰라 디버깅이 어려웠다 조원 중 안드로이드 프로그램을 하는 강인수 군도 같은 문제가.
              생겨 도와주었다 코드를 다 짜서 실행 했을.                   때 정상적으로 동작해서 완성한 줄 알고 좋아했다가 서
              버와 클라이언트의 네트워크가 물리적으로 연결이 끊겼을 때 프로그램에서 인식을 못하는 문제가 생겼
              다 문제가 생겼다기보다 애초에 그런 부분에 대해 생각지도 못했다 그래서 서버와 클라이언트 간에.         .                               3
              초에 한번 접속 신호를 전송하고 다시 값을 리턴해 주는 걸 반복하면서 접속 상태를 확인하고 연결이
              끊겼다면 메인 서버에서 확인 할 수 있게 끊긴 부분을 전송 해 주었다 라즈베리파이 프로그램을 완성.
              하고 메인 서버프로그램을 켜서 테스트 해보려 했지만 메인 서버를 담당했던 김태영 군의 노트북이 포
              맷되면서 코드가 모두 사라졌고 프로젝트 완성이 많이 늦춰지게 됐다 이번 프로젝트 진행은 팀원 모.
              두가 협동하고 맡은 분야를 성실히 수행해 이상적이라고 볼 수 있었지만 한명의 실수로 인해 프로젝트
              완성이 안 된 것을 보고 어떤 일을 진행 할 때 동료들에게 피해주지 않기 위해서라도 자신의 일에 책
              임을 다하고 혼자 하는 일보다 신중해야 한다는 점을 느끼게 되었다 또 초기 계획했던 주제를 완전히.
              버리고 새로운 주제로 시작하는 것에 대해 불평 없이 동의해 주었던 팀원들에게도 고마운 마음을 전하
              고 싶다 이번 프로젝트를 통해 문제를 해결 능력과 팀원들 간의 협동 그리고 책임감을 배우고 자바.            ,
              프로그램과 라즈베리파이를 좀 더 능숙하게 다룰 수 있게 되었다.




                                                         - 953 -
   948   949   950   951   952   953   954   955   956   957   958