Перейти к содержанию

Функция digitalWrite() и analogWrite() в Ардуино

Функция digitalWrite и analogWrite в Ардуино

Функции digitalWrite() и analogWrite() в языке Arduino IDE — это наиболее популярные команды с которыми сталкивается каждый начинающий программист. Именно эти команды используются для мигания светодиодами, плавного включения светодиода и других уроков по программированию Arduino для начинающих. Рассмотрим подробнее синтаксис этих функций, использование digitalWrite и analogWrite в Ардуино с примерами программ.

Необходимые компоненты:

  • Arduino Uno / Arduino Nano / Arduino Mega
  • светодиоды и резисторы
  • макетная плата
  • коннекторы

Дополнительные материалы на эту тему:

  1. Функция digitalRead() и analogRead() в Ардуино
  2. Как сделать светофор со светодиодами на Ардуино
  3. Включение и выключение светодиода от кнопки Ардуино

Самое простое применение команд digitalWrite и analogWrite в скетче — это управление светодиодами, подключенным к микроконтроллеру Ардуино. Но прежде, чем использовать эти функции в скетче, необходимо установить пин, к которому подключен светодиод в режим OUTPUT. Это делается с помощью функции pinMode. На нашем сайте вы также можете ознакомиться с описанием функции pinMode в языке программирования Arduino.

Что такое функция digitalWrite() Arduino, описание

Мигание встроенным светодиодом на плате Arduino

Для использования данной функции в программе и подключения светодиода можно использовать любой пин на микроконтроллере. В том числе аналоговые входы A0-A5, обозначенные, как Analog In. Функция digitalWrite() подает значение HIGH или LOW на цифровой пин, указанный в функции. При значении HIGH на выходе микроконтроллера будет напряжение 5 Вольт, а при значении LOW на выходе будет напряжение 0 Вольт.

Синтаксис функции digitalWrite() в Arduino IDE

digitalWrite(pin, value);
  • pin — номер входа / выхода (пина)
  • value — значение HIGH (1) или LOW (0)

Для демонстрации, что такое digitalWrite в Arduino IDE — разберем простой пример с мигающим светодиодом. Можете подключить светодиод к плате, как на картинке выше или, используя беспаечную макетную плату. Более подробно урок с мигающими светодиодами рассмотрен на нашем сайте здесь — Мигалка со светодиодами на Ардуино. Подключите плату Ардуино к компьютеру и загрузите следующую программу в микроконтроллер.

Скетч с использованием команды digitalWrite()

#define LED 13

void setup() {
  pinMode(LED, OUTPUT); 
}

void loop() {
  digitalWrite(LED, HIGH);
  delay(1000);
 
  digitalWrite(LED, LOW);
  delay(1000);
}

Что такое функция analogWrite() Arduino, описание

Плавное включение и выключение светодиода

Команду analogWrite поддерживают только пины на микроконтроллере с ШИМ модуляцией. На большинстве плат Arduino ШИМ сигнал поддерживают пины 3, 5, 6, 9, 10 и 11, а на плате Arduino Mega пины с 2 по 13. Подробнее о Широтно-импульсной модуляции вы можете ознакомиться здесь — Что такое ШИМ Ардуино. Внимание! Порты A0-A5, обозначенные, как Analog In не имеют никакого отношения к ШИМ модуляции и analogWrite.

Синтаксис функции analogWrite() в Arduino IDE

analogWrite(pin, value);
  • pin — номер выхода (пина) на который подаем ШИМ сигнал
  • value — значение ШИМ от 0 (полностью выключено) до 255 (сигнал подан постоянно)

Подключите светодиод к 10 пину и загрузите следующий скетч. В программе будет меняться частота ШИМ (по англ. PWM) сигнала от 0 (светодиод полностью выключен) до 255 (максимальная яркость). При значении 127 светодиод будет светиться в пол силы. При этом следует понимать, что на выходе микроконтроллера будет меняться не напряжение в Вольтах, а частота PWM импульса. Это так называемое псевдо аналоговое напряжение.

Скетч с использованием команды analogWrite()

#define LED 10

void setup() {
  pinMode(LED, OUTPUT);
}

void loop() {
  analogWrite(LED, 0); // скважность 0%
  delay(1000);
 
  analogWrite(LED, 64); // скважность 25%
  delay(1000);
 
  analogWrite(LED, 127); // скважность 50%
  delay(1000);
 
  analogWrite(LED, 191); // скважность 75%
  delay(1000);
 
  analogWrite(LED, 255); // скважность 100%
  delay(1000);
}

Заключение. Мы рассмотрели функции analogWrite() и digitalWrite() в языке Ардуино, что они означают и как их использовать в программе. Также рекомендуем вам ознакомиться со следующими уроками: Плавное включение светодиода с помощью команды analogWrite, Поочередное включение светодиодов с помощью digitalWrite и Функция delay Ардуино.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

newzaym
➜