Студопедия
Случайная страница | ТОМ-1 | ТОМ-2 | ТОМ-3
АрхитектураБиологияГеографияДругоеИностранные языки
ИнформатикаИсторияКультураЛитератураМатематика
МедицинаМеханикаОбразованиеОхрана трудаПедагогика
ПолитикаПравоПрограммированиеПсихологияРелигия
СоциологияСпортСтроительствоФизикаФилософия
ФинансыХимияЭкологияЭкономикаЭлектроника

AnalogWrite()

Регистры портов | Compound Operators | Константы | Целочислительные константы | Константы с плавающей точкой. | Unsigned char | Область действия переменной и квалификаторы | Volatile | Утилиты | Цифровой ввод вывод |


Описание:

Пишет аналоговое значение (заполнение ШИМ) в порт. Может использоваться, например, для установки различной яркости свечения светодиодов, регулирования скорости двигателей.После вызова этой функции на выводе будет присутсвовать меандр с определенным заполнением до нового вызова этой или другой функции в применении к этому порту. Частота сигнала ШИМ состовляет примерно 490Гц.

На новых платформах, включая Mini и BT на чипе ATmega168, эта функция работает на выводах 3,5,6,9,10 и 11. На более старых USB и Serial платформах на чипе ATmega8 поддерживаются только порты 9,10 и 11

Синтаксис:

analogWrite(pin, value)

Параметры:

pin: вывод, на который пишем.

value: коэффициент заполнения: между 0 (всегда выключен) и 255 (всегда включен).

analogWrite не имеет никакого отношения к портам АЦП и analogRead.

Вам не нужно вызывать pinMode() для установки вывода как выходного, перед использованием функции analogWrite().

На выводах 5 и 6 генерируется напряжение чуть большее, чем установленное коэффициентом заполнения. Вызвано это функциями millis() и delay(), которые используют один и тот же внутренний таймер, что и для генерации ШИМ. Поэтому analogWrite(x, 0) не полностью выключает выводы 5 и 6.

Пример:

Устанавливает яркость свечения светодиода в зависимости от положения потенциометра.

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

}

 


Дата добавления: 2015-08-20; просмотров: 95 | Нарушение авторских прав


<== предыдущая страница | следующая страница ==>
AnalogReference(type)| ShiftOut()

mybiblioteka.su - 2015-2024 год. (0.005 сек.)