Программа. Функция 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 миллисекунд, что равно одной секунде.
Все! Загружаем программу на Ардуино, и смотрим на мигающий светодиод! Вы сделали это сами. Запрограммировали микроконтроллер! Круто, не правда ли?:)