- •Курс «Основы робототехники на Arduino для школьников». Занятие 2 Знакомство с контроллером Arduino
- •2.1. Электронная часть курса – контроллер Arduino и совместимые с ним модули
- •2.2. Команды языка программирования Arduino
- •2.3. Синтаксис языка программирования Arduino
- •Структура программы
- •2.4. Подключение Arduino к компьютеру
- •2.5. Цифровой выход – команда digitalWrite
- •2.6. Изучение Arduino дома
- •Домашнее задание
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 секунда).
удалите один ноль в обеих строках delay(1000);, чтобы они обе имели вид
delay(100);
загрузите полученную программу в контроллер () и убедитесь, что светодиод L на плате стал мигать намного быстрее – с периодом 100 миллисекунд = 0,1 секунда, т.е. 10 раз в секунду
попробуйте задать различные значения периодов задержки delay и загрузить программу с ними
2.6. Изучение Arduino дома
Для большей эффективности обучения и реализации проектов нужно в течение недели, проходящей между занятиями, посвящать некоторое время повторению изученного или изучению новой информации. Среда программирования Arduino IDE распространяется бесплатно, ее нужно скачать в клубе или на официальном сайте Arduino.cc в разделе Downloads. Дома нужно скачать и установить данную среду программирования, открывать примеры программ в разделе Файл / Примеры, изучать команды в разделе Справка / Содержание, а также выполнять в ней домашние задания
Примечание: описания команд на русском языке имеются на arduino.ru
Для изучения дома и реализации собственных проектов, Вам нужно купить Arduino и желаемые модули на сайте ebay.com, Алиэкспресс или другом подобном сервисе. Ссылки на поиски компонентов на ebay.com приведены в описаниях фотографий данных компонентов в альбомах группы клуба http://vk.com/robotics410, там же есть ссылка на инструкцию по покупкам через Интернет