Arduino Due представляет собой плату ARM контроллера, спроектированную для энтузиастов в мире электроники. Архитектура ARM играет очень важную роль в современном мире электроники, контроллеры ARM используются в большом числе электронных устройств по всему миру, к примеру, в мобильных телефонах и портативных компьютерах. Если кто то хочет спроектировать какую-нибудь промышленную электронную систему, она непременно должна включать ARM контроллеры.
ARM контроллеры получили такое большое распространение в современном мире благодаря своему расширенному набору функций (функционалу) по сравнению с обычными контроллерами. Изучение архитектуры ARM целесообразно начать с платы Arduino Due – специализированной платы, легкой для освоения начинающими. Внешний вид платы Arduino Due показан на следующем рисунке.
Сейчас на рынке можно найти много плат Arduino, среди которых UNO – самая популярная, а DUE – самая сложная. На приведенном рисунке показана плата Arduino Due с контроллером “SAM3X8E”. Данный контроллер работает на частоте 84 МГц, что в 5 с лишним раз больше чем частота, на которой работает UNO. Плата Arduino Due имеет почти 60 контактов общего назначения, что позволяет применять ее практически в любых устройствах без необходимости в использовании регистров сдвига.
Плата Arduino Uno спроектирована на основе 8-битного микроконтроллера ATMEGA, а плата Arduino Due основана на ARM архитектуре, которая является 32-битной. Уже по одному этому показателю можно оценить огромный разрыв по производительности между этими двумя платами. Мы выбрали плату Arduino Due как лучший способ для начинающих начать свое знакомство с ARM архитектурой. В этой статье мы рассмотрим простейшую схему мигания светодиодом с помощью платы Arduino Due. Все процессы в этой статье (скачивание, установка и настройка программного обеспечения) очень похожи на те, которые мы рассмотрели в руководстве для начинающих для платы Arduino Uno.
Плата Arduino Due, также как и другие платы Arduino, поддерживает установку так называемых шилдов (Shield boards) – специальных плат расширения возможностей платформы Arduino. Шилды могут устанавливаться один поверх другого.
Необходимые компоненты
Аппаратное обеспечение
- Плата Arduino Due (купить на AliExpress).
- Резистор 220 Ом (купить на AliExpress).
- Светодиод (купить на AliExpress).
- Макетная плата.
- Соединительные провода
Программное обеспечение
Arduino nightly, которое можно скачать по ссылке https://www.arduino.cc/en/Main/Software.
По приведенной ссылке скачайте самую свежую версию программного обеспечения Arduino – в старых версиях программного обеспечения плата Arduino Due может не поддерживаться.
Если у вас операционная система Windows, кликните по ссылке чтобы скачать windows installer как показано на рисунке.
Кликните на кнопку download чтобы начать процесс скачивания.
После завершения скачивания установите программу на компьютер. После этого у вас на рабочем столе должен появиться ярлык для запуска Arduino IDE.
Есть два способа соединения платы Arduino Due с компьютером - мы будем использовать NATIVE USB port (встроенный USB порт). Соедините этот порт USB кабелем с USB портом на компьютере – вы увидите как загорится светодиод на плате.
Чтобы иметь возможность загружать программы в плату вы должны выбрать ARDUINO DUE из пункта меню TOOLS’. Как только вы сделаете это, вы увидите выбранную плату в правом нижнем углу программы как показано на рисунках ниже.
Мы соединили плату с компьютером с помощью встроенного USB порта (NATIVE port), поэтому мы должны выбрать этот порт также в пункте меню ‘TOOLS’. После того как вы сделаете это, вы сможете загружать программы в плату Arduino Due.
Работа схемы
В этом проекте мы напишем программу мигания светодиодом каждые 1000 мс. Для этого мы подсоединим светодиод к контакту PIN13 платы при помощи ограничивающего резистора 220 Ом.
Теперь загрузите программу в плату при помощи нажатия на кнопку Upload Button, находящуюся в верхнем левом углу экрана.
После того как вы успешно загрузили программу в плату в нижнем левом углу экрана должна появиться надпись ’DONE UPLOADING’ и светодиод должен начать мигать.
Важно помнить, что контакты ввода/вывода общего назначения платы Arduino Due имеют предел (ограничение) напряжения в 3.3V. Поэтому мы сможем подать (с помощью платы) на любой из этих контактов напряжение не более 3.3 В. Также не следует подавать на эти контакты внешнее напряжение более 3.3 В потому что это может повредить плату.
Исходный код программы
Далее представлен код программы с комментариями, которые, надеюсь, помогут вам лучше понять смысл этой программы.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
void setup() { pinMode(13, OUTPUT); // инициализируем цифровой контакт 13 на работу на вывод данных } // функция цикла – все операции в ней будут повторяться снова и снова void loop() { digitalWrite(13, HIGH); // подаем на контакт 13 напряжение высокого уровня — включаем светодиод delay(1000); // ждем секунду digitalWrite(13, LOW); // подаем на контакт 13 напряжение низкого уровня — выключаем светодиод delay(1000); // ждем секунду } |