Программатор на Ардуино Нано и Уно: прошивка через USB

Вопросы и ответы
Содержание
  1. Установка программного обеспечения Atmel FLIP
  2. Особенности установки драйверов
  3. Схема электрическая
  4. Схема ISCP «Ардуино Нано»
  5. Принципиальная схема контроллера платы
  6. SinaProg
  7. Запуск Arduino Nano
  8. Настройка Arduino
  9. Avrdude
  10. Прошивка и память Arduino v3 0 CH340G
  11. Виды памяти
  12. Связь с устройствами
  13. Arduino IDE, AVRDude
  14. Установка программного обеспечения
  15. Подготовка
  16. Загрузка прошивки ардуино
  17. Получение помощи
  18. Часто задаваемые вопросы о прошивке
  19. Какой COM-порт выбирать?
  20. Способы программирования
  21. Варианты прошивки Ардуино
  22. Прошивка с помощью Arduino IDE
  23. Прошивка с помощью программатора
  24. Прошивка AVRISP MKII в Arduino ATmega16U2
  25. Установка Atmel Studio
  26. Перепрошивка загрузчика Arduino в ATMEGA328P через ATMEGA16U2
  27. Элементы платы
  28. Микросхема платы FT232R
  29. Сердце платформы — микроконтроллер ATmega328P
  30. Светодиодная индикация
  31. Разъем mini-USB
  32. Линейный понижающий регулятор напряжения 5 В
  33. ICSP-разъем для ATmega328
  34. Ошибка компиляции
  35. Примеры проектов с Arduino Nano
  36. Подключение светодиодов к Arduino Nano
  37. Структура памяти Ардуино, где располагается скетч и данные
  38. Технические характеристики платы
  39. Порты ввода/вывода и питание
  40. Питание от внешнего источника

Установка программного обеспечения Atmel FLIP

На плате Arduino два микроконтроллера: ATMEGA328P (328P) и ATMEGA16U2 (16U2). Вы можете обновить прошивку 16U2, чтобы стать программистом AVRISP MKII, а затем использовать Atmel Studio для прошивки 328P.

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

Перед запуском прошивки Arduino вам понадобится программное обеспечение Atmel FLIP (Microchip) для обновления прошивки внутри 16U2.

Загрузите Flip с веб-сайта Microchip — отсюда. Установить. Проблем возникнуть не должно, просто следуйте инструкциям мастера установки.

Берем плату Arduino, отключаем питание и USB. Короткое замыкание контактов 5-6 на ICSP1 (при сбросе 16U2 будет низкий уровень).
Распиновка ICSP1

Это будет выглядеть так:

Затем подключите Arduino к USB. Отсоедините контакты ICSP1 (5-6). В этот момент 16U2 переходит в режим DFU. Новое устройство USB должно быть распознано.

Если драйвер не устанавливается автоматически, установите его из: C: Program Files AtmelFlip3.4.7usb»

Перейдите в диспетчер устройств: Win + Pause -> Оборудование -> Диспетчер устройств. Проверьте, правильно ли установлен драйвер. Его можно найти в Atmel USB -> ATmega16U2.

Особенности установки драйверов

При установке драйверов для Arduino Nano в ОС Windows система автоматически обнаружит необходимое программное обеспечение, если вы использовали установочный файл с официального сайта Arduino.

Если драйверы не были обнаружены и установлены системой, вам необходимо:

  1. Откройте панель управления.
  2. Зайдите в раздел «Система и безопасность».
  3. Переходим во вкладку «Система».
  4. Откройте диспетчер устройств.
  5. Откройте вкладку с портами COM и LPT.
  6. Если на плате нет порта USB UART FT232R или секции с разъемами COM и LPT, перейдите на вкладку «Другие устройства» и перейдите в раздел «Неизвестное устройство».
  7. Щелкните правой кнопкой мыши FT232R USB UART.
  8. Выберите «Обновить драйвер».
  9. Нажмите «Искать драйверы на моем компьютере».
  10. Выберите драйвер USB FTDI в папке с драйверами Arduino.

Если все сделано правильно, система сама завершит установку программного обеспечения AN.

Схема электрическая

Наиболее важными элементами платы Arduino Nano являются программатор (разъем ISCP) и микроконтроллер (ATmega328P). Каждый, кто будет работать с этой платой, должен знать их конструктивные, принципиальные схемы и назначение контактов.

Схема ISCP «Ардуино Нано»

Разъем ISCP (или SPI) — это программатор, через который скетч (код микроконтроллера платы) загружается в ATmega328P. Имеет 6 контактов. Проем первого из них выполнен в форме квадрата для удобства пользования.

Распиновка разъема:

  1. MISO: главный вход, подчиненный выход во время передачи данных.
  2. + VCC: напряжение питания.
  3. SCK: последовательный тактовый сигнал.
  4. MOSI: главный выход, подчиненный вход во время передачи данных.
  5. Восстановить: восстановить.
  6. GND: общий провод.

Принципиальная схема контроллера платы

Контроллер карты — ATmega328P. Ядром микросхемы является центральный процессор, к которому подключены 2 шины (шина данных и шина ввода / вывода), элементы управления (например, вывод сброса, отвечающий за сброс микроконтроллера) и память.

Типы памяти в контроллере:

  • SRAM;
  • Стремительный;
  • EEPROM.

На шину данных поступают следующие элементы:

  1. Сторожевой таймер.
  2. АЦП.
  3. Внешнее прерывание.
  4. Первый и второй счетчики таймера.
  5. USART и I2C (Atmel называет этот интерфейс TWI).

Подключено к шине данных ввода / вывода:

  1. Порты ввода / вывода.
  2. Счетчик нулевого часа.
  3. Интерфейс SPI.

Контроллер может быть реализован как в пакетах MLF, так и в пакетах PDIP. Arduino Nano имеет версию микроконтроллера MLF.

SinaProg

SinaProg — это уже более профессиональная и универсальная программа, разработанная неизвестными иранскими программистами. Однако сразу скажу, что эта программа является не чем иным, как графической оболочкой для утилиты AVRDude, о которой мы поговорим дальше.

Универсальная оболочка для AVRDude

  1. Выбираем файл прошивки
  2. Конфигурация программатора: выбираем…
  3. Ардуино,
  4. Приносит
  5. Скорость передачи

Последняя версия — 2.1.1

Запуск Arduino Nano

Чтобы начать работу с картой, необходимо подключить ее по USB к ПК. Сигнал питания будет поступать через тот же порт. Как только он будет подключен к плате, загорится синий сигнальный светодиод (в модели v.2.x он расположен в нижней части платы, в модели v.3.x — вверху).

Настройка Arduino

Чтобы настроить карту для работы с написанным кодом, в среде программирования необходимо:

  • перейдите в Инструменты;
  • пойти в Совет;
  • выберите пункт Arduino Duemilanove или Nano w / * модель микроконтроллера * (для v.2.x — ATmega168, для v.3.x — ATmega328);
  • перейдите в Инструменты;
  • перейти к последовательному порту;
  • нажмите Загрузить.

После нажатия кнопки «Загрузить» микроконтроллер будет сброшен и новый скетч будет загружен.

При возникновении проблем с прошивкой необходимо перейти в раздел «Устранение неполадок» и узнать, как их исправить.

Avrdude

Чаще всего загрузчики используют одну и ту же утилиту: AVRDude (AVR Downloader-Uploader), которая уже давно включена во многие среды разработки для Arduino, например, включена в Arduino IDE.

Это самая мощная утилита для работы с микросхемами AVR, но все же это утилита командной строки, что для многих неудобно.

Загрузка HEX прошивки на Arduino

Последняя версия — 6.3.

Прошивка и память Arduino v3 0 CH340G

Стандартная версия платы Arduino Nano, работающая на микросхеме ATmega328P, может быть прошита только через программатор с интерфейсом SPI.

Кроме того, выпускается модель AN, на которой также установлена ​​микросхема CH340G. Преимущество этой сборки в том, что плату можно прошить без подключения программатора SPI через порт USB. Это делается с помощью встроенного загрузчика и преобразователя USB-COM.

При необходимости такую ​​модель Nano также можно прошить через интерфейс SPI.

Для загрузки прошивки через mini-USB вам потребуются:

  1. Подключите карту к ПК через USB. Система определит устройство как USB 2.0 SERIAL.
  2. Загрузите и установите драйвер CH340G.

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

Виды памяти

ATmega328P поддерживает 3 типа памяти:

  1. Стремительный. Он работает как постоянное запоминающее устройство.
  2. БАРАН.
  3. EEPROM. Эта память также предназначена только для чтения, но ее можно перепрограммировать.

Микроконтроллер Atmel имеет 32 КБ флэш-памяти (30 КБ свободно, так как 2 КБ занято загрузчиком), 2 КБ ОЗУ и 1 КБ EEPROM.

Связь с устройствами

Связь с устройствами в Arduino Nano осуществляется через:

  • Интерфейс SPI;
  • Интерфейс UART;
  • Интерфейс TWI (аналог Atmel I2C с линиями SCL и SDA).

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

Arduino IDE, AVRDude

Давайте посмотрим, как загрузить прошивку только с помощью Arduino IDE на компьютер с Windows.

Напоминаю, что вместе с Arduino IDE устанавливается также AVRDude, с которой мы будем скачивать прошивку.

Установка программного обеспечения

  • Установите Arduino IDE, если он не установлен
  • В некоторых случаях вам потребуется установить дополнительный драйвер для вашей карты (если карта является китайским клоном). Драйвер нужен только в том случае, если вы не видите свою плату в среде Arduino IDE.

Подготовка

  • Подключаем карту к компьютеру
  • Запустите Arduino IDE
  • Определите, к какому порту подключен Arduino, через меню, как показано ниже:

Выбор COM-порта Arduino

  • Определите, в какой папке установлена ​​Arduino IDE

Обычно — «C: Program files (x86) Arduino»

Загрузка прошивки ардуино

  • Откройте командную строку и введите следующую команду, предварительно адаптировав ее к вашим условиям:

«C: Program Files (x86) Arduinohardwaretoolsavr / bin / avrdude» — «C: Program Files (x86) Arduinohardwaretoolsavr / etc / avrdude.conf» -v -patmega328p -carduino -PCOM3 -b115200 -D -Uflash: w: Шестнадцатеричная прошивка : Я

Обрати внимание на:

  • Путь к IDE Arduino (желтый),
  • Номер порта (синий),
  • Скорость передачи данных (зеленый)
  • Имя (путь) файла прошивки (фиолетовый)

поэтому ваша карта не может работать на 115200, и вам нужно установить скорость 57600.

Нажмите CTRL + C, чтобы остановить процесс.

Получение помощи

Если у вас что-то пошло не так, и вы являетесь нашим клиентом, перейдите на страницу поддержки.

Часто задаваемые вопросы о прошивке

Какой COM-порт выбирать?

Этот вопрос обычно возникает, когда программа не может автоматически выбрать COM-порт, к которому подключен Arduino.

Прежде всего, для обнаружения ардуино на вашем компьютере должны быть установлены его драйверы. Они поставляются с IDE Arduino. Для более дешевых китайских колонок может потребоваться установка драйвера CH340.

Итак, драйверы установлены, теперь выберем правильный порт.

Дверь можно посмотреть в Arduino IDE…

Выбор COM-порта в Arduino IDE

. или, если вы работаете в Windows, в диспетчере устройств:


Определение COM-порта, к которому подключен Arduino, через Диспетчер устройств Windows.

Определенно не COM1. Следовательно, в моем случае это будет COM3.

Способы программирования

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

Метод графического программирования заключается в использовании плагина ArduBlock (поддерживает русский язык), который интегрирован в Arduino IDE. Программа изначально отформатирована как блок-схема, а затем автоматически конвертируется в код Arduino IDE (подходит для начинающих программистов).

Чтобы установить подключаемый модуль Arduino IDE:

  1. Установите Arduino IDE (доступно на официальном сайте Arduino).
  2. Загрузите плагин ArduBlock с сайта разработчика.
  3. Переименуйте загруженный файл в ardublock-all.
  4. Создайте папки Arduino, затем инструменты, ArduBlock и инструмент в разделе «Документы.
  5. Переместите загруженный и переименованный файл в папку инструментов.

Для работы с этим плагином вам необходимо:

  1. Запустите среду программирования.
  2. Перейдите на вкладку «Инструменты».
  3. Щелкните раздел ArduBlock.

Под программированием карты мы также подразумеваем, как загрузить прошивку в микроконтроллер. Самый популярный метод — это внутрисхемное программирование (ISP), при котором ATmega прошивается через программатор, подключенный через интерфейс SPI к плате и через USB-кабель к ПК. Этим же методом можно перепрошить AN.

Карты, использующие чип CH340, можно прошивать через USB.

Вы можете проверить производительность кода в таких программах, как:

  • Протей;
  • AutoCAD 123D;
  • Tinkercad.

Все утилиты имеют удобный графический интерфейс и большой набор компонентов. В Proteus и AutoCAD вы можете проектировать печатные платы. Для работы с Tinkercad вам нужен только браузер и стабильное интернет-соединение, так как это программное обеспечение работает онлайн.

Варианты прошивки Ардуино

Прошивка с помощью Arduino IDE

Вы можете прошить плату с помощью Arduino IDE всего за несколько шагов. Прежде всего, вам необходимо скачать и установить саму программу Arduino IDE. Вам также необходимо скачать и установить драйвер CH341. Плату Arduino необходимо подключить к компьютеру и подождать несколько минут, чтобы Windows распознала и запомнила ее.

Далее необходимо скачать программу Arduino IDE и выбрать нужную плату: Инструменты — Плата. Вам также необходимо выбрать порт, к которому он подключен: Инструменты — Порт. Готовая прошивка открывается двойным щелчком; чтобы загрузить его на карту, необходимо нажать кнопку «Загрузить» вверху панели инструментов.

В некоторых ситуациях может возникать ошибка из-за наличия кириллических символов (русских букв) в пути к папке с кодами. Для этого лучше всего создать и сохранить файл с наброском в корне диска с английским именем.

Прошивка с помощью программатора

Один из самых простых способов прошить карту — использовать программатор. Заливка будет проходить в несколько этапов.

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

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

Затем нужно выбрать программатор, к которому подключен контроллер. В этом случае используется USBasp.

Последний шаг — нажать «записать загрузчик» в меню «Инструменты.

После этого начнется загрузка. Завершение займет около 10 секунд.

Прошивка AVRISP MKII в Arduino ATmega16U2

Мы готовы обновить прошивку до 16U2.

Загрузите шестнадцатеричный файл AVRISP MKII отсюда. Отключите Arduino от USB-кабеля и источника питания. Короткий контакт 5-6 ICSP1. Подключите Arduino к USB. Откройте контакты 5-6 ICSP1.

Запустите программное обеспечение FLIP: Пуск -> Все программы -> Flip. Зайдите в: Настройки -> Связь -> USB. Щелкните Открыть».

Перейдите в: Файл -> Загрузить файл HEX. Затем выберите LUFA-BOTH-AVRISP-MKII.hex и нажмите «Выполнить».

ATMEGA16U2 теперь называется AVRISP MKII и работает в режиме Atmel Studio. Arduino AVRISP MKII может работать в двух режимах: Atmel Studio или Avrdude. Ниже я расскажу только о режиме Atmel Studio, так как с режимом Avrdude у меня было много проблем.

Установка Atmel Studio

Загрузите и установите Atmel Studio (включая драйверы) отсюда. После установки подключите Arduino к USB-кабелю. Оба светодиода (RX и TX) должны мигнуть дважды (это означает, что 16U2 находится в режиме Atmel Studio). Новое устройство будет распознано.

Установите драйверы. Если они не распознаются автоматически, вы найдете их в USB-драйверах: C: Program Files Atmel.

Зайдите в Диспетчер устройств, нажмите: Win + Pause -> Оборудование -> Диспетчер устройств. Проверьте, правильно ли установлен драйвер. Он должен быть в Jungo Connectivity -> AVRISP MKII.

Теперь мы готовы прошить Arduino ATMEGA328P. Переходим к следующему шагу.

Перепрошивка загрузчика Arduino в ATMEGA328P через ATMEGA16U2

Довольно сложная часть нашего мероприятия по прошивке Arduino. Вам нужно будет припаять несколько проводов. По сути, нам нужно подключиться так:

  • ICSP1 MISO2.Pin.1 -> ICSP MISO.Pin.1
  • ICSP1 SCK2.Pin.3 -> ICSP SCK.Pin.3
  • ICSP1 MOSI2.Pin.4 -> ICSP MOSI.Pin.4
  • JP2 PB4.Pin.1 -> ICSP RESET.Pin.5

Подключите плату Arduino к USB-кабелю. Светодиоды RX и TX должны мигнуть дважды. Драйверы должны быть правильно распознаны (Jungo Connectivity -> AVRISP mkII). Запустите Atmel Studio. Перейдите в: Пуск -> Все программы -> Atmel -> Atmel Studio.

Перейдите в: Инструменты -> Программирование устройства. Выбирать:

  • Инструмент -> AVRISP mkII
  • Устройство -> ATmega328P
  • Интерфейс -> ISP

Нажмите кнопку «Применить».

Установите частоту интернет-провайдера на 16,1 кГц. Нажмите кнопку «Установить».

Программатор не будет работать, если вы установите очень низкую тактовую частоту ISP. Вы получите сообщение об ошибке: «ispProgramMem: статус ошибки получен: 0x81 получено, ожидается 0x00 (истек срок извлечения вывода RDY / nBSY)». По-английски это будет звучать так: «ispProgramMem: статус ошибки получен: получено 0x81, ожидается 0x00 (срок действия выборки вывода RDY / nBSY истек)». Однако максимальная скорость интернет-провайдера также ограничена и не может превышать 1/4 частоты устройства.

Перейдите в раздел «Подпись устройства» и нажмите кнопку «Читать». Вы должны увидеть правильную «подпись устройства»: 0x1E950F. Нажмите «Воспоминания» и найдите шестнадцатеричный файл загрузчика Arduino. Он внутри:

C: Program Files Arduino hardware arduinobootloaders optiboot optiboot_atmega328.hex

Нажмите кнопку «Программа». Если вы используете новый, незапрограммированный ATMEGA328P, также необходимо запрограммировать ПРЕДОХРАНИТЕЛИ. Перейдите в раздел «Предохранители» и используйте следующие значения: low_fuses = 0xff; high_fuses = 0xDE; расширенный_fuses = 0x05.

Вы успешно прошили 328P с помощью загрузчика Arduino. На следующем этапе мы вернем оригинальную прошивку 16U2.

Элементы платы

Arduino Nano состоит из множества элементов, в том числе:

  • микросхемы;
  • пассивные элементы (резисторы, конденсаторы, диоды);
  • разъемы;
  • регуляторы.

Микросхема платы FT232R

Микросхема допускает подключение платы по USB. Чип, установленный в AN, не может работать напрямую с интерфейсом USB, поэтому FT232R преобразует его в интерфейс UART.

Микросхема платы FT232R.

Сердце платформы — микроконтроллер ATmega328P

ATmega328P — контроллер основной платы. В него загружается набросок, написанный программистом, и контроллер отправляет команды различным элементам платы. Например, микроконтроллер мигает диодами, реле переключается, а пьезоэлемент издает звуки.

Светодиодная индикация

На плате есть 4 встроенных светодиода, каждый из которых имеет свое назначение:

  1. Светодиоды RX и TX мигают во время передачи данных по UART.
  2. Диод L загорается при подаче на него высокого сигнала и гаснет при низком уровне.
  3. Светодиод ON горит, когда на плату подано питание.

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

Разъем mini-USB

Через разъем mini-USB карту можно подключить к персональному компьютеру. AN также может получать питание от внешних источников через этот интерфейс.

Линейный понижающий регулятор напряжения 5 В

В качестве регулятора используется микросхема LM1117MPX-5.0. Преобразует сигнал питания AN в сигнал питания микроконтроллера ATmega и других логических вентилей, которые не поддерживают напряжение более 5 В. Например, транзисторные логические элементы (TTL) получают питание от сигнала такой величины.

ICSP-разъем для ATmega328

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

ATmega328

Ошибка компиляции

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

  • В некоторых случаях ошибка возникает при наличии кириллицы (русских букв) в пути к папке со скетчем. Решение: Добавить отдельную папу для скетчей в корень диска с английским названием.
  • В черном окне в нижней части IDE Arduino вы можете прочитать полный текст ошибки.
  • В готовых скетчах, скачанных из Интернета, часто возникает ошибка с описанием «имя файла» без такого файла или каталога. Это означает, что в скетче используется библиотека «имя файла», и вы должны поместить ее в Program Files / Arduino / libraries. Во всех моих проектах всегда есть папка с используемыми библиотеками, которые нужно установить. Кроме того, библиотеки можно искать в Google по «имени файла».
  • При использовании некоторых специальных методов и функций неправильная вкладка в «Инструменты / Вкладка» может стать ошибкой«.
  • Если вы напишете прошивку, любые синтаксические ошибки в коде будут выделены и внизу черного окошка можно будет прочитать более подробное описание в чем косяк.

Примеры проектов с Arduino Nano

реализовывать проекты в AN удобно за счет наличия библиотек, упрощающих написание кода.

Подключение светодиодов к Arduino Nano

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

Для создания пиксельного изображения, где пиксель равен 1 диоду, используется адресная лента WS2812.

Структура памяти Ардуино, где располагается скетч и данные

  • Микроконтроллер Arduino имеет 3 типа памяти: флэш-память, которая используется для хранения эскизов, RAM для хранения переменных и EEPROM для хранения постоянной информации. Из этих типов памяти флэш-память и EEPROM являются энергонезависимыми, что означает, что информация сохраняется при отключении питания. ОЗУ используется только для хранения данных, относящихся к исполняемой программе.Микроконтроллер ATmega168, используемый на некоторых платах Arduino, имеет 16 КБ флэш-памяти, 1024 байта ОЗУ и 512 байтов EEPROM. Важно обратить внимание на небольшой объем оперативной памяти. Большие программы могут использовать его полностью, что приводит к сбою программы. По этой причине необходимо следить за тем, сколько строк занимает программа, и по возможности удалять ненужные. Есть несколько способов уменьшить объем кода:
    • Вы можете отправить некоторую информацию на свой компьютер.
    • Для таблиц и других больших массивов используйте наименьший тип данных для хранения.
    • Данные, которые остаются неизменными, можно объявить константой, используя слово const перед объявлением переменной.
    • Меньше использования рекурсии. Когда вы его вызываете, в памяти выделяется фрагмент, называемый стеком, в котором хранятся различные данные. Если рекурсия вызывается часто, стеки будут занимать большой объем памяти и могут ее использовать.
    • Нередактируемые строки могут храниться во флэш-памяти во время работы программы. Для этого используется функция ПРОГРАММА.

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

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

    Оптимизация флеш-памяти. Как только процедура компиляции будет завершена, в окне отобразится информация о памяти, занятой кодом. Если скетч занимает большую часть памяти, необходимо оптимизировать использование флеш-памяти:

    • Использование констант. Как и RAM, он устанавливает неизменные значения через константы.
    • Удалите ненужный Serial.println. Эта команда используется, когда вам нужно увидеть значения переменных в разных местах программы, часто эта информация просто не нужна. В этом случае команды занимают место в памяти, поэтому, убедившись, что программа работает правильно, некоторые строки можно удалить.
    • Отказ от загрузчика — вы можете запрограммировать микроконтроллер через контакты ICSP на плате с помощью аппаратных программаторов.

    Флэш-память — это безопасный и удобный способ хранения данных, но некоторые факторы ограничивают ее использование. Флэш-память характеризуется записью данных блоками по 64 байта. Кроме того, флеш-память гарантирует защиту информации на 100 000 циклов записи, после которых информация искажается. Флэш-память содержит загрузчик, который нельзя удалить или подделать. Это может разрушить саму доску.

    Память EEPROM используется для хранения всех необходимых данных после выключения питания. Для записи информации о EEPROM необходимо использовать специальную библиотеку EEPROM.h, которая является одной из стандартных библиотек в Arduino IDE. Чтение и запись информации в EEPROM происходит медленно, около 3 мс. Надежность хранения данных гарантируется даже при 100 000 циклов записи, поэтому циклами записи лучше не писать.

    Технические характеристики платы

    Питание 5 дюймов
    Входной сигнал 7-12 В (постоянный ток)
    Количество DP 14 (6 для ШИМ)
    Количество точек доступа восемь
    Максимальный ток DP 40 мА
    Флэш-память формата 16/32 Кб
    Баран 1/2 Кб
    Память в формате EEPROM 512 байт / 1 КБ
    Тактовая частота микроконтроллера 16 МГц
    Размеры (править Ширина — 19 мм, длина — 42 мм
    Масса 7 г

    Подробный обзор возможностей карты представлен в даташите — технической документации. Также указаны подробные характеристики и описание НА.

    Распиновка.

    Порты ввода/вывода и питание

    Порты ввода / вывода включают:

    • цифровые разъемы;
    • аналоговые разъемы;
    • разъемы, излучающие сигнал ШИМ;
    • разъемы для работы с ADC, I2C (TWI), SPI, UART.

    Для работы с каждым интерфейсом на языке C для Arduino существует отдельная библиотека, что упрощает написание кода программистом.

    Блок питания может быть подключен к плате модели «Nano» 3 способами:

    1. Через разъем mini-USB. Этот способ удобен тем, что разработчику не нужно подавать на плату дополнительное питание. Этот источник питания поддерживает системы, позволяющие регулировать входной ток.
    2. Через нерегулируемые источники 6-20 В.
    3. Через регулируемый источник питания 5 В.

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

    Питание от внешнего источника

    Питание от нерегулируемых источников 6-20 В обеспечивается подключением блока источника сигнала к контакту 30 и общему проводу соответственно.

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

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

    Читайте также: Датчик температуры и влажности: подключение DHT11 и DHT22 к Ардуино

Оцените статью
Блог про Arduino