아날로그 핀을 쓰거나 읽으면 구성 요소를 제어하고 센서의 측정값을 읽을 수 있습니다.
이 강좌에서 살펴볼 내용은 다음과 같습니다:
다음은 analogWrite와 analogRead로 제어하는 아날로그 핀입니다:
아날로그를 사용하면 PWM을 사용하여 핀을 제어할 수 있습니다. 디지털 핀 [3,5,6,9,10,11]을 제어할 수도 있습니다. 이 핀에는 파형이 있으며 pwm 및 digitalWrite를 사용하여 제어할 수 있습니다.
디지털 핀과 달리 아날로그 핀은 입력 또는 출력 여부를 나타내는 핀모드가 필요하지 않습니다.
디지털 신호는 HIGH 또는 LOW의 두 가지 값을 취할 수 있는 전압입니다. HIGH는 5V, LOW는 0V에 해당합니다. 이 신호는 푸시 버튼의 상태를 감지하거나 LED를 켜는 데 매우 유용합니다.
그러나 절반의 전력으로 LED를 켜려면 아날로그 신호가 필요합니다.
이 신호는 0V에서 5V 사이의 무한한 값을 취할 수 있습니다. 이 신호는 디지털 신호에서처럼 0V와 5V 대신 0.45V와 같이 훨씬 더 정밀한 값을 측정하고 전송하는 데 유용합니다.
아날로그-디지털 변환기를 사용하여 신호를 변환할 수 있습니다.
아날로그 쓰기는 LED와 서보모터와 같은 부품을 제어하는 데 사용할 수 있습니다. 서보 모터의 위치나 LED의 전원을 공급하는 등 부품을 정밀하게 제어할 수 있는 아날로그Write는 PWM을 탑재하고 있습니다.
PWM에 대한 강좌에서 설명했듯이 가능한 값은 0에서 255까지입니다. 0V는 0, 5V는 255입니다. 따라서 전압의 일부를 얻기 위해 이 두 값 사이에서 숫자를 선택할 수 있습니다. 변환 섹션에서 원하는 값을 선택하는 방법을 살펴보겠습니다.
다음은 A3 핀의 아날로그 쓰기 함수의 예입니다:
센서에서 측정값을 검색하려면 analogRead() 함수가 필요합니다! 다음은 :
핀: A0에서 A5까지의 핀
이 함수는 0에서 1023 사이의 값인 아날로그 핀의 값을 반환합니다. 이를 변환하는 방법을 살펴보겠습니다.
맵은 이전 값의 범위와 변환된 값이 속할 범위를 지정하여 값을 변환하는 수학적 함수입니다.
앞서 말했듯이 아날로그 쓰기 함수는 0에서 255 사이의 값을 매개변수로 사용합니다. 하지만 서보 모터는 0°에서 180° 사이의 값으로 제어할 수 있고 LED는 0%에서 100% 사이의 값으로 제어할 수 있습니다.
따라서 지도 함수를 사용하여 이 값들을 아날로그 쓰기 함수에 대응하도록 변환해 보겠습니다.
예를 들어 핀 7에 액추에이터의 90° 위치를 지정하려면 을 작성합니다:
0과 1023 사이의 값은 큰 의미가 없으므로 0V와 5V 사이에서 변환하는 방법을 살펴 보겠습니다. 이를 위해 지도 함수를 사용하여 얻은 값을 변환할 수 있습니다: