Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Занятие 2 Знакомство с контроллером Arduino.doc
Скачиваний:
207
Добавлен:
11.03.2016
Размер:
316.93 Кб
Скачать

2.5. Цифровой выход – команда digitalWrite

Команда digitalWrite(номер пина, уровень) позволяет подать на определенный пин Arduino (пока будем использовать цифровые пины – от 0 до 13) высокий уровень напряжения (HIGH, +5 В, логическая единица) или низкий уровень напряжения (LOW, 0 В, логический ноль). Примеры:

digitalWrite(5, HIGH); – напряжение на пине 5 станет равным +5 В

digitalWrite(12, LOW); – напряжение на пине 12 станет равным 0 В

Примечание: перед использованием на пине команды digitalWrite обязательно нужно настроить этот пин в блоке setup как выходной, используя команду pinMode(номер пина, OUTPUT);

Для изучения данной команды запустим среду Arduino IDE и откроем пример, который использовали ранее Файл / Примеры / Basic / Blink. Для облегчения понимания комментарии (слова после //, которые Arduino не воспринимает, а предназначены только для программистов) в программе ниже переведены на русский язык и выделены курсивом, а команды, которые контроллер воспринимает – выделены жирным.

// создадим переменную led типа integer (целое число), хранящую номер данного пина – 13

int led = 13;

// то, что находится в блоке setup, выполнится один раз после запуска контроллера

void setup() {

pinMode(led, OUTPUT); // прописываем цифровой пин с номером 13 как выходной

}

// выполнение блока loop повторяется снова и снова в процессе работы контроллера

void loop() {

digitalWrite(led, HIGH); // включаем светодиод (подаем на пин 13 высокий уровень +5 В (светодиод загорается)

delay(1000); // ждем одну секунду (1000 миллисекунд)

digitalWrite(led, LOW); // выключаем светодиод (подаем на пин 13 низкий уровень 0 В (светодиод потухает)

delay(1000); // ждем одну секунду (1000 миллисекунд)

} // после окончания блока loop контроллер начинает выполнять его с первой строчки

Практическое занятие 3: изменим период мигания светодиода. В программе периоды заданы командой delay (задержка, ожидание), при выполнении которой контроллер ждет время в миллисекундах, заданное в скобках (1000 миллисекунд = 1 секунда).

  1. удалите один ноль в обеих строках delay(1000);, чтобы они обе имели вид

delay(100);

  1. загрузите полученную программу в контроллер () и убедитесь, что светодиод L на плате стал мигать намного быстрее – с периодом 100 миллисекунд = 0,1 секунда, т.е. 10 раз в секунду

  2. попробуйте задать различные значения периодов задержки delay и загрузить программу с ними

2.6. Изучение Arduino дома

Для большей эффективности обучения и реализации проектов нужно в течение недели, проходящей между занятиями, посвящать некоторое время повторению изученного или изучению новой информации. Среда программирования Arduino IDE распространяется бесплатно, ее нужно скачать в клубе или на официальном сайте Arduino.cc в разделе Downloads. Дома нужно скачать и установить данную среду программирования, открывать примеры программ в разделе Файл / Примеры, изучать команды в разделе Справка / Содержание, а также выполнять в ней домашние задания

Примечание: описания команд на русском языке имеются на arduino.ru

Для изучения дома и реализации собственных проектов, Вам нужно купить Arduino и желаемые модули на сайте ebay.com, Алиэкспресс или другом подобном сервисе. Ссылки на поиски компонентов на ebay.com приведены в описаниях фотографий данных компонентов в альбомах группы клуба http://vk.com/robotics410, там же есть ссылка на инструкцию по покупкам через Интернет