아날로그 핀은 어떻게 제어하나요? 아날로그 쓰기와 아날로그 읽기로 컴포넌트를 제어하려면 어떻게 해야 하나요? 아날로그 핀을 쓰거나 읽으면 구성 요소를 제어하고 센서의 측정값을 읽을 수 있습니다.이 강좌에서 살펴볼 내용은 다음과 같습니다:컴포넌트 제어하기(analogWrite)센서의 전압 읽기(analogRead)얻은 값 또는 원하는 값 변환하기(맵)다음은 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와 같이 훨씬 더 정밀한 값을 측정하고 전송하는 데 유용합니다.아날로그-디지털 변환기를 사용하여 신호를 변환할 수 있습니다. analogWrite () 아날로그 쓰기는 LED와 서보모터와 같은 부품을 제어하는 데 사용할 수 있습니다. 서보 모터의 위치나 LED의 전원을 공급하는 등 부품을 정밀하게 제어할 수 있는 아날로그Write는 PWM을 탑재하고 있습니다. analogWrite(pin, value); PWM에 대한 강좌에서 설명했듯이 가능한 값은 0에서 255까지입니다. 0V는 0, 5V는 255입니다. 따라서 전압의 일부를 얻기 위해 이 두 값 사이에서 숫자를 선택할 수 있습니다. 변환 섹션에서 원하는 값을 선택하는 방법을 살펴보겠습니다.다음은 A3 핀의 아날로그 쓰기 함수의 예입니다: analogWrite(A3, 122); analogRead () 센서에서 측정값을 검색하려면 analogRead() 함수가 필요합니다! 다음은 : analogRead(pin) 핀: A0에서 A5까지의 핀 이 함수는 0에서 1023 사이의 값인 아날로그 핀의 값을 반환합니다. 이를 변환하는 방법을 살펴보겠습니다. 가치 전환 맵은 이전 값의 범위와 변환된 값이 속할 범위를 지정하여 값을 변환하는 수학적 함수입니다. map(VALUE_TO_CONVERT, OLD_LOW_VALUE, OLD_HIGH_VALUE, NEW_LOW_VALUE, NEW_HIGH_VALUE) analogWrite () : 값을 % 또는 0에서 255 사이의 도수로 변환합니다. 앞서 말했듯이 아날로그 쓰기 함수는 0에서 255 사이의 값을 매개변수로 사용합니다. 하지만 서보 모터는 0°에서 180° 사이의 값으로 제어할 수 있고 LED는 0%에서 100% 사이의 값으로 제어할 수 있습니다.따라서 지도 함수를 사용하여 이 값들을 아날로그 쓰기 함수에 대응하도록 변환해 보겠습니다. 예를 들어 핀 7에 액추에이터의 90° 위치를 지정하려면 을 작성합니다: int servomotor_value=90; servomotor_value=map(servomotor_value,0,180,0,255); analogWrite(7,servomotor_value); analogRead () : 0에서 1023 사이의 값을 0에서 5V 사이의 전압으로 변환합니다. 0과 1023 사이의 값은 큰 의미가 없으므로 0V와 5V 사이에서 변환하는 방법을 살펴 보겠습니다. 이를 위해 지도 함수를 사용하여 얻은 값을 변환할 수 있습니다: int value =analogRead(pin); value=map(value,0,1023,0,5);