-
Notifications
You must be signed in to change notification settings - Fork 1
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
0db0588
commit f84ab6c
Showing
2 changed files
with
4 additions
and
6 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,10 +1,10 @@ | ||
# 5.3 아날로그 출력 코딩 | ||
|
||
아날로그 출력 코딩에서 사용할 예제는 기본적으로 [5.2장 디지털 출력 코딩](digital_input.md)에서 사용한 전자회로 구성방식을 그대로 사용합니다. 다만, 전자회로에서 서로 차이가 있는 것은 출력에 사용하는 핀이 다른데 **아날로그 출력이기 때문에 아두이노 우노의 아날로그 전용 출력핀\(PWM 핀: ~3, ~5, ~6, ~9, ~10, ~11\)을 사용해야 하고, 코딩할 때도 이를 염두해 코딩**하시면 됩니다. 디지털 출력에서는 디지털 방식의 제어인 LED의 단순 순간적인 점멸이었다면, 아날로그 출력에서는 이제 이를 아날로그적으로 제어해 크리스마스 트리에서 볼 수 있는 LED처럼 서서히 밝아졌다가 다시 서서히 희미해졌다를 반복하는 것을 구현해 보는 것입니다. | ||
아날로그 출력 코딩에서 사용할 예제는 기본적으로 [5.2장 디지털 출력 코딩](digital_input.md)에서 사용한 전자회로 구성과 동일하고, 다만, **아날로그이기 때문에 아두이노 우노의 아날로그 전용 출력핀\(PWM 핀: ~3, ~5, ~6, ~9, ~10, ~11\)을 사용해야 하고, 코딩할 때도 이를 염두해 코딩**하시면 됩니다. 이렇게 코딩하면 [5.2장](digital_input.md)에서 보았던 디지털 방식의 제어인 LED의 단순 점멸이 아니고, 이제 아날로그적으로 제어해 이제 크리스마스 트리에서 볼 수 있는 LED처럼 서서히 밝아졌다가 다시 서서히 희미해졌다를 반복하는 것을 구현해 봅시다. | ||
|
||
![](../.gitbook/assets/image%20%2827%29.png) | ||
|
||
자 그럼 이제 코딩 부분을 살펴봅시다. PWM에 대한 이해는 [3.3장](../coding_start/4.1.md#analog-output)에서 알려드린 [유투브 동영상](https://www.youtube.com/watch?v=yhpk4V9w-ZM)을 통해 충분히 이해했다는 전제하에 PWM의 추가적인 설명없이 진행하겠습니다. **아두이노 블록코딩에서는** [**3.3장**](../coding_start/4.1.md#analog-output)**의 그림에서 언급한 것처 PWM 핀 전용 블록이 따로 있고, 0v~5v까지의 출력전압값을 아날로그적으로 표현하기 위해 0~255까지 값으로 설정**할 수 있습니다. 우리 코드에서는 천천히 LED를 밝히고 다시 어둡게 하기 위해 변수를 이용하고 있으며, 변수값을 10ms 시간 간격으로 255단계까지 높혔다가 줄였다를 반복하고 있습니다. C++코드로도 한번 더 살펴보면 이전과 다른 점은 아날로그 출력이기 때문에 출력을 위해 analogWrite 함수를 사용한다는 점입니다. | ||
PWM에 대한 이해는 [3.3장](../coding_start/4.1.md#analog-output)에서 알려드린 [유투브 동영상](https://www.youtube.com/watch?v=yhpk4V9w-ZM)을 통해 충분히 이해했다는 전제하에 PWM의 추가적인 설명없이 진행하겠습니다. **아두이노 블록코딩에서는** [**3.3장**](../coding_start/4.1.md#analog-output)**의 그림에서 언급한 것처 PWM 핀 전용 블록이 있고, 0v~5v까지의 출력전압값을 아날로그적으로 표현하기 위해 0~255까지 값으로 설정**할 수 있습니다. 천천히 LED를 밝히고 다시 어둡게 하기 위해 이번에는 변수값을 사용해 10ms 시간 간격으로 255단계로 값을 높혔다가 줄였다를 반복하고 있습니다. 해당 내용을 블록코딩한 내용과[ 엔트리 커스텀 버전](https://github.com/JeongJun-Lee/entry-offline)에서 블록코드를 아두이노 C++로 변환한 내용은 다음과 같습니다. C++코드에서 전과 다른 점은 아날로그 출력이기 때문에 analogWrite 함수를 사용한다는 점입니다. | ||
|
||
![](../.gitbook/assets/image%20%2837%29.png) | ||
|