아두이노

설명

코딩의 결과를 물리적으로 확인할 수 있는 것을 피지컬 컴퓨팅이라고 부르고, 아두이노와 같은 작은 컴퓨터를 피지컬 컴퓨팅 도구라고 부릅니다.

아두이노는 크게 6종류의 핀으로 구성되어 있어요.

  • 아날로그 핀 (A0~A5번 핀) : 아날로그 입력을 받기 위한 핀

  • 디지털 핀 (2~13번 핀) : 디지털 입력과 출력을 하기 위한 핀

  • PWM 핀 (디지털 핀 중 ~표시가 있는 3, 5, 6, 9, 10, 11번 핀) : 디지털 핀의 기능에 더해 디지털 핀을 사용하여 아날로그 쓰기를 하기 위한 핀

  • GND : 접지(Ground), 쉽게 생각해 전기의 +와 -중 -라고 생각하면 됨

  • VIN(5V와 같음), 5V, 3.3V : 각 볼트만큼의 출력, 쉽게 생각해 전기의 +와 -중 +라고 생각하면 됨

  • 기타 핀

    • 디지털 0~1번 핀 : Serial 통신 중 UART 통신을 위해 사용하는 핀 (Bluetooth, Wi-Fi 등)

    • SCL : I2C 통신 시 클럭 시그널 전송 (Serial Clock)

    • SDA : I2C 통신 시 데이터 전송 (Serial Data)

    • AREF : 아날로그 핀 레퍼런스 전압, 칩이 아날로그 핀 값을 정확히 읽기 위해 참조

    • RES : 리셋(Reset), 5V를 넣으면 아두이노를 재부팅함, 아두이노 본체의 버튼과 같은 역할

각 핀에서 가능한 것과 불가능한 것은 아래 표를 참고하면 돼요.

아날로그 읽기
아날로그 쓰기
디지털 읽기
디지털 쓰기

아날로그 핀 (A0~A5번 핀)

O

X

X

X

디지털 핀 (2~13번 핀)

X

X

O

O

PWM 핀 (3, 5, 6, 9, 10, 11번 핀)

X

O

O

O

아날로그 핀
디지털 핀
PWM 핀

@아두이노 N번 핀 입력 설정

+

@아두이노 N번 핀 읽기

O (0~1023) 아날로그 값을 읽음

O (0~1) 디지털 값을 읽음

O (0~1) 디지털 값을 읽음

@아두이노 N번 핀 아날로그 출력 설정

+

@아두이노 N번 핀 아날로그 쓰기

X

X

O (0~255) 아날로그 값을 씀

@아두이노 N번 핀 디지털 출력 설정

+

@아두이노 N번 핀 디지털 쓰기

X

O (0~1) 디지털 값을 씀

O (0~1) 디지털 값을 씀

각 핀을 사용하는 상황을 예시를 들어 설명해 드릴게요.

  • 아날로그 값을 읽어올 때 : 조도센서, 조이스틱 모듈 등 값이 0과 1로 두가지로만 구분된 게 아닌 것

  • 디지털 값을 읽어올 때 : 버튼, 자석 감지 센서 등 값이 0과 1로 두가지로만 구분된 것

  • 아날로그 값을 쓸 때 : LED의 밝기 조절, 스피커의 소리 크기 조절, 서보 모터 속도 조절 등 값이 0과 1로 두가지로만 구분된 게 아닌 것

  • 디지털 값을 쓸 때 : LED를 단순히 켜고 끄기, 릴레이 모듈 켜고 끄기 등 값이 0과 1로 두가지로만 구분된 것

추가적으로 아두이노와 관련된 명칭을 정리해 드릴게요.

  • PWM은 펄스 폭 변조로, 0과 1로만 데이터 전송이 가능한 디지털 핀을 극복하여 0~1023까지 아날로그처럼 데이터 전송이 가능하게끔 하는 기술이에요.

  • I2C는 여러 개의 디바이스(센서, 액츄에이터 등 이론 상 127개까지 가능)를 단 두 개의 선(SCL, SDA)으로 연결할 수 있게 해주는 직렬 통신 프로토콜이에요. LCD나 OLED와 같이 여러 개의 핀을 사용해야 할 때, 핀 사용 개수를 줄이고자 사용해요.

Last updated