일상생활

완성을 했다만...

음악을 뭘 넣을지가 문제군요.

버저 + 7-세그먼트 조합으로 쥬크박스를 만들었습니다.
센서에 5V 정격 전압을 계속 걸어주고 있는 상태에 접지된 스위치를 누르면 전위차에 의해 접지부분으로 전류가 흐르게 되고, 센서에는 0v의 전압이 걸립니다. 그걸 탐지해서 변수값 Song_Num을 1씩 증가시키고, Song_Num 따른 음악을 재생 +  7 세그먼트에 숫자 표시를 하는 아주 간단한 회로도인데요.
// 말로하면 어렵고 보면 간단한 그런 회로도입니다.

PICBASIC이 아무래도 교육용이다보니 부품의 제한 및 시스템 상의 약점이 좀 있습니다.
// 아니 제가 산 Tuter 계열쪽에 있다고 하는게 정확하죠.

컴파일러가 좀 않좋습니다. 병신입니다.
비주얼 C++이나 Gvim과는 딴판입니다. 몇 번 라인에 오류났다는 걸 띄워주는 걸로 끝이더군요. 그리고 그 오류를 해결하기 전까지는 다음 오류도 잡아내지를 못합니다. 그리고 라인 수 표시를 제대로 안해줘서 제가 일일이 세야합니다. =ㅅ=;;;

그거 덕분에 좀 고생했죠. END IF와 IF가 서로 맞지를 않는다는 오류 때문에 코드를 갈아 엎었습니다. (그걸로 + 2시간)

두번째로 제한된 부품수입니다.
Tutor 책자에 나온 간단한 회로도를 위해 판매되는 제품이라서 거기 나온 예제용 부품들만 들어있습니다. 트렌지스터 1개, 저항 20개, 적색 LED 10개, 적외선 LED와 포토트랜지스터, 황화카드뮴(감광 센서), 스위치 몇 개, 버저 하나, 7 세그먼트 2개가 끝입니다. Tutor책 챕터 10에 나오는 LED 패널은 "별도 구매"입니다.

세번째로는 너무 비좁은 브레드 보드입니다. 총 4부분으로 브래드보드가 나뉘어지는데, 실제로 부품을 꽂을 수 있는 곳은 2곳이고 양 사이드에 2줄의 접지용 혹은 전력 공급용 라인이 있습니다. 2곳에 부품들을 꽂아야하는데, 좀 규모가 커지면 배선부터 생각을 해야합니다. 선이 엉키고, 공간 부족으로 부품 배치가 불가능한 경우도 생겨서 꽤 난처한적이 많았습니다. 브래드 보드 사이즈가 좀 컸으면 하는 바램입니다.
// 이거 다음 모델은 큰 거 같은데 왜 PIC은 ... ㅠ

네번째로는 부담스러운 가격입니다. 약 10만원짜리 키트인데, 전 무료로 받았습니다. 교육청에서 IT 계열 학생들에게 코딩을 가르친다고 무료로 나눠주고 교육을 시켜서 운 좋게 받을 수 있었습니다. 하지만, 키트 값 못지 않게 비싼것이 키트의 주변부품입니다. LCD 스크린이나 보드가 최소 몇 만원씩은 하기 떄문에 업그레이드 하기가 좀 어렵습니다. 특히 학생들에게 더욱 부담이죠. 학교에서 지원을 해주지 않는 이상 이런건 살 엄두도 못냅니다.
//USB 케이블이 2만 2천원 ㅠㅠ... 결국 패레럴 포트를 이용해서 코딩 중...

뭐 이런 악조건(?)을 이겨내면서 코딩을 했고 어느정도 완성품을 만들었습니다.
C와 달리 Basic은 GOTO문을 쓰도록 만드는 형식의 언어인 것 같습니다. 50줄짜리 짧막한 소스코드에서 무려 10줄이 GOTO문입니다. 각 작동부위를 모듈별로 나누어서 어떤 기능을 하는지 구별을 해야하기 때문에 GOTO문은 필연적으로 쓰이게 됩니다. 추가적으로 While(1) 대신 GOTO 문을 써서 무한 루프를 구성하게 되더라고요. ㅇㅅㅇ...;;

"코딩이 꽤 재미있었다"라고 생각은 하지만 벌써 새벽 1시이고, 또 음악을 선정해서 그걸 Picbasic용으로 변환을 해야합니다. 아직도 남아있는게 산 더미인거죠. 오늘 좀 늦게자고 내일은 좀 일찍 일어나야 겠습니다 킁...