Начинаем курс робототехники по построению схем и программированию на основе контроллера Ардуино (Arduino).
На предыдущем курсе мы знакомились с основами построения электрических схем на макетной плате. Это необходимые знания и опыт в умении по принципиальной схеме создавать на макетной плате работающее электронное устройство.
Электронные устройства в области робототехники - это аппаратно-программные автономные системы, основной задачей которой, является выполнение заданий для роботов в автономном режиме. И первое, что должен делать создаваемый нами робот - это умение воспринимать окружающую среду через свои сенсоры (датчики), что бы на основе полученных данных принимать самостоятельное решение, - выполнять движение.
Контроллер Ардуино - это маленький компьютер, получающий с различных сенсоров входную информацию и выдающий команды для движения моторам, сервоприводам и другим исполнительным устройствам.
И когда мы смотрим на наш контроллер Ардуино то можем увидеть наличие на нем разъемов для подключения. Из них мы выделим три основных:
1. Порты (разъемы) для получения сигналов с внешних сенсоров(датчиков) - входные цифровые порты
2. Порты (разъемы) для выдачи сигналов на внешние устройства - выходные цифровые порты
3. Порты (разъемы) для получения входных аналоговых сигналов с внешних устройств.
Кроме есть порты для подключения питания и сообщения с компьютером для закачивания в контроллер программ.
Выходные цифровые порты могут выдавать сигналы двух уровней ("Высокий" и "Низкий" соответствуют логической "1" и логическому "0"). При питании от 5В - это соответствует уровню напряжения на выходном порту 0В и 5В.
При программирование эти состояния обозначаются как High и Low.
А так же выходные цифровые порты могут выдавать изменяющиеся во времени сигналы - называемые Широтно-импульсной модуляцией, имеющей также сокращенное обозначение ШИМ или в английской PWM.
Количество импульсов меняется во времени и при программировании это определяется уровнем от нуля до 255. При это 0 - соответствует отсутствию сигнала, т.е. логическому "0", а 255 - это логическая "1" высокий уровень сигнала на выходном порту. Количество таких портов к примеру на контроллере Arduino UNO - шесть, это порты 3,5,6,9,10,11. На плате они обозначены с помощью символа "~".
У контроллера Ардуино входные и выходные порты объединены - т.е. цифровой порт может быть запрограммирован и использован как входной или как выходной порт.
Аналоговых портов на котроллере Arduino UNO - шесть, с A0 по A5. При это эти порты могут быть запрограммированы и как выходные цифровые порты. Аналоговые порты преобразуют входное напряжение в цифровой вид, используя так называемое аналогово-цифровое преобразование (АЦП). Таким образом входное напряжение от 0 до 5 вольт будет преобразовано в цифровой уровень от 0 до 1023.
Для удобства 13 цифровой порт имеет дублирующий светодиод, который загорается в случае использования этого порта как выходного при уровне выходного сигнала как High и гаснет при установлении на порту уровня Low.
Практическое задание
Внимание! Как и любые платы с полупроводниковыми элементами на них, боятся статического напряжения. По этой причине, что бы не сжечь микросхемы котроллера его необходимо брать руками за края, стараясь не прикасаться к ножкам элементов.
Учимся программировать выходные цифровые порты и начнем с установления на 13 порту уровней сигнала High и Low.
Запускаем программу Mixly и на рабочем столе ставим последовательно 4 команды:
Для запуска программы необходимо подключить плату Ардуино через USB порт, выбрать нужный тип платы "Arduino/Genuino UNO" и порт USB (COM1 - как правило порт мыши, нужно выбрать тот порт, который появляется после подключения платы). Затем нажать кнопку Upload. Программа начнет загружаться.
Если по завершению вы видите вот такое сообщение
то это означает, что программа загружена в контроллер и она начала выполняться. При этом светодиодик на плате должен моргать через каждую 1 секунду.
Задание для самостоятельного
1. Установите частоту моргания светодиода 2 секунды.
2. Сделайте так, что при моргании светодиод 1 секунду он горит и 2 секунды он погашен.
3. Какое минимальное время между циклами включения выключения светодиода воспринимается глазом как моргание и после какого значения это уже не видно.