본문 바로가기
  • SpokeHouse
개발정보/회로

MCU - ADC PIN 2개로 20개 키 구분 입력 받기 - Use only 2 ADC pin make 20 key input

by SpokeHouse 2022. 9. 15.
728x90
728x90

Nkey.exe
2.83MB

안녕하세요 SpokeHouse에 오동나무토끼입니다.

이번에 말씀드릴 내용은 MCU 의 ADC PIN 2개로 20개 키 입력받아보기입니다.

이번에 개발 프로젝트를 진행함에 있어서 저가의 블루투스 모듈을 필히 사용해야 하는 제약사항이 있었습니다.

제품 자체의 판매 단가가 매우 저렴한 측에 속하고 있었고 기존에 개발이 완료되어 판매를 진행하고 있었으나

사용하고 있던 블루투스의 구매 단가가 상승하여 판매에 지장이 생긴 상태였습니다.

이에 슬립모드 등의 추가적인 기능을 구현하면서 개선 개발을 진행하는 프로젝트입니다.

사용하고 있던 블루투스의 칩셋은 NRF52810으로 인증까지 끝난 모듈로 가격이 점핑 점핑하여 4천원? 

블루투스 IC의 명가 NORDIC

이에 개발 방향은 크게 두 가지로 나눠 볼 수 있었습니다.

1. 노르딕사의 NRF52810 IC 사용하여 처음부터 개발을 진행한다.

장점 : 52810의 모든 PIN을 사용할 수 있기에 기능 구현에 제약이 없다.

단점 : 제품에 대한 전파인증 다시 받아야 한다... 돈도 많이 들고.... 매우 귀찮은 일들이 눈앞을 스쳐간다...(인증 한번 꼬이기 시작하면 산으로 간다)

NORDIC NRF52810

2. 기존 모듈 단가와 비슷한 인증받은 모듈을 수색하여 교체 적용한다.

장점 : 통신에 대한 전파 인증을 받지 않아도 되고 (스트레스가 만병에 근원이라고 했다) 

판매가 잘되고 있는 모듈이라면 성능도 보장이 될 테고..

단점 : 모듈에 대한 스터디를 다시 해야 한다.

개발 지원이 가능한 모듈 이어야 한다.

결론적으로 그냥 2번으로 했다. 모듈도 금방 찾았고 가격도 2.5$? 저렴했다.. 개발 지원 화력도 좋고 직접 오시는 건 처음이었다....

E95 모듈.. 성능 좋다

거두절미하고 그냥 인증에 대한 비용과 과정에 대한 부담이 모든 것을 압도했다.

기회가 된다면 모듈에 대한 소개와 간단한 세팅 정도 소개할 예정이다. 제품이 좋아서 다들 쓰면 좋을 것 같다.

그런데!! 사용할 수 있는 PIN이.... 적다... 일부러 저렴이 버전에서는 GPIO 수량이 적다고 한다... 치사한...

슬립모드 기능을 추가하여야 하기에 WAKE-UP PIN 하나 빠지고 펌웨어 관련 핀 빠지고... 

LED 2 Color라서 2개 더 빠지고..

PIN 정보

(애네는 당연히 클럭 핀 데이터 핀 GPIO로 사용 못한다)

7개 정도 핀이 남는데... 입력받아야 하는 핀은 19개다....

고민 고민한 결과 ADC 핀을 활용해서 WAKE-UP 스위치와 몇 개의 스위치를 제외한 키 입력을 받기로 한다.

매트릭스 구조를 적용해서 입력받는 경우도 생각해 볼 수 있는데 그건 다음에 한번 소개해보도록 하고..

 ADC로 키 입력을 받기 위해서는 저항을 계산해야 하는데 너무너무너무너무 귀찮다...

그래서 찾아본 결과!!!

저항 계산기

저항 계산기가 있다!! 너무나 좋은 것.

사용하기에도 간단하다

사용에 필요한 버튼은 5개

1번 : 설계에 필요한 키 수량을 선택해준다.

2번 : 저항 오차 넣어준다 요즘 저항 5%나 1%나 금액도 거기서 거기인데 그냥 1% 맞춰 주고 가자요

3번 : 분해능 얼마큼 많이 쪼개서.. 사용하는 MCU의 ADC 랑 레졸루션하고 같게 해 주면 되죠 뭐..

4번 : 그냥 300번 돌려봅니다. (3번 눌러서 3백번 돌리니까 값이 확정되더라고요)

5번 : 누르면 간단한 회로도로 표시해 줍니다.

간단한 회로도 출력

정말 간단하게 머리 안 아프고 키 10개 받는 회로 완성할 수 있었고요 

참고로 4K7 = 4.7K입니다. 혹시나 하는 마음에...

실제 회로 적용

저도 이렇게 돌려서 회로도 한켠에 고이 박아두고 설계했고!! 동작 아주 잘됩니다.

파일은 첨부해 놓았으니 다운받아서 사용해보세요

딱 좋아요! 강추드리고요

그럼 오늘 하루도 대단히 맛있는 거 드시고 행복한 하루 보내세요  그럼 이만 춍춍!

728x90
728x90

댓글