В прошлых статьях мы покупали и подключали к компьютеру основную плату Ардуино, так сказать - центральный "кубик" и сердце нашего конструктора. Давайте еще раз посмотрим, как должна выглядеть наша Ардуина в диспетчере устройств - на этот раз я снял скриншоты со своей Windows 7. Как видите, никаких принципиальных отличий от Windows XP не наблюдаем:

uno0

У меня она встала на порт СОМ3. Повторюсь, в каждом случае номера портов могут различаться.

Идем дальше. Теперь запустим нашу свежеустановленную программу (ее еще называют средой программирования) - Arduino IDE.

uno1

 

Сначала выбираем нашу плату в меню "Инструменты" - "Плата" - "Arduino UNO".

uno2

 

Затем здесь же, недалеко - выбираем СОМ-порт, к которому подключена наша Ардуина. Все! На этом первоначальная настройка завершена и сейчас уже будем приступать к самому интересному - ПРОГРАММИРОВАНИЮ!

Чтобы сильно не затягивать - давайте откроем одну из самых простейших программ, которая всего лишь только и может, что равномерно подмигивать светодиодом. Который, кстати, уже расположен на самой плате и подключен к выводу номер 13.

Эта программа находится в разделе "Образцы" и называется "Blink":

uno3

 

Так, открыли.. И что мы тут можем понять? Все не по-русски, конечно, но попробуем разобраться, заодно и английский подучим:

uno4

Букв незнакомых, конечно, много, но там по-большей части - приветы от авторов и разработчиков, комментарии, которые, как правило, начинаются с пары прямых слэшей - "//". Или, если нужно написать целый абзац таких комментов, тогда, как видите в начале - он выделятся значками /* бла-бла-бла - комменты */. Никакого влияния на работу программы они не оказывают.

Рабочую часть программы я выделил желтым цветом. Ее и будем разбирать. Но сначала - лирическое отступление в виде кусочка теории.

Хоть нам и непросто будет разбирать программы на английском языке, но, представьте себе - микроконтроллеры, да и вообще, компьютеры и вся другая цифровая техника не понимают и этого. В самом деле - как объяснить тупой железяке, что ей нужно делать? У нее же ни ушей, ни глаз, да и мозгов совсем чуть-чуть, если честно. Лежит себе на столе, растопырилась ножками... Вот! Через "ножки" и будем объяснять!

А что и как можно сказать обыкновенной проволочке? Ну, например, можно подать на нее напряжение. +5 вольт будет хватит. А можно - ничего не подавать, а, наоборот - взять и заземлить. Так, потихоньку, начинаем находить с железякой общий язык. Будем считать, что +5 вольт на каком-нибудь выводе нашего контроллера - это единица, "1". А отсутствие этого напряжения, вывод заземлен - это ноль, "0". 

Получается, по одному проводу мы можем передавать Ардуине две цифры - "1" и "0". И все! Однако, маловато будет. Давайте добавим еще однин проводок и будем считать, что если на нем будет +5 вольт ("1"), то это сразу будет цифра "2". Теперь наши возможности резко увеличились - по двум проводкам мы можем передать (и принять тоже) уже 4 различных числа: 00 - "0", 01 - "1", 10 - "2", 11 - "3". А если мы добавим еще проводков, то...

 Если есть желающие, то про двоичную систему счисления они самостоятельно прочтут в Интернете. Здесь просто отмечу, что в технике стандартно используется восемь проводков, или как по-умному говорят - "восьмиразрядная шина", на которой можно набрать 256 разных чисел (от 0 до 255). Каждое такое число называется "байт", то есть - восьмиразрядное двоичное число.

 Так вот, программа внутри Ардуины представляет собой целую кучу таких чисел, лежащих в определенном участке ее памяти, который называется "памятью программ". И первое, что она, Ардуина, делает "проснувшись" после ее включения - она лезет в эту память и пытается разобрать байты на команды и сообразить, что и как она должна делать. В доисторические времена программисты, фактически, прописывали вручную каждый байт своих программ. Конечно, прямо в машинных кодах вряд ли кто писал, но язык программирования "ассемблер" был очень распространен, а это - почти то же самое.

 Слава богу, у нас есть Arduino IDE. Хотя скетчи (так исторически называют программы в Arduino) и на английском языке, тем не менее процесс программирования микроконтроллеров превращается почти в детскую забаву. Потому что основную черновую работу сделали вместо нас тысячи и десятки тысяч неизвестных и известных программистов, написавших как саму среду разработки, так и целую кучу библиотек для обслуживания различных устройств. Тем самым, выполнив вместо нас процентов 90 работы. И, поскольку, мы провозгласили нашим девизом получение результата при минимуме усилий, то Ардуино - это просто находка для необразованного лентяя :-) 

Однако, хватит слов - пора переходить к делу. Там у нас скетч "Blink" еще висит на экране? Давайте нажмем на кнопку с галочкой, которая находится под меню "Файл":

 uno5

 

Видим, что пошел какой-то процесс - градусник появился справа внизу. Надпись - "компиляция скетча". Что поисходит? Среда разработки проверяет наш скетч на наличие ошибок и формирует файл из двоичных чисел для загрузки в нашу плату Ардуино. Если в нижнем черном окне не появится никаких сообщений об ошибках (красным шрифтом), значит, наш скетч написан без синтаксических ошибок. Хотя, это не значит, что он булет работать так, как мы мечтали. Но в Ардуину он, во всяком случае, загрузится.

Теперь нажмем на кнопку со стрелкой, которая находится рядом:

uno6

 Снова начинается процесс компиляции, после окончания которого наш сформированный файл загружается уже в плату Ардуино. В процессе загрузки на ней перемигиваюся светодиоды, что показывает, что процесс идет нормально.

Когда загрузка окончится, на плате останется равномерно помигивающий желтый светодиод. Это и есть результат работы нашей первой простейшей программы. Первое работающее изделие на Ардуино - поздравляю!

Ардуино - это просто (быстрый старт) ч.0                                                 Продолжение следует

Ардуино - это просто (быстрый старт) ч.1

Добавить комментарий