понедельник, 6 января 2014 г.

1. Интерфейс и хоткеи Arduino IDE

Интерфейс официальной Arduino IDE, которую Вы можете скачать здесь предельно прост:


Как ее установить и настроить работу с девайсом, смотрите в мануалах, там все просто - добавляем устройство, это может быть эмуль COM-порта или нормальное USB HID-устройство, в Arduino IDE выбираем девайс и порт.

Сам интерфейс описывать смысла нет, все и так понятно на рисунке. При загрузке скетча (кода), где стрелка "бар загрузки скетча на устройство" появляется зеленый бар, показывающий прогресс загрузки (обычно скетч прошивается не моментально, а около минуты).

Перейдем к хоткеям. Хоткеи или "горячие клавиши" могут помочь Вам сильно облегчить работу в Arduino IDE и экономят время.

Правка:
Ctrl+Z - отмена одной операции
Ctrl+Y - возврат одной отмененной операции
Ctrl+F - поиск по коду
Atrl+A - выделение всего кода
Ctrl+P - печать содержимого вкладки
Ctrl+X - вырезать выделенный код
Ctrl+C - копировать выделенный код
Ctrl+V - вставить выделенный код

Компиляция и загрузка:
Ctrl+R - компиляция скетча
Ctrl+U - загрузить скетч
Ctrl+Shift+U - загрузить скетч с помощью программатора

Сохранение и работа с вкладками:
Ctrl+S - сохранить текущий скетч
Ctrl+Shift+S - сохранить текущий скетч с выбором имени сохраняемого файла
Ctrl+W - закрыть текущую вкладку
Ctrl+Shift+N - новая вкладка
Ctrl+Alt+Стрелка_вправо- переключение на вкладку справа от активной
Ctrl+Alt+Стрелка_влево - переключение на вкладку слева от активной

Другое:
Ctrl+N - открыть новое окно редактора
Ctrl+O - открыть существующий файл скетча
Ctrl+Слэш (русская точка в английской раскладке) - закомментирование строки
Ctrl+K - открыть папку со скетчами
Ctrl+T - автоформатирование кода
Ctrl+Shift+M - монитор порта
Ctrl+Запятая_в_английской_раскладке (русская буква Б) - страница настроек Arduino IDE.

Также все эти команды доступны через стандартное меню вверху окна (горизонтальное меню "Файл Правка и т.д."), но через хоткеи работать гораздо быстрее. Сделайте усилие, научитесь работать с хоткеями, потом это многократно окупит себя в плане времени. особенно, если Вы планируете серьезно работать с Ардуино.

Структура экспресс-курса

Примерная структура экспресс-курса, точно сформировать сложно, т.к. я сам пока не знаю, что там будет, а также не знаю особенностей C и какие отличия "форка" для Ардуино от обычного C\C++.

1. Интерфейс и хоткеи Arduino IDE
Описание интерфейса и хоткеев для оптимизации работы с Arduino IDE.

2. Типы данных
Описание типов данных, структур, массивов, указателей или что там есть.

4. Арифметические операции, их приоритеты и константы
Описание простейших арифметических операций и таблица приоритетов их выполнения. Константы и их описание.

5. Первая программа и структура программы
Описание типовой структуры программы и сразу закрепляем знания написанием, отладкой и загрузкой на Ардуино реальной программы мигания светодиодом.

6. Ввод и вывод, цифровые порты
Описание портов ввода и вывода цифрового типа.

7. Ввод и вывод, аналоговые порты
Описание портов ввода и вывода аналогового типа.

8. Специфичные для "форка" ЯП для Ардуино функции и объекты
Описание специфичных функций и объектов, которые нужно знать.

9. Время и дата
Работа с функциями времени и даты.

10. Последовательная передача данных
Описание работы по взаимодействию Ардуино с компьютером, передача данных через последовательный порт, протоколы данных и т.д.

11. Список полезных функций "форка" ЯП для Ардуино
Список полезных функций с описанием работы и примерами использования в коде.

12. Разное
То, что не относится к другим главам, но, тем не менее, нужно знать для нормального кодинга Ардуино.

О блоге

На сегодняшний день не существует книги или мануала по программированию для Ардуино в виде экспресс-курса.

Что будет представлять из себя экспресс-курс?
Это небольшой мануал по быстрому освоению языка программирования на основе C\C++ для программирования Ардуино.
Задача экспресс-курса - дать основы и информацию для практического применения предмета изучения. Здесь нет рассусоливаний и глубоких теоретических изысканий, а также подробностей о доступных в других источниках предметах, вроде парадигмы процедурного программирования, ООП и т.д., это можно найти в Википедии и прочитать самостоятельно.

Зачем нужен отдельный экспресс-курс для Ардуино?
Так как для быстрого старта для работы с Ардуино применяется не чистый Си или Си Плюс Плюс, то и изучать этот, так сказать, "форк" нужно отдельно.
Конечно, можно кодить Ардуино и на чистом Си или даже Ассемблере, но для тех, кто только-только начал знакомиться с миром микроконтроллеров (как я), очень бы пригодился такой экспресс-курс.

Как построен учебный процесс?
Я сам ее не знаю этот "форк" на основе C\C++, поэтому буду проверять информацию на самом себе, заодно и изучу кодинг для Ардуино.
А процесс формирования обучающей информации прост - сначала составлю примерную структуру изучения, как в других экспресс-курсах по изучению языков программирования, затем буду искать материалы по этим темам, читать, применять и после этого внедрять подходящее в экспресс-курс.

Зачем это нужно?
Как говорится: "Повторенье - мать ученья", то бишь, дополнительно работая с уже изученным материалом я сам его лучше усвою, а также, надеюсь, что внесу небольшую лепту в популяризацию Ардуино и микроконтроллеров среди нашей молодежи и тех, кто сегодня делает проекты на Ардуино, а завтра может будет строить космические аппараты :)