5.3 아날로그 출력 코딩

아날로그 출력 코딩에서 사용할 예제는 기본적으로 5.2장 디지털 출력 코딩에서 사용한 전자회로 구성방식을 그대로 사용합니다. 다만, 전자회로에서 서로 차이가 있는 것은 출력에 사용하는 핀이 다른데 아날로그 출력이기 때문에 아두이노 우노의 아날로그 전용 출력핀(PWM 핀: ~3, ~5, ~6, ~9, ~10, ~11)을 사용해야 하고, 코딩할 때도 이를 염두해 코딩하시면 됩니다. 디지털 출력에서는 디지털 방식의 제어인 LED의 단순 순간적인 점멸이었다면, 아날로그 출력에서는 이제 이를 아날로그적으로 제어해 크리스마스 트리에서 볼 수 있는 LED처럼 서서히 밝아졌다가 다시 서서히 희미해졌다를 반복하는 것을 구현해 보는 것입니다.

자 그럼 이제 코딩 부분을 살펴봅시다. PWM에 대한 이해는 3.3장에서 알려드린 유투브 동영상을 통해 충분히 이해했다는 전제하에 PWM의 추가적인 설명없이 진행하겠습니다. 아두이노 블록코딩에서는 3.3장의 그림에서 언급한 것처 PWM 핀 전용 블록이 따로 있고, 0v~5v까지의 출력전압값을 아날로그적으로 표현하기 위해 0~255까지 값으로 설정할 수 있습니다. 우리 코드에서는 천천히 LED를 밝히고 다시 어둡게 하기 위해 변수를 이용하고 있으며, 변수값을 10ms 시간 간격으로 255단계까지 높혔다가 줄였다를 반복하고 있습니다. C++코드로도 한번 더 살펴보면 이전과 다른 점은 아날로그 출력이기 때문에 출력을 위해 analogWrite 함수를 사용한다는 점입니다.

Last updated