Arduino компоненты


Обзор

Arduino UNO представляет из себя отладочный комплекс, выполненный на базе микроконтроллера ATMega328. Проще говоря – это обычная плата, которая является «посредником» между пользователем и микроконтроллером, позволяя удобно цепляться к его ножкам и загружать в него прошивку прямо из среды программирования. Помимо всего прочего, плата наделена некоторыми дополнительными функциями, которые будут подробно рассмотрены в данной статье. Продуманное исполнение, небольшой размер, множество библиотек и примеров кода, позволили Arduino UNO завоевать симпатии миллионов разработчиков электронных устройств. На сегодняшний день в Интернете можно найти огромное количество проектов, в которых данная плата взята за основу.

Arduino UNO была разработана итальянскими инженерами как одна из основных плат, имеющих открытую архитектуру. По мере увеличения популярности, у платы появилось множество «клонов», полностью совместимых по программной и аппаратной части. На рисунке №1 показан внешний вид платы Arduino UNO с обеих сторон.


arduino-uno.png  

Рисунок №1 – плата Arduino Uno

Как видно из рисунка, подключение к пинам микроконтроллера выполняется через штыревые линейки, распаянные по обе стороны платы. Таким образом разработчик может связать ATMega328 с внешними устройствами при помощи макетных проводов. Также под топологию Arduino Uno создано огромное количество шилдов, обеспечивающих дополнительный функционал путём их каскадного включения. Пример такого включения показан на рисунке №2.

arduino-uno-shild.jpg

Рисунок №2 – Arduino Uno и шилд для ЧПУ 

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

Удобно организованный доступ к портам микроконтроллера – это хорошо, но что ещё содержит Arduino Uno на своём борту? Разобраться в дополнительных деталях поможет рисунок №3, на котором обведены и подписаны все основные элементы платы и дана общая характеристика для штыревых контактов.

Те, кто хочет дополнительно расширить свой кругозор, может ознакомиться с принципиальной схемой платы перейдя по этой ссылке.

 
raspinovka-arduino-uno.jpg

Рисунок №3 – распиновка платы Arduino Uno 


Программирование и связь с ПК

В левом верхнем углу (рисунок №3) расположен USB-разъём. Он выполняет две функции. Первая – организация канала обмена данными между микроконтроллером и ПК и вторая – запись прошивки в ATMega328.

На аппаратном уровне за связь с компьютером отвечает модуль последовательного интерфейса передачи данных (UART), который встроен в ATMega328 и выведен на контактах 0(RX) и 1(TX) платы Arduino Uno. Однако просто передавать данные на компьютер не получиться. Посредником между ATmega328 и компьютером выступает отдельно установленный микроконтроллер ATMega16. Его специальная прошивка позволяет определять плату Arduino Uno как виртуальный СОМ-порт, когда та подключается к ПК. Обмен данными будет сопровождаться миганием соответствующих светодиодов RX и TX, расположенных справа от ATMega16.


Что касается записи прошивки, то этот процесс максимально упрощён и сводится к нажатию всего одной кнопки в среде Arduino IDE. Такая простота обусловлена тем, что Arduino Uno выпускается со встроенным прошитым загрузчиком, работающем по протоколу STK500. Следовательно, во внешнем программаторе нет никакой необходимости. Тем не менее, для любителей прошить контроллер напрямую, на плате предусмотрена колодка ICSP (справа посередине) для внутрисхемного программирования в обход загрузчика. Сам DFU-загрузчик находиться в ATMega16 и также может быть переписан путём внутрисхемного программирования через аналогичную колодку в верхней левой части платы.


Система питания

Для того, чтобы плата Arduino Uno могла функционировать, на неё необходимо подать питание. Сделать это можно несколькими способами, а именно:

  • Запитать непосредственно через USB-разъём с помощью шнура для программирования или связи с ПК;

  • Запитать от AC/DC адаптера с выходным напряжением 7-12В, подключившись через специальный разъём внешнего питания.

  • Подать напряжение 7-12В напрямую на вход Vin, который расположен на штыревой колодке питающей группы. При этом минусовой контакт источника питания следует соединить с одним из контактов GND платы.

Также, плата Arduino Uno, предоставляет пользователю два контакта, на которых присутствуют напряжения 5В и 3,3В. Эти напряжения формируются встроенными линейными стабилизаторами при любом из вышеперечисленных способов питания. Максимальный ток, который способен обеспечить вывод 3,3В равен 50мА. Некоторые «умельцы» питают плату через один из этих выводов, однако это чревато выходом последней из строя, так как входное напряжение идёт в обход стабилизатора и любой скачок просто-напросто спалит микроконтроллер.


Вывод GND говорит сам за себя и является общим минусом. Все выводы GND на плате соединены между собой. Следует обратить внимание, что большинство странных глюков в работе с платой Arduino Uno связаны с тем, что разработчик проекта забывает соединить вывод GND платы Arduino с соответствующими выводами других модулей и датчиков, которые используются в проекте.

Вывод IOREF, служит для информирования подключаемых к Arduino Uno модулей или шилдов об уровне бортового напряжения. Если подключаемый модуль имеет возможность работать как с 5В, так и с 3,3В, то прочитав значение на выводе IOREF, он может выбрать для себя соответствующий режим работы.


Порты ввода/вывода

Arduino Uno предоставляет пользователю 14 цифровых и 6 аналоговых выводов. Цифровые выводы имеют нумерацию от 0 до 13 и способны работать в двух направлениях, т.е. каждый из них может быть как входом, так и выходом. Направление определяется функцией pinMode(). Помимо этого, для каждого цифрового пина имеется возможность программно включить подтягивающий резистор, соединённый с плюсом питания микроконтроллера. Номинал подтягивающего резистора лежит в диапазоне 20-50кОм. Следует учитывать, что максимальное выходное  напряжение одного вывода составляет 5В, а максимальный ток — 40мА. Превышение допустимой нагрузки способно вывести микроконтроллер из строя.


Аналоговые выводы имеют обозначения А0-А5. Каждый из них соединён со встроенным 10-битным АЦП микроконтроллера ATMega328. Это означает, что мы можем одновременно измерять 6 напряжений и получать по 1024 значения для каждого канала. По умолчанию диапазон измеряемого напряжения равен 0-5В, т.е. при 0В значение АЦП будет равно 0, а при 5В значение АЦП станет равным 1023. Этот диапазон можно изменить подачей на вывод AREF своего опорного напряжения, которое станет верхней границей измерения. Если в аналоговых выводах нет необходимости, они без проблем могут использоваться как цифровые.

Помимо первичных функций, некоторые выводы Arduino Uno имеют дополнительные. Например:

  • выводы 3, 5, 6, 9, 10 и 11 способны формировать широтно-импульсную модуляцию (ШИМ) с помощью функции analogWrite().

  • выводы A4(SDA) и A5(SCL) представляют интерфейс связи по протоколу I2C.

  • выводы 10(SS), 11(MOSI), 12(MISO), 13(SCK) обеспечивают связь по SPI-интерфейсу.

  • выводы 0(RX) и 1(TX) — обеспечивают последовательный интерфейс передачи данных.

  • к выводу 13 подключен smd-светодиод, расположенный на плате.

  • RESET – подача низкого уровня на этот вывод приведёт к сбросу микроконтроллера.


Для удобства восприятия целесообразно всё свести в таблицу, которую можно использовать как «шпаргалку» при создании собственных проектов:




Пин Arduino Uno

Название пина в скетче

Альтернативная функция

Генерация ШИМ

Цифровой пин №0

0

Serial (RX)

 

Цифровой пин №1

1

Serial (TX)

 

Цифровой пин №2

2

Вход для внешних прерываний

 

Цифровой пин №3

3

Вход для внешних прерываний

есть

Цифровой пин №4

4

 

 

Цифровой пин №5

5

 

есть

Цифровой пин №6

6

 

есть

Цифровой пин №7

7

 

 

Цифровой пин №8

8

 

 

Цифровой пин №9

9

 

есть

Цифровой пин №10

10

SPI (SS)

есть

Цифровой пин №11

11

SPI (MOSI)

есть

Цифровой пин №12

12

SPI (MISO)

 

Цифровой пин №13

13

SPI (SCK) + светодиод

 

Аналоговый пин №А0

А0

 

 

Аналоговый пин №А1

А1

 

 

Аналоговый пин №А2

А2

 

 

Аналоговый пин №А3

А3

 

 

Аналоговый пин №А4

А4

I2C (SDA)

 

Аналоговый пин №А5

А5

I2C (SCL)

 

    

Полная карта выводов Arduino Uno показана на рисунке №4. На ней отражены все основные и альтернативные функции для каждого пина в отдельности, а также приведено соответствие физическим выводам ATMega328.

karta-vuvodov-arduino-uno.jpg

Рисунок №4 – карта выводов Arduino Uno 


Память

Так как основой платы Arduino Uno является микроконтроллер ATMega328, пользователь получает в своё распоряжение три типа памяти, которые присущи всей линейке микроконтроллеров AVR, а именно:


  • FLASH-память. Данная память используется для хранения прошивок, создаваемых программистом. Именно сюда будут записываться скомпилированные скетчи из среды программирования. Для Arduino Uno объём flash-памяти равен 32кб, два из которых отведены на специальную программу-загрузчик (bootloader). Bootloader нужен для упрощения процесса записи кода в микроконтроллер.

  • Энергонезависимая память EEPROM. Данный вид память даёт возможность сохранять данные, которые не будут удалены при отключении питания Arduino Uno. Для данной модификации платы, объём памяти EEPROM равен 1кБ. Зачастую эту память используют для сохранения всевозможных настроек. Следует помнить, что ресурс перезаписи EEPROM ограничен, поэтому следует грамотно оформлять код, чтобы увеличить срок службы памяти. Не стоит беспорядочно писать в ячейки новые данные. Делать это нужно как можно реже и только при необходимости. Для работы с энергонезависимой памятью в среде программирования Arduino IDE есть удобная библиотека, которая называется EEPROM.h.

  • Оперативная память SRAM. Эта память предназначена для хранения переменных и объектов, созданных во время выполнения программы. В распоряжении программиста имеется 2кБ памяти SRAM. В отличие от EEPROM, здесь все данные будут полностью удалены при отключении питания. На практике, особенно у неопытных программистов, эта память быстро заканчивается, и разработчик не может дальше развивать свой проект. Следует с самого начала грамотно планировать расход оперативной памяти, например, поменьше использовать глобальных переменных, следить за типами данных, а также хранить большие однотипные объёмы данных в памяти программ.


Подведение итогов

На основании вышеизложенного можно сделать вывод, что плата Arduino Uno является оптимальным вариантом как для начинающего, так и для опытного разработчика. Имея скромные размеры 7см на 5,5см, пользователь получает довольно широкий функционал, который может удовлетворить требования большинства проектов. Также огромным плюсом является бесчисленное множество библиотек с примерами, документации и обучающих материалов, что позволит в кратчайшие сроки реализовать задуманное на практике.


Часто задаваемые вопросы FAQ

Вопрос: Есть ли на плате Arduino Uno какая-нибудь встроенная защита от перегрузок?

Ответ: Да, некоторая защита имеется. Например, на плате установлены восстанавливаемые предохранители, предназначенные для защиты USB-порта персонального компьютера от перегрузок и замыканий. Порог срабатывания предохранителей равен 500мА. Если уровень потребления становиться выше – предохранители размыкаются.


Вопрос: Существует ли способ программно перезагрузить Arduino Uno, не используя кнопку или вывод RESET?.

Ответ:  Существует. В начале программы прописываем следующую функцию:

void(*resetFunc) (void) = 0;

и в нужном месте программы вызываем строку:

resetFunc();

Вопрос: Посоветуйте альтернативную среду разработки, вместо стандартной Arduino IDE.

Ответ: Как один из вариантов можно использовать PlatformIO.

 

Вопрос: Какой ресурс у памяти EEPROM.

Ответ: Производитель заявляет 100000 циклов перезаписи, которые должна гарантированно выдержать каждая ячейка.

 

Вопрос: почему нестабильно работает реле, подключенное к 13-му выводу Arduino UNO? Остальные выводы работают без сбоев.

Ответ: 13-й вывод соединён со светодиодом на плате через резистор 220 Ом, поэтому использовать этот вывод для питания нагрузок не стоит.

 

Источник: 3d-diy.ru

Купить модули, платы Ардуино в нашем интернет-магазине

Arduino — это электронная платформа, с открытым исходным кодом основанная на простой аппаратной части и простым в использование программным обеспечением. Платы Arduino предназначены для быстрой разработки электронных приложений для новичков и профессионалов. Среда разработки Arduino спроектирована для программирования новичками, язык программирования аналогичен C ++ дополненный некоторыми библиотеками. Arduino и Arduino -совместимые платы спроектированы таким образом, что бы при необходимости их можно было дополнять новыми компонентами.

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

  • Arduino uno
  • Arduino nano
  • Arduino mini

Наиболее известными брендами в области производства Arduino совместимых плат и модулей расширен ия являются следующие компании: Arduino, ArcBotics, Cubietech, DFRobot, Digital Angel, Embest, Innoexp, Maxbotix, MaxStream, mikroElektronika, Olimex, Pololu, Raspberry, Seeed Studio, Sparkfun, SpringRC, Waveshare.

Посмотреть и купить товар вы можете в наших магазинах в городах: Москва, Санкт-Петербург, Волгоград, Воронеж, Гомель, Екатеринбург, Ижевск, Казань, Минск, Набережные Челны, Нижний Новгород, Новосибирск, Омск, Ростов-на-Дону, Рязань, Самара, Саратов, Тверь, Томск, Тула, Тюмень, Уфа, Челябинск. Доставка заказа почтой, через систему доставки Pickpoint или через салоны «Евросеть» в следующие города: Тольятти, Барнаул, Ульяновск, Иркутск, Хабаровск, Ярославль, Владивосток, Махачкала, Томск, Оренбург, Кемерово, Новокузнецк, Астрахань, Пенза, Липецк, Киров, Чебоксары, Калининград, Курск, Улан-Удэ, Ставрополь, Сочи, Иваново, Брянск, Белгород, Сургут, Владимир, Нижний Тагил, Архангельск, Чита, Смоленск, Курган, Орёл, Владикавказ, Грозный, Мурманск, Тамбов, Петрозаводск, Кострома, Нижневартовск, Новороссийск, Йошкар-Ола и др.

Товары из группы «Arduino совместимые платы и робототехника» вы можете купить оптом и в розницу.

Источник: www.chipdip.ru

Обзор

Arduino UNO представляет из себя отладочный комплекс, выполненный на базе микроконтроллера ATMega328. Проще говоря – это обычная плата, которая является «посредником» между пользователем и микроконтроллером, позволяя удобно цепляться к его ножкам и загружать в него прошивку прямо из среды программирования. Помимо всего прочего, плата наделена некоторыми дополнительными функциями, которые будут подробно рассмотрены в данной статье. Продуманное исполнение, небольшой размер, множество библиотек и примеров кода, позволили Arduino UNO завоевать симпатии миллионов разработчиков электронных устройств. На сегодняшний день в Интернете можно найти огромное количество проектов, в которых данная плата взята за основу.

Arduino UNO была разработана итальянскими инженерами как одна из основных плат, имеющих открытую архитектуру. По мере увеличения популярности, у платы появилось множество «клонов», полностью совместимых по программной и аппаратной части. На рисунке №1 показан внешний вид платы Arduino UNO с обеих сторон.

arduino-uno.png  

Рисунок №1 – плата Arduino Uno

Как видно из рисунка, подключение к пинам микроконтроллера выполняется через штыревые линейки, распаянные по обе стороны платы. Таким образом разработчик может связать ATMega328 с внешними устройствами при помощи макетных проводов. Также под топологию Arduino Uno создано огромное количество шилдов, обеспечивающих дополнительный функционал путём их каскадного включения. Пример такого включения показан на рисунке №2.

arduino-uno-shild.jpg

Рисунок №2 – Arduino Uno и шилд для ЧПУ 

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

Удобно организованный доступ к портам микроконтроллера – это хорошо, но что ещё содержит Arduino Uno на своём борту? Разобраться в дополнительных деталях поможет рисунок №3, на котором обведены и подписаны все основные элементы платы и дана общая характеристика для штыревых контактов.

Те, кто хочет дополнительно расширить свой кругозор, может ознакомиться с принципиальной схемой платы перейдя по этой ссылке.

 raspinovka-arduino-uno.jpg

Рисунок №3 – распиновка платы Arduino Uno 


Программирование и связь с ПК

В левом верхнем углу (рисунок №3) расположен USB-разъём. Он выполняет две функции. Первая – организация канала обмена данными между микроконтроллером и ПК и вторая – запись прошивки в ATMega328.

На аппаратном уровне за связь с компьютером отвечает модуль последовательного интерфейса передачи данных (UART), который встроен в ATMega328 и выведен на контактах 0(RX) и 1(TX) платы Arduino Uno. Однако просто передавать данные на компьютер не получиться. Посредником между ATmega328 и компьютером выступает отдельно установленный микроконтроллер ATMega16. Его специальная прошивка позволяет определять плату Arduino Uno как виртуальный СОМ-порт, когда та подключается к ПК. Обмен данными будет сопровождаться миганием соответствующих светодиодов RX и TX, расположенных справа от ATMega16.

Что касается записи прошивки, то этот процесс максимально упрощён и сводится к нажатию всего одной кнопки в среде Arduino IDE. Такая простота обусловлена тем, что Arduino Uno выпускается со встроенным прошитым загрузчиком, работающем по протоколу STK500. Следовательно, во внешнем программаторе нет никакой необходимости. Тем не менее, для любителей прошить контроллер напрямую, на плате предусмотрена колодка ICSP (справа посередине) для внутрисхемного программирования в обход загрузчика. Сам DFU-загрузчик находиться в ATMega16 и также может быть переписан путём внутрисхемного программирования через аналогичную колодку в верхней левой части платы.


Система питания

Для того, чтобы плата Arduino Uno могла функционировать, на неё необходимо подать питание. Сделать это можно несколькими способами, а именно:

  • Запитать непосредственно через USB-разъём с помощью шнура для программирования или связи с ПК;

  • Запитать от AC/DC адаптера с выходным напряжением 7-12В, подключившись через специальный разъём внешнего питания.

  • Подать напряжение 7-12В напрямую на вход Vin, который расположен на штыревой колодке питающей группы. При этом минусовой контакт источника питания следует соединить с одним из контактов GND платы.

Также, плата Arduino Uno, предоставляет пользователю два контакта, на которых присутствуют напряжения 5В и 3,3В. Эти напряжения формируются встроенными линейными стабилизаторами при любом из вышеперечисленных способов питания. Максимальный ток, который способен обеспечить вывод 3,3В равен 50мА. Некоторые «умельцы» питают плату через один из этих выводов, однако это чревато выходом последней из строя, так как входное напряжение идёт в обход стабилизатора и любой скачок просто-напросто спалит микроконтроллер.

Вывод GND говорит сам за себя и является общим минусом. Все выводы GND на плате соединены между собой. Следует обратить внимание, что большинство странных глюков в работе с платой Arduino Uno связаны с тем, что разработчик проекта забывает соединить вывод GND платы Arduino с соответствующими выводами других модулей и датчиков, которые используются в проекте.

Вывод IOREF, служит для информирования подключаемых к Arduino Uno модулей или шилдов об уровне бортового напряжения. Если подключаемый модуль имеет возможность работать как с 5В, так и с 3,3В, то прочитав значение на выводе IOREF, он может выбрать для себя соответствующий режим работы.


Порты ввода/вывода

Arduino Uno предоставляет пользователю 14 цифровых и 6 аналоговых выводов. Цифровые выводы имеют нумерацию от 0 до 13 и способны работать в двух направлениях, т.е. каждый из них может быть как входом, так и выходом. Направление определяется функцией pinMode(). Помимо этого, для каждого цифрового пина имеется возможность программно включить подтягивающий резистор, соединённый с плюсом питания микроконтроллера. Номинал подтягивающего резистора лежит в диапазоне 20-50кОм. Следует учитывать, что максимальное выходное  напряжение одного вывода составляет 5В, а максимальный ток — 40мА. Превышение допустимой нагрузки способно вывести микроконтроллер из строя.

Аналоговые выводы имеют обозначения А0-А5. Каждый из них соединён со встроенным 10-битным АЦП микроконтроллера ATMega328. Это означает, что мы можем одновременно измерять 6 напряжений и получать по 1024 значения для каждого канала. По умолчанию диапазон измеряемого напряжения равен 0-5В, т.е. при 0В значение АЦП будет равно 0, а при 5В значение АЦП станет равным 1023. Этот диапазон можно изменить подачей на вывод AREF своего опорного напряжения, которое станет верхней границей измерения. Если в аналоговых выводах нет необходимости, они без проблем могут использоваться как цифровые.

Помимо первичных функций, некоторые выводы Arduino Uno имеют дополнительные. Например:

  • выводы 3, 5, 6, 9, 10 и 11 способны формировать широтно-импульсную модуляцию (ШИМ) с помощью функции analogWrite().

  • выводы A4(SDA) и A5(SCL) представляют интерфейс связи по протоколу I2C.

  • выводы 10(SS), 11(MOSI), 12(MISO), 13(SCK) обеспечивают связь по SPI-интерфейсу.

  • выводы 0(RX) и 1(TX) — обеспечивают последовательный интерфейс передачи данных.

  • к выводу 13 подключен smd-светодиод, расположенный на плате.

  • RESET – подача низкого уровня на этот вывод приведёт к сбросу микроконтроллера.

Для удобства восприятия целесообразно всё свести в таблицу, которую можно использовать как «шпаргалку» при создании собственных проектов:

Пин Arduino Uno

Название пина в скетче

Альтернативная функция

Генерация ШИМ

Цифровой пин №0

0

Serial (RX)

 

Цифровой пин №1

1

Serial (TX)

 

Цифровой пин №2

2

Вход для внешних прерываний

 

Цифровой пин №3

3

Вход для внешних прерываний

есть

Цифровой пин №4

4

 

 

Цифровой пин №5

5

 

есть

Цифровой пин №6

6

 

есть

Цифровой пин №7

7

 

 

Цифровой пин №8

8

 

 

Цифровой пин №9

9

 

есть

Цифровой пин №10

10

SPI (SS)

есть

Цифровой пин №11

11

SPI (MOSI)

есть

Цифровой пин №12

12

SPI (MISO)

 

Цифровой пин №13

13

SPI (SCK) + светодиод

 

Аналоговый пин №А0

А0

 

 

Аналоговый пин №А1

А1

 

 

Аналоговый пин №А2

А2

 

 

Аналоговый пин №А3

А3

 

 

Аналоговый пин №А4

А4

I2C (SDA)

 

Аналоговый пин №А5

А5

I2C (SCL)

 

    

Полная карта выводов Arduino Uno показана на рисунке №4. На ней отражены все основные и альтернативные функции для каждого пина в отдельности, а также приведено соответствие физическим выводам ATMega328.

karta-vuvodov-arduino-uno.jpg

Рисунок №4 – карта выводов Arduino Uno 


Память

Так как основой платы Arduino Uno является микроконтроллер ATMega328, пользователь получает в своё распоряжение три типа памяти, которые присущи всей линейке микроконтроллеров AVR, а именно:

  • FLASH-память. Данная память используется для хранения прошивок, создаваемых программистом. Именно сюда будут записываться скомпилированные скетчи из среды программирования. Для Arduino Uno объём flash-памяти равен 32кб, два из которых отведены на специальную программу-загрузчик (bootloader). Bootloader нужен для упрощения процесса записи кода в микроконтроллер.

  • Энергонезависимая память EEPROM. Данный вид память даёт возможность сохранять данные, которые не будут удалены при отключении питания Arduino Uno. Для данной модификации платы, объём памяти EEPROM равен 1кБ. Зачастую эту память используют для сохранения всевозможных настроек. Следует помнить, что ресурс перезаписи EEPROM ограничен, поэтому следует грамотно оформлять код, чтобы увеличить срок службы памяти. Не стоит беспорядочно писать в ячейки новые данные. Делать это нужно как можно реже и только при необходимости. Для работы с энергонезависимой памятью в среде программирования Arduino IDE есть удобная библиотека, которая называется EEPROM.h.

  • Оперативная память SRAM. Эта память предназначена для хранения переменных и объектов, созданных во время выполнения программы. В распоряжении программиста имеется 2кБ памяти SRAM. В отличие от EEPROM, здесь все данные будут полностью удалены при отключении питания. На практике, особенно у неопытных программистов, эта память быстро заканчивается, и разработчик не может дальше развивать свой проект. Следует с самого начала грамотно планировать расход оперативной памяти, например, поменьше использовать глобальных переменных, следить за типами данных, а также хранить большие однотипные объёмы данных в памяти программ.


Подведение итогов

На основании вышеизложенного можно сделать вывод, что плата Arduino Uno является оптимальным вариантом как для начинающего, так и для опытного разработчика. Имея скромные размеры 7см на 5,5см, пользователь получает довольно широкий функционал, который может удовлетворить требования большинства проектов. Также огромным плюсом является бесчисленное множество библиотек с примерами, документации и обучающих материалов, что позволит в кратчайшие сроки реализовать задуманное на практике.


Часто задаваемые вопросы FAQ

Вопрос: Есть ли на плате Arduino Uno какая-нибудь встроенная защита от перегрузок?

Ответ: Да, некоторая защита имеется. Например, на плате установлены восстанавливаемые предохранители, предназначенные для защиты USB-порта персонального компьютера от перегрузок и замыканий. Порог срабатывания предохранителей равен 500мА. Если уровень потребления становиться выше – предохранители размыкаются.


Вопрос: Существует ли способ программно перезагрузить Arduino Uno, не используя кнопку или вывод RESET?.

Ответ:  Существует. В начале программы прописываем следующую функцию:

void(*resetFunc) (void) = 0;

и в нужном месте программы вызываем строку:

resetFunc();

Вопрос: Посоветуйте альтернативную среду разработки, вместо стандартной Arduino IDE.

Ответ: Как один из вариантов можно использовать PlatformIO.

 

Вопрос: Какой ресурс у памяти EEPROM.

Ответ: Производитель заявляет 100000 циклов перезаписи, которые должна гарантированно выдержать каждая ячейка.

 

Вопрос: почему нестабильно работает реле, подключенное к 13-му выводу Arduino UNO? Остальные выводы работают без сбоев.

Ответ: 13-й вывод соединён со светодиодом на плате через резистор 220 Ом, поэтому использовать этот вывод для питания нагрузок не стоит.

 

Источник: 3d-diy.ru

Платы Ардуино

Ардуино является платой с процессором, которая позволяет собрать любое устройство/гаджет. Благодаря Arduino своими руками можно собрать даже свой собственный «умный дом».

Arduino — это эффективная аппаратно-программная платформа для проектирования и создания новых устройств, разработанная компанией Arduino Software и представляет собой плату с контактами для подключения дополнительных компонентов. Технические характеристики устройства зависят от модели используемого микроконтроллера.

Это касается совместимости с дополнительными компонентами. Последнее обновление программной части 1.8.0 было выпущено 20 декабря 2016 года.

Arduino Uno R3
Arduino Uno R3

Бесплатная программная интегрированная среда разработки создана на базе языков программирования C/C++ и обладает одноимённым с самим устройством название. Наличие Ардуино-совместимых плат расширяет пользовательские возможности разработки с применением аппаратных и программных компонентов.

После того как вы приобрели плату Ардуино и решили что-то сделать — изучите наш полезный и подробный материал Ардуино Нано для начинающих, где мы подробно описали все основные шаги по работе с платой и установке необходимого программного обеспечения. Также вы можете сразу перейти к Урокам или посмотреть лучшие Публикации.

Что можно сделать из Ардуино

На базе Arduino можно создаются автономные и подключаемые к компьютеру проекты. Миллионы возможных комбинаций элементов программы ограничиваются только человеческой фантазией. Устройство способно получать и обрабатывать данные об окружающем мире, используя присоединяемые и программируемые датчики, такие как:

  • датчик дождя,
  • датчик расстояния,
  • датчик температуры,
  • детектор пыли,
  • GPS приемник,
  • и др.

Вы можете запрограммировать систему быстро среагировать на определённое изменение, можете управлять:

  • светом,
  • движущимися элементами,
  • моторчиками
  • и разнообразными приводами.

Система подходит для домашнего и промышленного использования.

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

При их отсутствии можно приобрести дополнительный модуль, добавляющий новые функции. Большая открытая база готовых проектов и чертежей CAD открывает пользователю возможности для углублённого изучения среды, порождая новые идеи для создания собственного устройства.

Преимущества линейки плат

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

Несмотря на высокую конкуренцию, Ардуино признана самой популярной аппаратно-программной платформой. Это достигается благодаря простоте с многофункциональностью. Рассмотрим преимущество системы над сторонними аналогами:

  1. Плата обладает встроенным программатором, что позволяет использовать систему без дополнительного подключения дешифратора и компилятора;
  2. Программная часть построена на базе C/C++, что делает её простой в использовании и изучении;
  3. Наличие библиотеки готовых проектов и чертежей CAD, доступных для свободного использования;
  4. Для сбора устройства не требуется пайка, компоненты соединяются при помощи специальной макетной доски, перемычек и проводов;
  5. Возможность автономной работы расширяет сферу применения устройства;
  6. Наличие версии для работы с популярной мобильной операционной системой Android;
  7. Большое количество дополнительных модулей как от разработчика, так и от сторонних производителей.

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

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

Доступный язык программирования обладает возможностью установки дополнительных компонентов и библиотек. Модули добавляют возможность работы с Java.

Что такое Arduino IDE

Arduino IDE — бесплатная среда разработки для Ардуино. Для работы платы и вашего будущего проекта необходимо написать и загрузить на Arduino скетч. IDE помогает с легкостью всё это реализовать.

Для выполнения данного пункта вам понадобятся:

  • Любая плата Ардуино;
  • USB-кабель;
  • компьютер.

Скачать Arduino IDE можно с официального сайта производителя плат Arduino. Вместе с программой автоматически установятся драйвера для определения платы при подключении к USB-порту. Среда разработки оснащена стандартным менеджером добавления библиотек в виде исходного кода на языке C++. Данная возможность расширяет применение компонентов, добавляя новый функционал.

На плате Ардуино должен загореться зелёный светодиод при подключении к USB. Запустите приложение и приступайте к созданию собственного скетча.

Проверка работоспособности и совместимости Arduino с ПО можно проверить при помощи встроенного скетча «Моргание» (англ. — blink). Запуск данной программы должен вызвать мигание светодиода на плате.

Выберите в меню:

Tool -> Board -> Плата

Выберите используемую плату. Далее загружаем скетч в Arduino при помощи кнопки Upload. Успешное завершение данной операции подтверждается миганием светодиода оранжевого цвета на плате.

Для более подробного изучения среды разработки предлагаем вам наш большой материал про Arduino IDE.

Модели плат

Существует несколько разновидностей плат Ардуино, которые различаются по частоте процессора, объеме памяти и поддерживаемым архитектурам. Можно выделить следующие модели:

  1. Arduino Uno. Хорошее решение для начинающих пользователей и простых проектов. Поддерживает работу с Windows, Linux и MacOS. Встроенный микропроцессор работает на частоте 16 МГц, обладает 32 Кб встроенной памяти. Включается в комплекты для начинающих;
  2. Arduino Yun. Комплект с встроенным портом Ethernet и модулем WiFi. Оптимизирован для работы с семейством Linux. Подойдёт для работы как с любительскими, так и промышленными проектами;
  3. Arduino ADK. Устройство оптимизировано для работы с платформой Android. Хорошая совместимость и уникальный программный комплект позволяют создать проект, управляемый с мобильного телефона;
  4. Arduino Due. Улучшенная версия, работающая на мощном 32 битном ARM процессоре с тактовой частотой 84 МГц. В плату установлено 96 Кб SRAM и 512 Кб флеш-памяти.
  5. Arduino Nano. Одна из самых миниатырных, но очень полезных и популярных плат особенностью которой является разъем USB.

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

Полностью раскрыть потенциал Arduino позволяют дополнительные модули, подключающиеся к выводам платы, которые называют пинами (англ. — PIN). Наиболее интересные и популярные модули расширения:

  1. 3D-джойстик. Своеобразный программируемый 3D-стик, способный стать способом управления спроектированного механизма или робота;
  2. Bluetooth-модуль. Даёт возможность управления механизмом или обменом данными через Bluetooth;
  3. EasyVR Shield 3.0. Разработка, служащая для распознавания голосовых команд;
  4. Espruino Pico. Контролер, позволяющий выполнять Java-скрипты, расширяя варианты применения платы;
  5. GPRS Shield. Расширение, позволяющее принимать и отправлять голос, SMS и GPRS-данные;
  6. Motor Shield. Подключаемый модуль, позволяющий программно управлять двумя моторчиками;
  7. Power Bank. Аккумулятор для переносных компактных модулей на 2000 МАч.

Это далеко не весь список, а лишь популярные и распространённые дополнения. Существуют разнообразные подключаемые картридеры, акселерометры, передатчики и модули для разнообразных сфер жизнедеятельности. Arduino начинает эффективно применяться даже в медицине.

Источник: ArduinoPlus.ru

Прежде чем мы начнем работать с Arduino, мы должны собрать необходимые компоненты системы. Arduino — это проект «Open Hardware», ознчающий, что мы можем копировать, изменять и создавать свои собственные комплекты.

Это, безусловно, дешевле, чем покупка готовой платы. Недостатком создания собственного Arduino является то, что необходимо иметь соответствующую базу для программирования системы, сборки отдельных элементов. Для тех, кто еще делает первые шаги в электронике, настоятельно рекомендуем купить готовую плату.

На рынке существуют различные платформы Arduino. Самой популярной из них является Arduino UNO, которая построена с использованием микроконтроллера Аtmega328 с тактовой частотой 16МГц.

Arduino UNO

Другим популярным вариантом является Arduino MEGA, оснащенная микропроцессором Аtmega1280. MEGA от UNO отличается используемым микроконтроллером, который имеет большее количество выводов, а также дополнительной FLASH-памятью для программы.

Arduino MEGA

Ниже приведены параметры типовых плат Arduino:

arduino-neobxodimye-komponenty-2

Как видно из таблицы, Arduino MEGA является улучшенной версией с большим количеством возможностей как аппаратного, так и программного обеспечения.

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

Важным элементом, необходимым для правильной работы системы (программирование, тестирование) является — IDE, который позволяет писать и заливать программу в микроконтроллер, а также общаться с Arduino через USB-порт.

Arduino IDE — это бесплатный пакет, распространяемый под GPL. Он имеет несложную структуру для быстрого интуитивного управления проектами. Arduino IDE работает на любой популярной операционной системе. Нет никакой разницы в использовании пакета с ОС Windows или Linux.

Пакет Arduino IDE позволяет нам выбрать модель платы. В списке находятся все популярные разновидности Arduino. Arduino IDE можно скачать непосредственно со страницы сайта проекта.

Пользователи Windows должны установить драйвера для устройства USB. Необходимые драйверы доступны непосредственно в пакете Arduino IDE в каталоге «drivers». Там находятся, по крайней мере, два драйвера.

Первый поддерживает комплект Arduino, у которого USB-конвертер полностью интегрирован с микроконтроллером Atmega, а второй предназначен для аппаратных комплектов FTDI. Выбор драйвера зависит, конечно, от модели Arduino. После установки драйвера устройство готово к работе.

Описанные выше элементы представляют собой минимально необходимыми для начала работы. Однако, желательно приобрести еще дополнительные элементы, которые дополняют и облегчают конструирование устройств.

Основой для быстрой сборки и тестирования системы является макетная плата и набор соединительных проводов.

Кроме того, стоит накопить немного мелочей, таких как:

  • Постоянные резисторы
  • Потенциометры
  • Конденсаторы
  • Светодиоды
  • Фоторезисторы
  • Кнопки
  • Различные датчики
  • Зуммер
  • Сервопривод
  • Двигатель постоянного тока
  • LCD (ЖК-дисплей, например, 16×2)

Приобретя эти компоненты, мы можем приступить к изучению программирования и построению различных полезных устройств, основанных на Arduino.

Источник: www.joyta.ru


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

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.