Вводный видеоурок по платформе Arduino можно найти на странице www.jeremyblum.com/2011/01/02/arduino-tutorial-series-it-begins/[4] и на сайте издательства Wiley.
- 28 -
При изучении платформы Arduino для повторения проектов из книги вам потребуются три главных компонента:
• основная плата Arduino;
• платы расширения;
• интегрированная среда разработки Arduino - Arduino IDE.
В этой книге рассмотрены преимущественно фирменные платы Arduino. Подойдут и выпускаемые в большом ассортименте клоны Arduino - платы, совместимые как с аппаратной, так и с программной частью Arduino. Там, где это будет необходимо, вы найдете рекомендации по поводу пригодности тех или иных плат для различных устройств. Большинство проектов базируется на плате Arduino Uno. Сначала мы рассмотрим общие функциональные возможности всех разновидностей плат Arduino, а затем укажем особенности, присущие каждой плате. В результате вы сможете подобрать подходящую плату Arduino для каждого конкретного проекта.
1.2. Аппаратная часть
Все платы Arduino содержат основные компоненты, необходимые для программирования и совместной работы с другими схемами (рис. 1.1 ):
• микроконтроллер Atmel;
• USB-интерфейс для программирования и передачи данных;
• стабилизатор напряжения и выводы питания;
• контакты входов ввода-вывода; индикаторные светодиоды (Debug, Power, Rx, Тх);
• кнопку сброса;
• встроенный последовательный интерфейс программирования (ICSP).
1.3. Микроконтроллеры Atmel
Основной элемент платы Arduino - микроконтроллер Atmel. На большинстве плат Arduino, включая Arduino Uno, установлен микроконтроллер ATmega. На плате Arduino Uno, изображенной на рис. 1.1, вы видите микроконтроллер ATmega 328.
Исключением является плата Due, укомплектованная микроконтроллером ARM Cortex.
Микроконтроллер исполняет весь скомпилированный код программы. Язык Arduino предоставляет доступ к периферийным устройствам микроконтроллера: аналого-цифровым преобразователям (ADCs), цифровым портам ввода-вывода, коммуникационным шинам (включая I>2C и SPI) и последовательным интерфейсам.
На плате все эти порты выведены на штырьковые контакты.
К тактовым контактам микроконтроллера ATmega подключен кварцевый резонатор на 16 МГц.
С помощью кнопки сброса выполнение вашей программы можно перезапустить.
Рис. 1.1. Компоненты платы Arduino Uno
1. Кнопка сброса
2. USB — разъем
3. Конвертер - последовательного и USB интерфейсов
4. Разъем для подключения внешнего источника питания 7-12 В
5. Цифровые контакты ввода-вывода
6. Светодиод, предназначенный для отладки
7. Контакты интерфейса ICSP для программирования микроконтроллера
8. Микроконтроллер ATmega 328
9. Входы аналого-цифрового преобразователя
10. Контакты питания и вспомогательные контакты
- 30 -
Большинство плат Arduino оснащено светодиодом отладки (Debug), подсоединенным к контакту 13, который позволит реализовать нашу первую программу (мигающий светодиод) без дополнительных компонентов.
1.4. Интерфейсы программирования
Обычно программы микроконтроллера ATmega, написанные на С или Ассемблере загружаются в микроконтроллер через интерфейс ICSP с помощью программатора (рис. 1.2). Возможно, самая важная особенность Arduino - непосредственное программирование через USB-порт, без дополнительного программатора. Эту функцию обеспечивает загрузчик Arduino, записанный в микроконтроллер ATmega на заводе-изготовителе, и позволяющий загружать пользовательскую программу на плату Arduino по последовательному порту USART.