안녕하세요! 모두들 잘지내고 계셨나요?
오늘은 아두이노 메가의 커넥터 및 핀 정보에 대한 포스팅을 해보려고 해요!
아두이노 메가에는 총 7개의 핀 커넥터가 있어요.
그런데 이 커넥터들이 과연 무언지를 알아야
적재적소에 맞게 연결해서 사용할 수 가 있겠죠?
1. 아두이노 메가 회로도를 어디서 확인했더라?
몇 달 전 구매하고선 고이 모셔두었던
16X2 Character LCD를 사용해보려고 했는데,
도대체 어디에 어떻게 연결을 해야하는지 막막하더라구요.
물론, 회로도를 보고 어찌어찌 결합해서
결국, 제가 원하는 메세지를 띄우는 것을 성공하긴 했지만,
(Character LCD에 관한 내용은 다음 포스팅에서 다루기로 해요)
결과만 딱 얻었다고 해서 끝이 아니란거 다들 공감하시죠?
왜 이렇게 연결되는지, 그리고 우리가 연결한 방식에서는 어떻게 코딩을 해야하는지
우리에겐 왜 그런 것인지 이유가 필요합니다.
자, 우선 아두이노 메가의 회로드를 확인해야 합니다!
저번 포스팅에서 아두이노 메가의 회로도
확인하는 법에 대해 알아본 적이 있었죠?
2.아두이노 메가 커넥터/핀 정보 확인하기
아두이노 메가에는 총 7개의 커넥터가 존재해요.
회로도를 보면 나와있는데 영 보기가 불편하니,
제가 보기 쉽게 사진과 비교하면서 다시 정리를 해보았어요.
같이 확인해보시죠.
2.1 첫번째 커넥터
우선, 상단 가장 좌측에 있는 커넥터는 총 10핀으로 구성되어 있어요.
AREF핀은 ATmega2560의 98번 핀에 연결되어 있는데,
이 핀은 ADC 를 위한 reference voltage인데,
Vref(reference voltage)는 ADC의 conversion range를
결정하는 역할을 합니다.
AVCC, internal 1.1V reference, internal 2.56V reference
또는 external AREF pin 이 사용됩니다.
무슨 말인지 잘 이해가 가지 않아도 괜찮아요.
지금은 이런 종류의 핀도 있구나 알고 넘어가고,
다음에 자세히 다뤄보도록 해요.
그리고, 포트B의 4번부터 7번, 포트 H의 5번, 6번
총 6개의 핀이 연결되어 있어요.
위의 회로도에서 볼 수 있듯이,
이 6개의 핀은 입/출력 핀 외에도 PWM 출력을 위한 핀으로
사용될 수 있네요.
PWM은 또 뭐야…
PWM은 Pulse Width Modulation의 약어로
이 신호는 주로 제어를 할 때 사용된답니다.
펄스의 폭을 조절하면서 스위칭소자(IGBT, MOSFET 등)를
On/Off 제어하는 용도로 사용됩니다.
‘스위치의 On/Off시간을 조절하는 신호’ 정도로 알고 넘어갑시다.
이것도, 추후 포스팅에서 자세히 다루도록 할께요.
2.2 두번째, 세번째 커넥터
이번엔 각각 8 핀으로 구성된 두 개의 커넥터가 보입니다.
좌측 커넥터는 적색으로 표시한 커넥터는
포트E의 0, 1, 3, 4, 5번 핀, 포트 H의 3, 4번 핀, 포트 G의 5번 핀에
연결된 커넥터입니다.
이 커넥터 역시, 입/출력 핀으로 사용가능하지만,
사용자의 필요에 따라 PWM 출력핀으로 사용될 수 있어요.
우측 커넥터는
포트D의 0 ~ 4번 핀, 포트H의 0, 1번 핀, 포트J의 0, 1번 핀과 연결된 커넥터입니다.
역시나, 모든 핀은 입/출력 핀으로 기본적으로 사용가능해요.
TXD, RXD로 각각 적혀있는 핀들은
데이터를 송/수신 할 수 있는 추가적인 기능을 갖고 있는 핀인데
TXD : USART Transmit pin
RXD : USART Receive Pin
통신을 할 때, 송/수신 하는 핀으로 사용할 수 있는 핀들입니다.
2.3 네번째 커넥터
이번에 보이는 커넥터는 36핀으로 구성된 커넥터입니다.
주로 입/출력 핀으로 사용되는 각각의 핀들인데
스윽~ 한 번 보시고 넘어가도록 해요.
참고로, SS, MISO, MOSI, SCK는 SPI 통신과 관련있는 핀입니다.
사용자의 설정에 따라, 입/출력 기능 외에 SPI 통신용 핀으로 사용되기도 해요.
2.4 다섯번째, 여섯번째 커넥터
이번에 보이는 두 커넥터는
각각 ADC로 활용할 수 있는 커넥터입니다.
각각 포트F 0~7번 핀, 포트K의 0~7번 핀에 연결되어 있어요.
ADC는 Analog 신호를 받아 Digital 신호로 바꿔주는 역할을 하는데,
이게 왜 필요하냐면, 음…
예를들어, 주로 센서를 사용할 때 많이 사용하는데
어떤 전압값을 측정하여 센싱 받아온다고 했을 때,
그 값이 3V로 측정되었다고 가정해보죠.
3V는 아날로그 값으로 ATmega2560은 바로 인식할 수 가 없어요.
따라서, 이 값을 디지털 값으로 바꿔서 인식할 수 있게 해주죠.
PWM이나 ADC는 굉장히 중요한 역할을 하기 때문에
꼭 알고 넘어가야 하는 개념들입니다.
지금은 이 정도만 알고 넘어가고,
앞으로의 포스팅에서 꼭 따로 다루도록 할께요.
2.5 일곱번째 커넥터
마지막으로, 8핀으로 구성된 커넥터 하나가 더 있어요.
1번 핀은 연결되지 않는 핀이니, 총 유효한 핀은 7개네요.
이 커넥터는 지금까지 본 커넥터처럼
입/출력 핀 또는 ADC나 PWM 혹은 통신용으로
사용되는 커넥터가 아닙니다.
회로에서 보는 것처럼 +5V, +3V3가 보이는 것처럼
전원과 관련된 핀이란 거 아시겠죠?
참고로, 16X2 Character LCD를 사용할 때,
이곳의 전원을 이용해서 LCD 전원을 공급해 준답니다.
3. 정리
이번 포스팅에서는
아두이노 메가에 존재하는 커넥터가 어디에 연결된 것인지,
또 무슨 기능을 하는 핀인지에 대해 간략히 확인해봤어요.
회로도를 보면 확인가능하지만,
아두이노 메가 실물과 직접 비교해서 보면서
이 커넥터의 용도에 대해 확인해 보았습니다.\
마지막에 다룬 전원 관련 커넥터를 제외하면,
대부분의 핀은 기본적으로 입/출력 핀으로 사용할 수 있어요.
입/출력 핀은
해당 핀을 입력용 핀으로 쓸 것인지, 출력용 핀으로 쓸것인지를
유저가 직접 결정해서 사용할 수 있는 핀을 의미해요.
LED BLINK 예제에서,
pinMode(LED_BUILTIN, OUTPUT);
이런 함수를 본적이 있었죠?
이 함수의 의미가, LED_BUILTIN핀(빌트인 LED가 연결된 핀)을 OUTPUT(출력용 핀)으로 사용하겠다! 라는 것을 의미합니다.
이경우는 출력 핀으로 사용한 것이죠.
이해가 좀 되시나요?
이번 포스팅에서는
각 커넥터가 어떤 기능들이 있는지,
어떻게 회로가 구성되었는지만 보고
각각의 자세한 내용은
앞으로 하나씩 차근히 알아가도록 해요.