Программа. Функция digitalWrite

Ардуино: управление светодиодом

Теперь, когда светодиод подключен а Ардуино, настало время программирования.

Для вывода высокого или низкого уровня сигнала на один из контактов общего назначения, в редакторе программ Arduino IDE используется функция digitalWrite. Вызов этой функции имеет вид:

digitalWrite( номер_контакта, уровень_сигнала );

где аргумент уровень_сигнала может принимать два значения: HIGH (высокий, +5В) или LOW (низкий, заземлен).

Другими словами, если написать:

digitalWrite( 2, HIGH );

то Ардуино соединит ногу №2 с питанием +5В и светодиод, ясен пень, вспыхнет!

Если же напишем:

digitalWrite( 2, LOW );

Анод светодиода замкнется на землю, и светодиод погаснет 🙁

С этим понятно. Остался еще один момент. Чтобы контакт №2 именно выводил сигнал, а не принимал его, потребуется использовать специальную функцию для установки режима контактов — pinMode. Формат этой функции таков:

pinMode( номер_контакта, режим_контакта );

где аргумент режим_контакта может принимать значения: OUTPUT (вывод) и INPUT (ввод).

То есть нам, чтобы помигать светодиодом, надо будет добавить в программу строчку:

pinMode( 2, OUTPUT );

Итоговая программа для мигания светодиодом будет иметь вид:

int led = 2; 
void setup() { 
     pinMode(led, OUTPUT); // установка 2-го контакта в режим вывода } 
void loop() { 
    digitalWrite(led, HIGH); // вывод №2 в активное состояние 
    delay(1000); // пауза 1-секунда 
    digitalWrite(led, LOW); // вывод №2 в неактивное состояние 
    delay(1000); // пауза 1-секунда 
}

В программе присутствует еще одна полезная функция — delay. Это просто пауза, задаваемая в миллисекундах. delay (1000) — означает паузу в 1000 миллисекунд, что равно одной секунде.

Все! Загружаем программу на Ардуино, и смотрим на мигающий светодиод! Вы сделали это сами. Запрограммировали микроконтроллер! Круто, не правда ли?:)


Изменено: