본문 바로가기

Programming/Arduino 아두이노

03. 아두이노 기초 _ Power pins, circuit 회로, 간단한 input/output 예제 코드

이 포스팅은 UNIST Prototyping 동아리 DINO의 이도영님의 아두이노 코딩강좌 내용을 바탕으로 정리하였습니다.

이번 포스팅에서는 power pin들의 종류, 회로를 구성하는 것, 그리고 앞서 배웠던 input과 output에 대한 기초 코딩에 대해서 알아보자

먼저 power pin들을 한번 살펴보면 아래 빨갛게 표시된 부분들이다.
순서대로 하나씩 살펴보자.

1번: DC배럴잭으로 외부 전원 공급(External power supply)을 하며 6V-20V 사이의 범위로 공급을 받을 수 있지만  7V - 12V 로 공급받는 것이 권장된다.
이는 보통 PC와 연결하지 않을 때 전원을 공급하기 위한 방법으로 사용된다.

2번: 레귤레이터(Regulator)로 7V에서 12V 사이의 전압이 들어와도 이를 5V나 3.3V로 조정해준다. 이는 3번 핀들 중 3.3V와 5V 중 어디에 연결하느냐에 따라 다르다.

3번: 각각의 핀들에 대해 알아보자.
Reset pin은 GND에 연결되면 아두이노를 리셋한다. 중간에 스위치같은걸 연결해주면 딸깍 한번 누르면 아두이노가 리셋될 것 같다!
3.3V pin은 최대 150mA의 전류를 생성한다. 하지만 50mA 이하로 연결하는 것을 권장한다.
5V pin은 USB로 연결 시 450mA, 파워잭으로 연결 시 650mA를 생성한다.
VIN pin은 레귤레이터를 이용하지 않고 파워잭에 연결된 전압을 그대로 이용한다. 그렇기에 7V-12V사이의 전압을 필요로하는 모터를 사용할 경우 이에 연결해주면 될 것 같다. 최대 1A의 전류를 생성한다.

4번: USB plug는 5V로 컴퓨터는 주로 1A까지의 전류를 공급할 수 있다.



그럼 이제 회로구성 (circuit)에 대해서 알아보자.
회로를 구성할 때 있어서 중요한 것은 크게 세가지가 있다.


첫째. 최대 허용 전류를 확인하자!

각각의 핀들은 최대로 공급하는 전류가 각각 정해져 있으니, 사용하는 디바이스에 맞게 연결해야 한다.

이 때 최대 20mA와 같은 작은 핀들을 이용하여 큰 전류를 필요로 하는 모터를 제어해야할 경우는 앞선 포스팅에서 처럼 트랜지스터를 활용하면 된다. 아래의 그림을 참고하자. 

이 때 우리가 더 큰 전류가 필요하다면 어떻게 하면 될까? 간단히 외부 건전지 등을 활용하면 된다. 
우리가 흔히 아는 건전지들은 다음과 같은 용량과 최대 방출전류를 가지고 있다.


이를 활용하면, 아래와 같은 회로를 생각해서 만들어 볼 수 있을 것 같다.


하지만 왜인지 분명 모터가 돌아가지 않을 것이다.

여기서 회로에서 중요한 두번째, 회로는 항상 닫혀있어야 한다!
왠지 어렴풋이 학창시절 실험수업에서 들었던 말인 것 같다.. 그럼 위의 회로는 아래와 같이 연결되어야 할 것이다.


그리고 마지막 주의사항. 항상 전압과 방향을 주의하자.

최대전압보다 낮은 전압은 대체로 괜찮다.
하지만 최대전압보다 큰 전압을 가할 경우, 회로나, 센서, 심지어 아두이노마저도 바로 죽어버릴 수도..
그리고 잘못된 방향으로의 연결도 많은 경우 다이오드 덕분에 괜찮지만, 아닐수도 있으니 항상 주의하자.
(방향모를 때.. 그냥 한번 해보고 아니면 반대로 하지 뭐. 하지 말란 소리다.)

마지막으로 그럼 이때까지 배운 input 과 output의 회로와 예제코드를 감상하면서 포스팅을 마무리하겠다.

Digital input 예제
Analog input 예제
Digital ouput 예제
PWM (analog output 예제)
 PWM (analog output 예제2)


끝. (궁금한 점 댓글로 남겨주세요)