Arduino nano: обзор и характеристики платы от arduino

Содержание

Из чего состоит плата Arduino?

Выпускаются различные модели Arduino. Каждая из них «заточена» для различных задач. Некоторые платы принципиально отличаются от приведенной на рисунке ниже. Но большинство из них имеют следующие одинаковые узлы:

Разъем питания (USB / разъем для адаптера)

Каждая плата Arduino должна подключаться к источнику питания. Arduino Uno может запитываться от USB кабеля от вашего персонального компьютера Или от отдельного адаптера, который подключается к предусмотренному на плате разъему. На рисунке соединение через USB отмечено (1), а разъем для внешнего источника питания — (2).

USB также используется для загрузки вашей программы (скетча) на плату.

Примечание! Не используйте источник питания с напряжением на выходе более 20 вольт. Это может привести к тому, что ваша плата перегорит. Рекомендуемое напряжение питания для Arduino — от 6 до 12 вольт.

Разъемы (пины) (5V, 3.3V, GND, Analog, Digital, PWM, AREF)

Пины на вашей плате Arduino — это предусмотренные разъемы, к которым вы будете подключать провода от периферийных устройств (очень часто для прототипов используют монтажные платы (макетная плата, макетка) и провода с коннекторами на концах). На Arduino несколько типов пинов, каждый из которых подписан в соответствии с выполняемой функцией.

  • GND (3): сокращение от ‘Ground’ — ‘Земля’. На платах несколько пинов GND, каждый из которых может использоваться для заземления вашей электрической цепи.
  • 5V (4) и 3.3V (5): как вы могли уже догадаться — питы, которые на выходе обеспечивают питание 5 вольт и 3.3 вольт соответственно. Большинство компонентов, которые подключаются к Arduino, благополучно питаются именно от 5 или 3.3 вольт.
  • Analog (6): на участке, который подписан ‘Analog In’ (от A0 до A5 на Arduino Uno) расположены аналоговые входы. Эти пины позволяют считывать сигналы от аналоговых датчиков (например, датчик температуры) и преобразовывать их в цифровые значения, которыми мы в дальнейшем оперируем.
  • Digital (7): напротив аналоговых пинов находятся цифровые пины (от 0 до 13 на Arduino Uno). Эти пины используются для цифровых входящих (input) сигналов (например, нажатие кнопки) и для генерации цифровых исходящих (output) сигналов (например, питание светодиода).
  • PWM (8): вы наверное заметили знак (~) рядом с некоторыми цифровыми пинами (3, 5, 6, 9, 10, и 11 на UNO). Эти пины работаю как в обычном цифровом режиме, так и в режиме ШИМ-модуляции (PWM). Если объяснить вкратце — эти пины могут имитировать аналоговый выходной сигнал (например, для постепенного затухания светодиода).
  • AREF (9): Этот пин используется достаточно редко. В некоторых случаях это подключают в схему для установки максимального значения напряжения на аналоговых входах (от 0 до 5 вольт).

Кнопка сброса (Reset Button)

Как и на оригинальных Nintendo, на Arduino есть кнопка сброса (reset) (10). При нажатии на нее контакт сброса замыкается с землей и код, загруженный на Arduino начинает отрабатывать заново. Полезная опция, если ваш код отрабатывает без повторов, но вы хотите протестить его работу.

Индикатор питания (Power LED)

Немного справа и ниже надписи “UNO” установлен светодиод, подписанный «on» (11). Этот светодиод должен загореться, когда вы подключили Arduino к источнику питания. Если светодиод не загорелся — плохой знак ;).

Светодиоды TX и RX

TX — сокращение от transmit (передача), RX — от receive (прием). Эти условные обозначения часто встречаются в электронике для обозначения контактов, которые отвечают за серийный обмен данным. На Arduino Uno эти контакты встречаются два раза на цифровых пинах 0 и 1 и в качестве светодиодов TX и RX (12). Эти светодиоды позволяют визуально отслеживать, передает или принимает данные Arduino (например, при загрузке программы на плату).

Главная интегральная микросхема (IC)

Черная деталь с металлическими коннекторами с двух сторон это интегральная микросхема, микропроцессор (IC или Integrated Circuit) (13). Можете смело считать, что это «мозги» нашей Arduino. Этот чип разный в разных моделях Arduino, но обычно он относится к линейке микропроцессоров ATmega от компании ATMEL

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

Для дополнительной информации о вашей микросхеме стоит обратиться к ее даташиту.

Регулятор напряжения

Регулятор напряжения (14) is выполняет функцию, указанную в названии — контролирует напряжение, которое поступает на плату Arduino. Можете его себе представить как охранника, который не пропускает слишком большое напряжение на плату во избежание ее повреждений. Конечно же, у регулятора есть свой предел. Так что питать Arduino напряжением больше 20 вольт нельзя.

Самодельный Arduino из контроллера ATMEGA328P-PU

16 Июн 2014

Платформа Arduino стала нынче практически мейнстримом.
В этой статье напишу о том, как собрать минимальную платформу на контроллере Amega 328P-PU, чтобы ее можно было программировать на платформе Arduino IDE.

Контроллер Atmega 328 от компании ATMEL является сердцем платформ Arduino UNO , Arduino Nano, Arduino Pro Mini и ряда других. Данные платы вместе с многочисленными «шилдами» и модулями удобны для создания прототипов, но довольно громоздки и избыточны для готовых устройств.

Конечное устройство можно собрать на макетной или печатной плате. Для этого приобретаем контроллеры Atmega. Я покупал наплощадке aliexpress.com.

Цена на момент покупки была $20 за 10 контроллеров, 10 панелек и 10 кварцевых резонаторов на 16МГц. (Сейчас цена стала немного дороже)

Буковка «P» в названии микросхемы означает низкое энергопотребление, а PU-корпус DIP28, который удобно паять обычным паяльником.

Контроллеры пришли, как их теперь готовить?

Yеобходимо установить загрузчик в наши контроллеры. Для этого используем плату Arduino Uno и купленный заранее очень дешевый программатор USBasp. Чтобы не мудрить с проводками, лучше сразу взять еще и такой переходник на 6-ти пиновый разъем ICSP.

Качаем и ставим драйвер программатора.

Описываем параметры микроконтроллера в файле c:\Program Files (x86)\Arduino\hardware\arduino\boards.txt

Для себя я сделал две конфигурации — внутренний кварц 8МГц с загрузчиком optiboot и отключенной проверкой на напряжение питания (чтобы можно было запитать микросхему вольт так от трех)

и точная такая же с внешним кварцевым резонатором на 16МГц.

Аккуратно вынимаем из панельки Arduino контроллер и ставим туда наш.

Запускам стандартную ArduinoIDE, выбираем в меню «Сервис->Программатор->USBasp», плату Atmega328 (3.3V, 8 MHz internal) или Atmega328_16 (3.3V, 16 MHz external) и нажимаем «Записать загрузчик». После окончания процесса загрузки мы получаем контроллер,  в который можно уже в дальнейшем заливать программы через стандартный USB Ардуины.

В принципе, если вам не требуется низковольтное питание, можно не править фал board.txt, а пошить контроллер как Arduino Uno.

Дальнейшая работа с контроллером такая — либо шить его вставляя на плату Arduino Uno через стандартный USB порт этой платы. Прошив контроллер на работу с внутренним кварцем, можно сразу использовать его практически без всякой обвязки. Например, мигать светодиодом на 13-м порту, как на этой картинке.

Если же нужно постоянно использовать контроллер в своей плате, не переставляя его — то нужно собрать такую схему

и прошивать его через конвертер USB-RS232.

Контроллер с внешним кварцем работает быстрее и гораздо стабильнее.

Где это уже работает?
Контроллер управления вентилятором в ванной комнате

Контроллер управления светодиодной люстрой

А как же мозг не вскипел все это реализовывать?

Ну конечно же был помощник

Полезные ссылки к данной статье:

  • Конфигурация FUSE-бит для AVR контроллеров
  • Калькулятор FUSE-бит для AVR
  • Описание Atmega 328P-PU на сайте производителя
  • Даташит Atmega 328

Posted in Покупка на ALIEXPRESS.COM, Самодельный контроллер | Метки: aliexpress, Arduino, ATMEGA328, AVR

Подключение и настройка

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

  1. Первая построена на микроконтроллере ATmega328P и повторяет архитектуру Ардуино. Это означает полную совместимость с Arduino Shield’ами.
  2. Вторая базируется на микроконтроллере ATmega32U2, который служит для связи микроконтроллера ATmega328 с USB-портом компьютера.

В отличии от Arduino Uno, на STEMTera выведены пины микроконтроллера ATmega32U2, которыми можно управлять через Atmel Studio.

Рассмотрим более подробно оба варианта подключения.

Пример работы ATmega328

  1. Соедините STEMTera с компьютером по USB-кабелю. На плате должен загореться светодиод «ON».
  2. Соберите на новоиспечённой макетной плате первый эксперимент из набора Матрёшка — маячок.

  3. Для программирования платформы STEMTera в операционной системе Windows скачайте и установите на компьютер интегрированную среду разработки Arduino IDE. В диспетчере устройств платформа должна определиться как COM-порт с именем .

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

Пример работы ATmega32u2

Микроконтроллер ATmega32U2 при стандартной прошивке обеспечивает связь микроконтроллера ATmega328P с USB-портом компьютера.

Но в отличии от Arduino Uno, на STEMTera выведены пины микроконтроллера ATmega32U2.

После перепрошивки STEMTera не будет определяться как виртуальный в диспетчере устройств и микроконтроллер ATmega328 будет недоступен. Для восстановления доступа, прошейте ATme32U2 стандартной прошивкой.

Повторим эксперимент «маячок», но на этот раз мозгом устройства будет ATmega32U2.

Соедините STEMtera с компьютером по USB-кабелю. На плате должен загореться светодиод «ON».

Откройте «Диспетчер устройств» Windows и раскройте вкладку «Порты (COM и LPT)». Вы должны увидеть следующую картину:

Запустите плату STEMtera в режиме программирования Atmega32U2. Для этого с помощью провода «папа-папа» замкните пин с землёй.По истечению — секунд снимите провод «папа-папа»

Обратите внимание плата STEMtera определилась как устройство :

Повторите задание «маячок». Но светодиод вместо пина, подключите к пину .

Для работы STEMtera с микроконтроллером ATmega32U2 в операционной системе Windows скачайте и установите на компьютер интегрированную среду разработки микроконтроллеров семейства AVR — Atmel Studio.

Прошейте платформу примером приведённым ниже:blink

// подключаем необходимые библиотеки
#include
#define F_CPU 16000000
#include
#include
 
int main(void)
{
// порт B в режим выхода
DDRB = 0xFF;
// устанавливаем нули на выходе
PORTB = 0x00;
while (1)
{
// зажигаем светодиод
PORTB |= (1

Это значит всё получилось и можно дальше продолжать программировать более серьёзными программами.

Описание пинов платы

Микроконтроллер имеет 14 цифровых пинов, они могут быть использованы, как вход или выход. Из них 6 могут выдавать ШИМ-сигнал. Они нужны для регулировки мощности в нагрузке и других функций.

Пин ардуино Адресация в скетче Специальное назначение ШИМ
Цифровой пин 0 RX
Цифровой пин 1 1 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)
К выходу дополнительно подсоединен встроенный светодиод

Вызов ШИМ-сигнала осуществляется через команду AnalogWrite (номер ножки, значение от 0 до 255). Для работы с аналоговыми датчиками присутствует 6 аналоговых входов/выходов.

Пин Адресация в скетче Специальное назначение
Аналоговый пин A0 A0 или 14
Аналоговый пин A1 A1 или 15
Аналоговый пин A2 A2 или 16
Аналоговый пин A3 A3 или 17
Аналоговый пин A4 A4 или 18 I2C (SCA)
Аналоговый пин A5 A5 или 19 I2C (SCL)

Их тоже можно использовать, как цифровые.

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

Принципиальная схема платы выглядит так (нажмите для увеличения):

Механизм обнаружения сбоев синхронизации

Clock Failure Detection mechanism (CFD) – еще одно нововведение в ATmega328PB. Это схема цифровой логики с собственным генератором 128 кГц, предназначенная для отслеживания сбоев синхронизации (только для кварцевого резонатора и внешнего источника тактовой частоты) и автоматического переключения на встроенную схему RC-генератора 1 МГц.

Включение механизма контроля синхронизации выполняется автоматически на стадии программирования Fuse-битов выбора источника тактовой частоты (CKSEL) и активизируется только при тактовой частоте выше 256 кГц. При переходе микроконтроллера в режим пониженного энергопотребления схема контроля тактовой частоты отключается, и включается автоматически при пробуждении МК.

Как прошить Arduino UNO на примере Blink.

Запустить приложение Arduino IDE (подойдет любая версия).

Во вкладке Инструменты/Плата: выберите пункт “Arduino/Genuino Uno”

Подключите Arduino UNO к компьютеру с помощью USB кабеля.

Используйте для прошивки короткий кабель, который идет в комплект с платой! Потому что при использовании кабеля длинной более 30 сантиметров могут возникать помехи, из-за чего загрузка скетчей будет не возможна!

Во вкладке Инструменты выбрать порт, к которому подключена плата Arduino UNO.

В моем случае это COM7, у вас может быть другой! Выберите тот который появился при подключении платы!

Теперь откройте тестовый скетч во вкладке Файл/Примеры/Basics/Blink

Или скопируйте этот скетч и вставьте его в чистое окно редактирования приложения Arduino IDE.

В скетче прописана задержка 1 секунда delay(1000); между командами включить и выключить светодиод, можете отредактировать его на свое усмотрение, и нажмите загрузить.

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

Собираем всё вместе

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

Теперь следуйте следующим инструкциям:

  1. Запустите Atmel Studio 7.
  2. В стартовом окне слева нажмите New Project. Откроется окно нового проекта.
    Стартовое окно Atmel Studio 7
  3. В окне нового проекта нажмите GCC C Executable Project, назовите проект New Blink, как показано выше, и нажмите OK. Откроется окно выбора устройства Device Selection.
    Окно выбора устройства Device Selection
  4. В окне выбора устройства выберите AVR устройство, которое вы используете: ATmega328P или ATtiny45, как показано ниже. Нажмите OK. Будет создан новый проект, и будет открыто окно проекта New Blink.
    Окно проекта New Blink
  5. Нажмите на меню Tools, выберите External Tools…, и нажмите кнопку Add.
  6. В поле Title введите название инструмента, которой создаете; хорошо, если название описывает устройство. Например, вы можете ввести комбинацию названия программатора и названия устройства.
  7. В поле Comand введите путь к месту, куда установили AVRDude, плюс команду для запуска AVRDude.
  8. В поле Arguments введите одну из двух следующих строк, в зависимости от AVR контроллера, который используете.
    Для ATmega328P введите:

    Для ATtiny45 введите:

  9. В поле Initial directory введите путь к месту, куда установили AVRDude.
  10. Убедитесь, что поставлена галочка Use Output window, а в двух других чекбоксах галочки не стоят. Состояние окна должно быть похоже на скриншот ниже, но с учетом AVR контроллера, который вы используете.
    Окно добавления внешнего инструмента
  11. Нажмите Apply, а затем OK. Окно внешних инструментов должно закрыться.
  12. Скопируйте код программы, приведенный выше.
  13. Перейдите к окну New Blink.c в окне Atmel Studio 7 и вставьте в него код, приведенный выше.
    Код программы
  14. Если в правом верхнем углу Atmel Studio 7 не открыто окно менеджера проекта Solution Explorer, нажмите на выпадающее меню View и нажмите Solution Explorer. В правом верхнем углу должно появиться окно Solution Explorer.
  15. Кликните правой кнопкой на main.c и выберите «переименовать». Переименуйте файл main.c в New Blink.c.
  16. Нажмите на меню File и нажмите Save All.
  17. Нажмите на меню Build и нажмите Build Solution (собрать проект).
  18. Нажмите на меню Tools (инструменты) и нажмите на название инструмента, созданного в шагах с 5 по 11. Скомпилированный код New Blink должен будет быть загруже в AVR контроллер на вашей макетной плате, а светодиод LED1 должен начать мигать: ½ секунды включен, ½ секунды выключен, 60 раз в минуту.

Описание пинов и распиновка платы Arduino Nano

На рисунке показаны номера и назначения контактов Arduino Nano (вид со стороны, на которой расположен микроконтроллер Atmega328):

Каждый из 14 цифровых контактов Nano может быть настроен как вход или выход с помощью функций pinMode (), digitalWrite () и digitalRead (). Контакты работают при 5 В. Каждый вывод имеет подтягивающий резистор 20-50 кОм и может выдерживать до 40 мА. Некоторые пины имеют специальные функции:

  • Последовательная шина: 0 (RX) и 1 (TX). Контакты используются для приема (RX) и передачи (TX) данных TTL. Эти контакты подключаются к соответствующим контактам последовательного чипа FTDI USB to TTL.
  • Внешнее прерывание: 2 и 3. Эти выводы могут быть настроены на запуск прерывания по наименьшему значению, по нарастающему или спадающему фронту или при изменении значения. Подробнее см. Функцию attachInterrupt().
  • ШИМ: 3, 5, 6, 9, 10 и 11. Любой вывод обеспечивает 8-битный ШИМ с помощью функции analogWrite().
  • SPI: 10 (SS), 11 (MOSI), 12 (MISO), 13 (SCK). Эти контакты используются для связи SPI, которая, хотя и поддерживается оборудованием, не включена в язык Arduino.
  • Светодиод: 13. Встроенный светодиод, подключенный к цифровому выводу 13. Если вывод имеет высокий потенциал, светодиод горит.

Платформа Nano имеет 8 аналоговых входов, каждый с разрешением 10 бит (т. Е. Может принимать 1024 различных значения). Стандартно контакты имеют диапазон до 5 В относительно земли, однако верхний предел можно изменить с помощью функции analogReference (). Некоторые пины имеют дополнительные функции:

I2C: A4 (SDA) и A5 (SCL). Связь I2C (TWI) осуществляется через контакты. Для создания используется библиотека Wire.

Дополнительная пара штифтов платформы:

  • AREF. Опорное напряжение для аналоговых входов. Используется с analogReference().
  • Сброс настроек. Низкий уровень сигнала на выводе перезапускает микроконтроллер. Обычно он используется для подключения кнопки сброса на плате расширения, которая предотвращает доступ к кнопке на самой плате Arduino.

Расшифровка цвета

– серый цвет – физический вывод микроконтроллера Atmega328;

– светло-серый цвет (PD0, PD1 и т д.) – номер порта микроконтроллера, доступный для программ на ассемблере;

– зеленый цвет (ADC0 и т д.) – номера аналоговых выводов;

– синий цвет – контакты портов UART и SPI.

Назначение и обозначения выводов

USB – это USB-порт, предназначенный для подключения ардуины к компьютеру через USB-кабель (требуется разъем USB Mini-B).

VIN – сюда можно подавать питание от внешнего блока питания 7-12 В (блок питания приобретается отдельно). Напряжение будет подаваться на стабилизатор и упадет до 5 В. Поэтому оптимально на этот вывод подать примерно 9 В.

5V – через этот вывод можно запитать плату и от источника питания 5 вольт, однако напряжение должно быть более-менее стабильным, так как оно подается напрямую на микроконтроллер (стабилизатор не задействован), а значит высокое напряжение может убить основной микроконтроллер.

На этот вывод будет зафиксировано напряжение 3,3–3,3 В, которое генерируется внутренним стабилизатором платы. Этот вывод необходим для подключения некоторых внешних устройств, которым для работы требуется 3,3 В, обычно всех типов ЖК-дисплеев. Однако максимальный выходной ток не должен превышать 50 мА.

GND – Земля (заземляющий контакт).

AREF – это опорное напряжение для аналоговых входов. Используется по мере необходимости (настраивается с помощью analogReference()).

IOREF – позволяет узнать рабочее напряжение микроконтроллера. Редко используемый. На китайских столах он полностью отсутствует.

Reset – сбросить микроконтроллер, подать низкий уровень на этот вход.

SDA, SCL – вывод интерфейса TWI / I2C.

D0… D13 – цифровые входы / выходы. На контакте D13 висит встроенный светодиод, который загорается, если на контакте D13 ВЫСОКИЙ.

0 (RX), 1 (TX) – вывод порта UART (последовательный порт).

A1… A5 – аналоговые входы (также могут использоваться как цифровые).

Внешний вид платы Arduino Nano с подписанными выводами

Здесь:

Светодиоды RX + TX – светодиоды – мигают, когда данные передаются через последовательный порт UART (контакты RX и TX).

Кнопка сброса – кнопка перезапуска микроконтроллера;

(другие номиналы см выше)

FTDI USB Chip – микросхема FTDI FT323RL, используемая для подключения Arduino к компьютеру через USB-кабель. Со стороны Arduino это последовательный интерфейс. Этот интерфейс будет доступен на компьютере как виртуальный COM-порт (драйверы для микросхемы FTDI, обычно входящие в состав Arduino IDE, должны быть установлены).

Будет интересно Самые популярные проекты на Arduino

Схематично это выглядит так:

Номер пина, название, тип и описание пинов:

Семейства микроконтроллеров

Стандартные семейства:

  • tinyAVR (ATtinyxxx):
    • Флеш-память до 16 КБ; SRAM до 512 Б; EEPROM до 512 Б;
    • Число линий ввода-вывода 4-18 (общее количество выводов 6-32);
    • Ограниченный набор периферийных устройств.
  • megaAVR (ATmegaxxx):
    • Флеш-память до 256 КБ; SRAM до 16 КБ; EEPROM до 4 КБ;
    • Число линий ввода-вывода 23-86 (общее количество выводов 28-100);
    • Аппаратный умножитель;
    • Расширенная система команд и периферийных устройств.
  • XMEGA AVR (ATxmegaxxx):
    • Флеш-память до 384 КБ; SRAM до 32 КБ; EEPROM до 4 КБ;
    • Четырёхканальный DMA-контроллер;
    • Инновационная система обработки событий.

Как правило, цифры после префикса обозначают объём встроенной flash-памяти (в КБ) и модификацию контроллера. А именно — максимальная степень двойки, следующая за префиксом, обозначает объём памяти, а оставшиеся цифры определяют модификацию (напр., ATmega128 — объём памяти 128 КБ; ATmega168 — объём памяти 16 КБ, модификация 8; ATtiny44 и ATtiny45 — память 4 КБ, модификации 4 и 5 соответственно).[источник не указан 3304 дня]

На основе стандартных семейств выпускаются микроконтроллеры, адаптированные под конкретные задачи:

  • со встроенными интерфейсами USB, CAN, контроллером LCD;
  • со встроенным радиоприёмопередатчиком — серии ATAxxxx, ATAMxxx;
  • для управления электродвигателями — серия AT90PWMxxxx;
  • для автомобильной электроники;
  • для осветительной техники.

Кроме указанных выше семейств, ATMEL выпускает 32-разрядные микроконтроллеры семейства AVR32, которое включает в себя подсемейства AT32UC3 (тактовая частота до 66 МГц) и AT32AP7000 (тактовая частота до 150 МГц).

Версии контроллеров

AT (mega/tiny)xxx — базовая версия.
ATxxxL — версии контроллеров, работающих на пониженном (Low) напряжении питания (2,7 В).
ATxxxV — версии контроллеров, работающих на низком напряжении питания (1,8 В).
ATxxxP — малопотребляющие версии (до 100 нА в режиме Power-down), применена технология picoPower (анонсированы в июле 2007), повыводно и функционально совместимы с предыдущими версиями.
ATxxxA — уменьшен ток потребления, перекрывается весь диапазон тактовых частот и напряжений питания двух предыдущих версий (также, в некоторых моделях, добавлены новые возможности и новые регистры, но сохранена полная совместимость с предыдущими версиями). Микроконтроллеры «А» и «не-А» обычно имеют одинаковую сигнатуру, что вызывает некоторые трудности, так как Fuse-bit’ы отличаются.

Номер модели дополняется индексом, указывающим вариант исполнения. Цифры (8,10,16,20) перед индексом означают максимальную частоту, на которой микроконтроллер может стабильно работать при нормальном для него напряжении питания).

Первая буква индекса означает вариант корпуса:

АТxxx-P — корпус DIP
АТxxx-A — корпус TQFP
АТxxx-J — корпус PLCC
АТxxx-M — корпус MLF
АТxxx-MA — корпус UDFN/USON
АТxxx-C — корпус CBGA
АТxxx-CK — корпус LGA
АТxxx-S — корпус EIAJ SOIC
АТxxx-SS — узкий корпус JEDEC SOIC
АТxxx-T — корпус TSOP
АТxxx-TS — корпус (ATtiny4/5/9/10)
АТxxx-X — корпус TSSOP

Следующая буква означает температурный диапазон и особенности изготовления:

АТxxx-xC — коммерческий температурный диапазон (0 °C — 70 °C)
АТxxx-xA — температурный диапазон −20 °C — +85 °C, с использованием бессвинцового припоя
АТxxx-xI — индустриальный температурный диапазон (-40 °C — +85 °C)
АТxxx-xU — индустриальный температурный диапазон (-40 °C — +85 °C), с использованием бессвинцового припоя
АТxxx-xH — индустриальный температурный диапазон (-40 °C — +85 °C), с использованием NiPdAu
АТxxx-xN — расширенный температурный диапазон (-40 °C — +105 °C), с использованием бессвинцового припоя
АТxxx-xF — расширенный температурный диапазон (-40 °C — +125 °C)
АТxxx-xZ — автомобильный температурный диапазон (-40 °C — +125 °C)
АТxxx-xD — расширенный автомобильный температурный диапазон (-40 °C — +150 °C)

последняя буква R означает упаковку в ленты (Tape & Reel) для автоматизированных систем сборки.

Подключение и настройка

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

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

Память ATmega обладает 16 килобайтами флэш-памяти для хранения кода программы из которых 2 килобайта используется загрузчиком ; ATmega обладает 32 килобайтами из которых 2 килобайта также используется загрузчиком. Можно подавать ток на него и все это будет работать только при условии, что напряжение подаваемого тока строго равно пяти вольтам!

Эти выводы могут быть сконфигурированы для вызова прерывания по фронту или по спаду импульса или по изменению уровня на выводе. Конструктор Arduino создан для любителей электроники и робототехники начального уровня, чтобы помочь им обойти сложности низкоуровнего программирования микроконтроллеров, где требуются знания инженера-профи и опыт. Все выводы, цифровые и аналоговые, могут работать в диапазоне 0 … 5 В. Входы и выходы Каждый из 20 , на схеме аrduino nano распиновка помещены в сиреневые параллелограммы, на той же схеме в серых параллелограммах указаны выводы микроконтроллера цифровых выводов Arduino Nano может работать в качестве входа или выхода.

Распиновка Arduino Nano v 3.0

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

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

Если все прошло нормально, вы увидите сообщение «загрузка успешно завершена». Вместе с тем активное распространение Ардуино-плат для освоения разработки и проектирования устройств на микроконтроллерных системах породило новый виток в вопросе качества и эргономики.

Пришлось это сделать вручную. Arduino Nano 2.
Уроки Ардуино #0 — что такое Arduino, куда подключаются датчики и как питать Ардуино

Аrduino nano распиновка

Аrduino nano распиновка — в этой статье хочу уделить немного внимания аппаратной основе плат семейства Arduino Nano. Вариации аппаратного исполнения я описал под фото.

Распиновка Arduino Nano.

Питание

Arduino Nano может быть запитан через кабель mini(micro)-USB, от внешнего источника питания с нестабилизированным напряжением 6-20 В (через вывод 30, подавать на этот вывод больше 12 В настоятельно не рекомендуется) либо со стабилизированным напряжением 5В (через вывод 27). Устройство автоматически выбирает источник питания с наибольшим напряжением.

Напряжение на микросхему FTDI FT232RL подается только в случае питания Arduino Nano через USB. Поэтому при питании устройства от других внешних источников (не USB), выход 3.3 В (формируемый микросхемой FTDI) будет неактивен, в результате чего светодиоды RX и TX могут мерцать при наличии высокого уровня сигнала на выводах 0 и 1.

Входы и выходы

Каждый из 20 (0-19, на схеме аrduino nano распиновка помещены в сиреневые параллелограммы, на той же схеме в серых параллелограммах указаны выводы микроконтроллера) цифровых выводов Arduino Nano может работать в качестве входа или выхода. Рабочее напряжение выводов — 5В. Максимальный ток, который может отдавать один вывод, составляет 40 мА, но нагружать выходы более, чем на 20 мА не рекомендуется. При этом суммарная нагрузка по всем выводам не должна превышать 200 мА. Все выводы сопряжены с внутренними подтягивающими резисторами (по умолчанию отключенными) номиналом 20-50 кОм. Помимо основных, некоторые выводы Arduino Nano могут выполнять дополнительные функции:

Последовательный интерфейс:

Последовательный интерфейс: выводы 0 (RX) и 1 (TX). Используются для получения (RX) и передачи (TX) данных по последовательному интерфейсу. Эти выводы соединены с соответствующими выводами микросхемы-преобразователя USB-UART от FTDI.

Внешние прерывания: выводы 2 и 3. Данные выводы могут быть сконфигурированы в качестве источников прерываний, возникающих при различных условиях: при низком уровне сигнала, по фронту, по спаду или при изменении сигнала. Для получения дополнительной информации см. функцию attachInterrupt().

ШИМ: выводы 3, 5, 6, 9, 10 и 11. С помощью функции analogWrite() могут выводить 8-битные аналоговые значения в виде ШИМ-сигнала.

Интерфейс SPI: выводы 10 (SS), 11 (MOSI), 12 (MISO), 13 (SCK). Данные выводы позволяют осуществлять связь по интерфейсу SPI. В устройстве реализована аппаратная поддержка SPI.

Светодиод: вывод 13. Встроенный светодиод, подсоединенный к цифровому выводу 13. При отправке значения HIGH светодиод включается, при отправке LOW — выключается.

I2С: выводы 4 (SDA) и 5 (SCL). С использованием библиотеки Wire (документация на веб-сайте Wiring) данные выводы могут осуществлять связь по интерфейсу I2C (TWI).

Помимо перечисленных на плате существует еще несколько выводов:

AREF. Опорное напряжение для аналоговых входов. Может задействоваться функцией analogReference().

Reset. Формирование низкого уровня (LOW) на этом выводе приведет к перезагрузке микроконтроллера. Обычно этот вывод служит для функционирования кнопки сброса на платах расширения.

Аналоговые входы A0-А7: входы с 10-битным аналого-цифровым преобразователем (АЦП). Напряжение поданное на аналоговый вход, обычно от 0 до 5 вольт будет преобразовано в значение от 0 до 1023, это 1024 шага с разрешением 0.0049 Вольт. Источник опорного напряжения может быть изменен.

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

Схема соединений разъёмов J1 и J2.

Схема соединений микроконтроллера. В качестве МК могут быть применены ATMega 328P или ATMega 168P.

Схема соединений преобразователя USB-UART.

Есть версии плат с микросхемами CH340G(более капризные), в оригинальной версии стоит FT232RL. В базовой версии устанавливается разъём mini-USB, но попадаются версии и с более удобным разъёмом micro-USB.

Соединения цепей питания и разъёма ICSP. Есть версии плат с номинальным напряжением питания 5 В или 3,3 В.

Предыдущая запись Активная концертная акустика

Следующая запись Прибой Э014С

Заключение

Увеличенное количество коммуникационных интерфейсов, 10 каналов ШИМ, контроль тактовой частоты и, самое главное, поддержка сенсорного интерфейса QTouch значительно расширяют область применения микроконтроллера ATmega328PB. Это могут быть промышленные системы контроля и управления, драйверы светодиодных светильников, приборы учета, средства домашней автоматизации. Дополнительная информация доступна в техническом описании.

Микроконтроллер ATmega328PB поддерживается основными программными, аппаратными и системными отладочными инструментами, включая Atmel Studio 6 и Atmel Power Debugger. Кроме того, множество примеров, программных библиотек и вспомогательных инструментов доступно пользователям в Atmel Gallery.