К данным урокам для домашнего изучения можно заказать учебный набор.
Стоимость набора 3 200 руб.
Для занятия необходима установленная на компьютерах среда программирования miniBloq и драйвера для Arduino.
Макетные провода папа-папа |
от 5 шт |
Контроллер Arduino UNO + провод |
1 шт |
|
Светодиод |
1 шт |
Беспаечная макетная плата |
1 шт |
|
|
|
Резистор 220 Ом |
1 шт |
Добрый день, ребята.
Ребята, на прошлом занятии мы с вами закончили курс «Схемотехника».
Конечно, знания полученные ранее, не будут забыты, а помогут нам в дальнейшем изучении робототехники. Именно так и будет называться наш текущий курс.
При разработке разных устройств бывают такие ситуации, когда реализовать требуемый функционал с помощью микросхем и базовых компонентов бывает очень сложно или даже практически невозможно.
Представьте, что перед нами стоит задача — заставить мигать светодиод.
В этом случае мы можем собрать мультивибратор на транзисторах или на микросхеме таймера NE555.
Теперь усложним задачу. Нам нужно сделать гирлянду из 5 светодиодов и реализовать 3 разных варианта их мигания (изменяя скорость и порядок).
В этом случае устройство, собранное на транзисторах или микросхеме получится громадным и очень сложным.
Вот тут нам на помощь приходят микроконтроллеры.
Микроконтроллер - это специальная микросхема, предназначенная для управления различными электронными устройствами.
Разработчики микроконтроллеров придумали остроумную идею – объединить все, что нужно для работы внутри одного корпуса, внешне похожего на обычную микросхему.
Рис.1 Микроконтроллеры
В отличии от микросхем, с которыми мы имели дело, микроконтроллер можно запрограммировать на выполнение необходимых нам действий.
Чтобы микроконтроллер понимал, что мы от него хотим, в него нужно загрузить прошивку — последовательность действий, которую ему необходимо выполнить.
Сама прошивка представляет собой последовательность единиц и нулей, но чтобы нам было удобнее, придумали языки программирования.
Например, мы пишем «включи светодиод», а компилятор уже сам преобразовывает команду в понятную для микроконтроллера последовательность единиц и нулей.
Чтобы было удобнее работать с микроконтроллерами, некоторые производители придумали специальные устройства — контроллеры.
Например, контроллер Arduino (Рис.2). Этот контроллер содержит сам микроконтроллер, программатор, стабилизатор питания и всю необходимую обвязку.
Рис.2 Контроллер Arduino
Чтобы было понятно, как с ним работать, сразу приступим к первому заданию.
Звучит задание просто: помигать светодиодом. Но как к нему подступиться?
Для начала давайте поймем, куда мы можем подключить светодиод, чтобы им «помигать».
На вашей макетной плате нет блока питания, но в этом нет ничего страшного.
Питать схему мы будем от Arduino. На контроллере есть выводы питания. +5В, +3.3В, и GND (это минус). (Рис.3)
Рис.3 Выводы питания на контроллере Arduino
Давайте подключим выводы питания +5В и GND к шине макетной платы. Это позволит нам больше не думать о том, откуда брать питание для элементов в схемах. (Рис. 4)
Рис.4 Вариант подключения выводов питания к шине макетной платы
Контроллер может задавать "включать" (задавать 5 вольт) или "выключать" (задавать 0 вольт) некоторые свои выводы, их так же называют ПИНы (Pin).
Обычно, для того, чтобы просто "включать" или "выключать" используют цифровые пины. Цифровые пины на Arduino UNO это пины с 2 по 13. (Рис. 5)
Рис.5 Цифровые пины на контроллере Arduino
Для нашего мигающего светодиода я выбрал пин номер 5, вы же можете выбрать любой другой цифровой пин.
Подключение светодиода будет выглядить следующим образом. (Рис.7) Обратите внимание, что светодиод подключен через ограничивающий резистор на 220 Ом. Без него он может просто-напросто сгореть.
Рис.7 Вариант подключения светодиода к цифровому пину 5
Подключили? Отлично. Следующим этапом нам нужно научить контроллер "включать" и "выключать" наш цифровой пин. Для этого нам нужно запрограммировать Arduino.
Для программирования Arduino можно пользоваться многими языками программирования и средами разработки.
Мы же будем пользоваться графической средой разработки miniBloq (но никто не мешает вам попробовать другие mBlock, S4A или Arduino IDE). (Рис.8)
Рис.8 Среда графического программирования miniBloq
Важно:
После запуска выберите вашу плату, напомню это Arduino UNO, подключите плату к компьютеру и выберите порт.
Порт Arduino, обычно с самым большим числом из доступных. Например: если доступны COM1 и COM8, то порт Arduino скорее всего COM8, но бывают исключения.
Для программирования мы будем использовать блоки из панели инструментов справа. Например, для "включения" или "выключения" цифрового пина мы будем использовать следующий блок. (Рис. 9)
Рис.9 Блок для работы с цифровыми пинами в miniBloq
Чтобы поставить блок в нашу программу достаточно кликнуть по нему. (Рис. 10)
Рис. 10.
После этого необходимо выбрать пин, с которым мы хотим работать — тот, к которому мы подключили светодиод. Напомню, у меня он с номером 5 (Рис. 11)
Рис.11 Выбор пина
Теперь, чтобы включить светодиод, нужно задать нашему пину «галочку», а чтобы выключить — «крестик». (Рис. 12)
Рис.12 "Включение" или "выключение" пина задается галочкой и крестиком
Хочу вас познакомить еще с одним блоком — задержка. Этот блок нужен чтобы «заставить» наш контроллер немного подождать (Рис. 13).
Рис.13 Блок «задержка» в miniBloq
Время задержки в нем измеряется в миллисекундах (всего их 1000 в 1 секунде), чтобы задать колечество милисекунд необходимо выбрать значок # и прописать необходимое количество миллисекунд используя клавиатуру (Рис. 14).
Рис.14 Задание задержки в миллисекундах в miniBloq
Теперь из этих двух блоков мы можем составить программу мигания светодиода.
Будьте внимательны:
Если мы напишем программу без задержек, например, включить-выключить-включить-выключить, то мы получим совсем не то, что хотели. Ведь включение и выключение будет происходить очень быстро, настолько быстро, что мы ничего не заметим.
Именно поэтому мы ставим задержки:
включить-подожди 1000 милисекунд-выключить-подожди 2000 милисекунд и тд.
в данном случае пин будет включен 1 секунду и выключен 2 секунды.
У меня получилась такая программа. (Рис.15)
Рис.15 Мигание светодиода в miniBloq
Теперь запишем нашу программу а Arduino нажав на зеленую стрелочку (Рис 16)
Рис. 16. Запись программы в Arduino.
Отлично, наш светодиод мигает, но обидно, что он мигает ровно столько раз, сколько мы ему написали.
Замечательно бы было написать 1 цикл мигания (вкл-подождать-выкл-подождать) и зациклить его, чтобы он работал бесконечно.
С помощью нашего языка программирования это сделать можно, для этого существует блок цикл.
Всего их 2. Но нас интересует условный цикл.
Этот цикл можно превратить в бесконечный (Рис.17), если явно задать на нем галочку.
Рис. 17. Бесконечный цикл.
Теперь, все блоки помещенные между этими блоками цикла будут повторяться бесконечно.
Перепишем нашу программу, чтобы светодиод мигал постоянно. (Рис.18).
Рис. 18. Бесконечное мигание светодиода в miniBloq.
Надеюсь, вы все поняли. Если да, то переходим к следующему уроку «Знакомство с Arduino. Светофор».
г. Долгопрудный
пр. Ракетостроителей д3к1
1-й подъезд
+7 (495) 66-99-701
edu@dollab.ru
Временно закрыто
г. Лобня
Ул. Крупской, 24
ТЦ Олимп. 3-й этаж, каб. №24
+7 (495) 66-99-701
edu@dollab.ru