«Управление внешним светодиодом»
338
Рис. 9. 27. Сохранение скетча В нижней части IDE выводит ряд сообщений. Сначала появится со- общение о компиляции скетча (рис. 9. 28), т. е. о преобразовании про- граммы в формат, понятный для процессора.
Рис. 9. 28. Сообщение о компиляции скетча
Далее статус процесса изменится на «Загружаем». В этот момент светодиоды TX и RX на Arduino начинают мерцать, указывая, что скетч загружается в плату. Наконец, в строке состояния появится текст «Вгрузили» (рис. 9. 29).
Рис. 9. 29. Сообщение о завершении операции «Вгрузить» Внимание! Если в окне появится надпись «Последовательный порт СОМ4 не найден», проверьте подключение платы к компьютеру, пра- вильность настройки в программе COM-порта и ещё раз загрузите скетч. 5. Проведите модификацию кода, изменив параметры команды delay (рис. 9. 30).
Рис. 9. 30. Модификация кода
340
Вместо строчки delay(1000); напишите delay(100); Подумайте, что произойдёт при таком изменении программы. 6. Загрузите новый скетч в Arduino Uno, проверьте, как изменился период мерцания светодиода. Мы попробовали управлять встроенными элементами контроллера. Но гораздо чаще требуется, чтобы контроллер управлял не встроенными элементами, а различными электронными компонентами, подключён- ными к внешним контактам — ножкам микрочипа.
«Управление внешним светодиодом» Цель работы: научиться управлять отдельным светодиодом на ма- кетной плате. Оборудование и материалы: резистор номиналом 360 Ом, светоди- од, перемычка, макетная плата, плата Arduino, компьютер. Внимание! Все подключения можно производить только при от- ключённой от компьютера плате Arduino.
Порядок выполнения работы 1.
Рис. 9. 31. Схема подключения светодиода
Рис. 9. 32. Пример соединения
2. Подключите минус (GND) питания Arduino к минусовой шине макетной платы. Для этого установите один конец проволочной пере- мычки в гнездо GND на плате Arduino, а второй конец перемычки — в отверстие вдоль синей линии макетной платы. 3. Установите светодиод на макетную плату. Для этого ножки свето- диода вставьте в отверстия свободного поля так, чтобы длинная ножка (анод) находилась в отверстии верхнего свободного поля, а короткая (катод) — в отверстии нижнего поля. 4. Установите на макетную плату резистор. К короткой ножке све- тодиода подключите одну ножку резистора, вторую ножку резистора установите в отверстие вдоль синей линии. 5. Проволочной перемычкой соедините анод светодиода и контакт 13 платы Arduino (рис. 9. 32). 6. Проверьте правильность сборки схемы и подключите плату к компьютеру. 7. Запустите среду разработки Arduino IDE. 8. Скопируйте текст приведённой ниже программы с комментария- ми на русском языке в среду разработки и загрузите в Arduino либо от- кройте скетч Blink1 с комментариями на английском. /*Программа для мигающего светодиода */ // Светодиод подключаем к контакту 13 платы Arduino // устанавливаем начальную команду, которая будет выполняться при включении питания void setup() { // определяем выбранный нами контакт платы Arduino как выход.
342
pinMode(13, OUTPUT); } // Теперь определяем, что и как будет выполнять наша программа, пока // подключено питание к плате Arduino: void loop() { digitalWrite(13, HIGH); // устанавливаем на нашем контакте 13 ВЫ- СОКИЙ уровень (5 В) delay(1000); // ждём 1 с digitalWrite(13, LOW); // устанавливаем на нашем контакте 13 НИЗ- КИЙ уровень (0 В) delay(1000); // ждём 1 с
} 9. Испытайте работу программы. Опишите результат. 10. Измените в программе время задержки аналогично тому, как вы это делали со встроенным светодиодом. Опишите результат. Светодиод вы подключали к пину 13. В программе это прописано следующим образом: pinMode(13, OUTPUT); digitalWrite(13, HIGH); digitalWrite(13, LOW). Чтобы поменять пин подключения, необходимо внести изменения во все части программы, где встречается номер пина, и переключить светодиод к соответствующему выходу. Светодиод можно подключать к любому выводу контроллера Arduino, но всякий раз необходимо будет производить серию однотипных изменений в программе. Попробуем оптимизировать процесс. Для этого нам потребует- ся ещё одно понятие, связанное с программированием, — перемен - ная. Из курса математики вам известно, что переменные — это такие ве- личины, значение которых может изменяться. В программировании (а значит, и в робототехнике) переменную определяют как место в па- мяти, где хранится некоторое значение. Номер пина — целое число, значит, нужна такая переменная, которая может хранить целые числа. И вместо того чтобы всякий раз просматривать программу в поисках того, что требуется изменить, мы просто изменим в одном месте значе- ние переменной.
Для этого в самом начале программы эту переменную необходимо объявить, т. е. придумать ей имя, и указать, что «закладывать» в эту пе- ременную мы будем целые числа. Объявляется переменная командой int, например: int ledpin = 13; Слово int означает, что в качестве переменной мы будем использо- вать целое число. ledpin — это имя нашей переменной. Его-то мы и придумываем са- ми. (Если хотите, его можно изменить, только не забудьте изменить это имя во всех местах программы, где оно встречается. Учтите, что Arduino понимает только латинские буквы. ) 13 — это значение переменной, которое мы, когда захотим, можем менять. Теперь скетч примет вид: Int ledpin = 13; void setup() { pinMode(ledpin, OUTPUT); } void loop() { digitalWrite(ledpin, HIGH); //Вольт) delay(1000); digitalWrite(ledpin, LOW); delay(1000); } То есть при изменении номера контакта больше не потребуется просматривать всю программу, выискивая, где записан номер пина. Достаточно изменить его всего один раз в начале программы в перемен- ной ledpin.
? Вопросы и задания 1. Что произойдёт, если значение параметра в команде delay уменьшить в 2 раза? 2. Что такое переменная? 3. Чем различаются переменные в матема- тике и робототехнике? 4. Зачем подключается светодиод последовательно с резистором?
Воспользуйтесь поиском по сайту: ![]() ©2015 - 2025 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...
|