안녕하세요?


어제 블로그에 다 올리려고 했지만, 어찌할 수 없어서 두 부분으로 나누어야 했는데 그 나머지 부분을 이번 포스팅에서 다 다루고자 합니다. 우선은 74LS93이라는 16진수 카운터 전용으로 만들어진 IC 칩에 대해서 설명에 들어가야 겠습니다.



위 그림은 74LS93 칩의 핀 번호 다리마다 기능을 적어 놓은 것입니다. CP라고 적혀 있는 곳에는 clock이라고 해서 펄스파가 들어와야 하고, MR은 clear를 담당하는데, 여기에 신호가 둘다 들어오면 이 칩이 초기화 됩니다. 여기서 제가 처음에는 몰랐는 것이 VCC와 GND인데, 일단 이걸 정확하게 모르고서 1차 결선 시도를 했습니다. 추가로 NC라는 것은 아무것도 없는 핀이라는 뜻으로, 전혀 기능이 없습니다.



첫 시도의 결과는 총체적인 난국이었습니다. 일단 차례차례 경우의 수를 만들면서 불이 들어와야 하는데, 4개의 LED가 모두 동시에 불이 들어오니, 뭐가 문제인지 알 길이 없었습니다.



나중에 알고 봤더니 IC칩에 제대로 된 전원 공급을 해주지 않았던 것이였습니다. 일단 74LS93칩의 CP라고 펄스파가 들어와야 하는 곳은 들어와야 합니다. 하지만 VCC라고 되어 있는 곳은 아두이노 우노 보드에서 5V로 표시된 소켓에서 안정적으로 5V 전원을 공급 받아야만 어떻게 가능한 것이였습니다.




일단 74LS93에서 나오는 4개의 신호를 가지고서, 74LS138이라는 3X8 decoder의 4개 신호를 입력해서 FND에서 숫자를 눈으로 볼 수 있도록 표시해 주는 것으로 했습니다. 이 회로가 일단 보기에는 복잡해 보이기는 보이지만, 그래도 어떻게 결선을 제대로 해서 숫자를 보이게 만들어 주는 데는 성공했습니다. 



그러면서 이제는 아두이노 우노 보드에서 이래저래 출력되는 핀을 가지고서 실험을 했는데, 여기서 13번 아두이노 우노의 핀이 중요하다는 것을 알 수 있었습니다. 왜냐하면, 아두이노 우노 보드 자체에 연동된 LED가 있어서 따로 브레드 보드에 연결하지 않고도 출력을 확인할 수 있다고 합니다.




이제 아두이노 보트의 출력을 제어할 수 있는 프로그램을 짤 수 있으니, 74LS93의 역할을 대신 아두이노 우노 보드가 대신 역할을 하도록 할 수 있습니다. 일단 2,3,4,5번 핀을 각각 1번 2번 3번 4번 출력으로 역할을 하도록 프로그램을 짜고, 일일히 digitalWrite() 라는 함수를 있는대로 사용을 하였습니다. 



일단 일차시도는 실패였습니다. 그 이유는 우선 제가 코드를 작성하면서 2번 핀이 1번 출력으로 생각했으나, 실제로는 4번 출력이었기 때문에, 순서를 다 바꾸고 나서야 제대로 된 작동을 하는 것을 확인 할 수 있었습니다. 아무튼 이렇게 해서 생애 처음으로 제대로 아두이노 보드를 연결해서 어떻게 하는 데는 성공 하기는 성공했습니다. 이제 남은 수업 시간동안 무엇이 나올 지 모르겠다는 생각이 듭니다.

+ Recent posts

티스토리 툴바