블로그 이미지
래머
오늘도 열심히 개발하는 개발자입니다.

calendar

1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31

Notice

2015. 2. 9. 21:56 아두이노

원문 : http://arduino.cc/en/Reference/AnalogWrite

Description

Writes an analog value (PWM wave) to a pin. 

아날로그 값(PWM 웨이브)을 쓴다.

Can be used to light a LED at varying brightnesses or drive a motor at various speeds. 

LED의 동적인 밝기 또는 모터를 동적인 속도로 운행하는데 사용할 수 있다.

After a call to analogWrite(), the pin will generate a steady square wave of the specified duty cycle until the next call to analogWrite() (or a call to digitalRead() or digitalWrite() on the same pin). 

analogWrite()호출 후, 핀에는 지정된 듀티사이클의 안정된 직각파형이 생성되며, 같은핀에 analogWrite()가(또는  

digitalRead()나 digitalWrite()가 호출될때) 다시 호출되기 전까지 유지된다.

The frequency of the PWM signal on most pins is approximately 490 Hz. 

대부분의 핀에서 PWM신호의 주파수는 약 490Hz이다.

On the Uno and similar boards, pins 5 and 6 have a frequency of approximately 980 Hz. 

우노나 유사한 보드들에서, 5, 6번핀은 주파수가 대략 980Hz이다.

Pins 3 and 11 on the Leonardo also run at 980 Hz.

레오나르도에서는 3번과 11번핀 역시 980Hz이다.

On most Arduino boards (those with the ATmega168 or ATmega328), this function works on pins 3, 5, 6, 9, 10, and 11. 

대부분의 아두이노 보드들에서(Atmega168또는 Atmega328 같은), 이함수는 3, 5, 6, 9, 10, 11번핀에서 작동한다.

On the Arduino Mega, it works on pins 2 - 13 and 44 - 46. 

아두이노 메가에서, 이함수는 2 ~ 13번핀 및 44 ~ 46번핀에 작동한다.

Older Arduino boards with an ATmega8 only support analogWrite() on pins 9, 10, and 11.

Atmega8과 같은 이전의 아두이노보드들에서 analogWrite()함수는 오직 9, 10, 11번핀만 지원한다.

The Arduino Due supports analogWrite() on pins 2 through 13, plus pins DAC0 and DAC1

아두이노 두에에서 analogWrite()는 2 ~ 13번 및 DAC0와 DAC1을 지원한다.

Unlike the PWM pins, DAC0 andDAC1 are Digital to Analog converters, and act as true analog outputs.

PWM핀들과 다르게, DAC0와 DAC1은 디지털 아날로그 변환기이며, 실제로 아날로그 출력을 만든다.

You do not need to call pinMode() to set the pin as an output before calling analogWrite().

analogWrite()를 호출하기 전에 pinMode()를 호출해서 핀을 출력으로 설정할 필요는 없다.

The analogWrite function has nothing to do with the analog pins or the analogRead function.

analogWrite함수는 아날로그 핀이나 analogRead함수와는 전혀관련없다.

Syntax(문법)

analogWrite(pin, value)

Parameters(인자들)

pin: the pin to write to.(사용할 핀)

value: the duty cycle: between 0 (always off) and 255 (always on).

값 : 듀티사이클 : 0(항상꺼짐) ~ 255(항상켜짐)사이의 값

Returns(결과값)

nothing

Notes and Known Issues(알려진 이슈)

The PWM outputs generated on pins 5 and 6 will have higher-than-expected duty cycles. 

5, 6번핀에서 생성되는 PWM출력은 의도했던것보더 높은 듀티사이클을 가질 것이다.

This is because of interactions with the millis() and delay() functions, which share the same internal timer used to generate those PWM outputs. 

이것은 millis()나 delay()함수들과의 상호작용때문으로, PWM출력생성에 내부 타이머를 공유하기 때문이다.

This will be noticed mostly on low duty-cycle settings (e.g 0 - 10) and may result in a value of 0 not fully turning off the output on pins 5 and 6.

이것은 대부분 낮은 듀티 사이클 설정(예를들어 0 ~10)에서 주의 를 요하며, 결과적으로 0의값 설정은 5, 6번핀을 완전히 끄지 못한다.

Example

Sets the output to the LED proportional to the value read from the potentiometer.

전위차계로 부터 읽은 값에 비례하여 LED출력을 설정

 
int ledPin = 9;      // LED connected to digital pin 9
int analogPin = 3;   // potentiometer connected to analog pin 3
int val = 0;         // variable to store the read value

void setup()
{
  pinMode(ledPin, OUTPUT);   // sets the pin as output
}

void loop()
{
  val = analogRead(analogPin);   // read the input pin
  analogWrite(ledPin, val / 4);  // analogRead values go from 0 to 1023, analogWrite values from 0 to 255
}

See also

Reference Home

Corrections, suggestions, and new documentation should be posted to the Forum.

The text of the Arduino reference is licensed under a Creative Commons Attribution-ShareAlike 3.0 License. Code samples in the reference are released into the public domain.

posted by 래머