Arduino nano: распиновка, схема подключения и программирование

Устанавливаем драйвера

При установке Arduio IDE должны автоматически поставиться необходимые для работы драйверы. На большинстве китайских Arduino-плат стоит контроллер интерфейса USB CH341, для работы с ним нужен отдельный специальный драйвер. Китайский контроллер ничем не хуже, он просто дешевле =)

ПОЛЬЗОВАТЕЛЯМ WINDOWS

Далее подключить Arduino к компьютеру, подождать, пока Windows её распознает и запомнит (первое подключение). P.S. Вылезет окошечко, сообщающее, что устройство опознано и подключено к COM порту с определённым номером отличным от номера 1

ПОЛЬЗОВАТЕЛЯМ LINUX MINT

По умолчанию в linux можно прошивать китайские ардуинки без дополнительного оборудования. Но вначале ничего не получается и Arduino IDE выдает ошибку. Дело вот в чем. Linux (в моем случае linux mint) определяет ардуинку как устройство ttyUSB*. Обычно это ttyUSB0. Это можно узнать командой dmesg в терминале. То есть, в системе появляется интерфейс /dev/ttyUSB0. Но чтобы с ним работать, нужны права доступа. Читать и писать на устройство /dev/ttyUSB0 имеет пользователь root и пользователи группы dialout. Работы с правами суперпользователя лучше избегать, поэтому следует занести своего пользователя в группу dialout

Это можно сделать следующей командой(обратите внимание, команда whoami в обратных кавычках) sudo usermod -a -G dialout `whoami` После этого нужно перелогиниться. Дальше запускаем Arduino IDE и в меню «Инструменты-Порт» ставим галочку напротив /dev/ttyUSB0

За инфу спасибо Владу Шеменкову

Полезные советы при работе с Arduino

Работа с текстовыми файлами

При дальнейшей работе с Arduino вам часто придётся разбираться с файлами библиотек (смотреть список методов или писать свои библиотеки), поэтому нужно сделать две очень важные вещи: включить отображение расширений файлов и скачать блокнот++. Блокнот++ удобнее обычного блокнота и имеет кучу фишек, например распознаёт “язык кода” и подсвечивает синтаксис.

Далее необходимо включить отображение расширений у файлов, чтобы знать, что перед вами за зверь. Краткая инструкция для Windows 7 и 10.

После этого делаем нужные файлы открываемыми по умолчанию в Notepad++

Написание текста программы

Автоформатирование – Arduino IDE умеет автоматически приводить ваш код в порядок (имеются в виду отступы, переносы строк и пробелы). Для автоматического форматирования используйте комбинацию CTRL+T на клавиатуре, либо Инструменты/АвтоФорматирование в окне IDE. Используйте чаще, чтобы сделать код красивым (каноничным, классическим) и более читаемым для других!

Скрытие частей кода – сворачивайте длинные функции и прочие куски кода для экономии места и времени на скроллинг. Включается здесь: Файл/Настройки/Включить сворачивание кода

Не используйте мышку! Чем выше становится ваш навык в программировании, тем меньше вы будете использовать мышку (да-да, как в фильмах про хакеров). Используйте обе руки для написания кода и перемещения по нему, вот вам несколько полезных комбинаций и хаков, которыми я пользуюсь ПОСТОЯННО:

  • Ctrl+← , Ctrl+→ – переместить курсор влево/вправо НА ОДНО СЛОВО
  • Home , End – переместить курсор в начало/конец строки
  • Shift+← , Shift+→ – выделить символ слева/справа от курсора
  • Shift+Ctrl+← , Shift+Ctrl+→ – выделить слово слева/справа от курсора
  • Shift+Home , Shift+End – выделить все символы от текущего положения курсора до начала/конца строки
  • Ctrl+Z – отменить последнее действие
  • Ctrl+Y – повторить отменённое действие
  • Ctrl+C – копировать выделенный текст
  • Ctrl+X – вырезать выделенный текст
  • Ctrl+V – вставить текст из буфера обмена
  • Ctrl+U – загрузить прошивку в Arduino
  • Ctrl+R – скомпилировать (проверить)
  • Ctrl+Shift+M – открыть монитор порта

Также для отодвигания комментариев в правую часть кода используйте TAB, а не ПРОБЕЛ. Нажатие TAB перемещает курсор по некоторой таблице, из-за чего ваши комментарии будут установлены красиво на одном расстоянии за вдвое меньшее количество нажатий!

Хаки с питанием

Питание от пинов – во время разработки прототипов без брэдборда всегда не хватает пинов для питания датчиков и модулей. Так вот, слабые (с потреблением тока менее 40 мА ) 5 Вольтовые датчики можно питать от любых пинов! Достаточно сформировать пин как выход, и подать на него нужный сигнал (HIGH – 5 Вольт, LOW – GND).

Пример: подключаем трёхпиновый датчик звука, не используя пины 5V и GND

Питание от штекера для программатора. Вы наверняка задавались вопросом, а зачем на Arduino NANO на краю платы расположены 6 пинов? Это порт для подключения ISP программатора. Что он делает в списке лайфхаков? Вот вам фото распиновки, используйте!

Энергосбережение

Использовать библиотеку энергосбережения Low Power. Примеры и описание внутри (видео урок пока не готов)

В паре с библиотекой сделать несколько модификаций: отключить светодиод питания и отрезать левую ногу регулятора напряжения

ВНИМАНИЕ! Резать ногу регулятору можно только в том случае, если плата питается от источника 3-5 Вольт в пины 5V и GND

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

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

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

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

Видео с инструкциями:

Общая информация об Arduino

Arduino обрели особенно сильную популярность среди людей, которые только начинают заниматься электроникой. На то есть несколько причин. В отличие от большинства предшественников, Arduino не требует дополнительного оборудования (программатора) для загрузки кода на плату — используется простой USB-кабель. Оболочка для программирования — Arduino IDE использует упрощенную версию C++, что облегчает процесс обучения для новичков. Кроме того, Arduino использует стандартизированный форм фактор для большинства своих плат, благодаря чему появился целый комплект дополнительных «шилдов».

Arduino Uno показана на рисунке ниже:

Arduino Uno — одна из самых популярных плат в линейке и является отличным выбором для начинающих. Технические характеристики этой модели будут рассмотрены ниже.

Оболочка Arduino IDE:

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

В этой статье мы остановимся на следующих основных моментах:

  • Какие проекты можно реализовать с Arduino
  • Основные узлы плат Arduino
  • Номенклатура самых удачных моделей Arduino
  • Дополнительные (периферийные) устройства для Arduino

Рекомендуем также дополнительно почитать

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

  • Что такое электричество?
  • Закон Ома
  • Электрическая цепь
  • Интегральная схема (микросхема)
  • Аналоговый сигнал
  • Цифровой сигнал

Программирование для платы Uno

Для написания программ (скетчей) для контроллер Ардуино вам нужно установить среду программирования. Самым простым вариантом будет установка бесплатной Arduino IDE, скачать ее можно с официального сайта.

После установки IDE вам нужно убедиться, что выбрана нужная плата. Для этого у Arduino IDE в меню “Инструменты” и подпункте “Плата” следует выбрать нашу плату (Arduino/Genuino Uno). После выбора платы автоматически изменятся параметры сборки проекта и итоговый скетч будет скомпилирован в формат, который поддерживает плата. Подключив контроллер к компьютеру через USB, вы сможете в одно касание заливать на него вашу программу,используя команду “Загрузить”.

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

Написанная и скомпилированная программа загружается через USB-соединение (UART- Serial). Со стороны контролера за этот процесс отвечает bootloader.

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

Скачать Arduino 1.8.6

IDE 1.8.6 появилась в августе 2018 года.  По сравнению с предыдущей версией, в 1.8.6 было добавлено много улучшений.

Изменения в версии 1.8 6

Список дополнений и улучшений:

  • Улучшена производительность компиляции проектов за счет распараллеливания процессов и повторного использования скомпилированных фрагментов проекта.
  • Прочие улучшения интерфейса:
    • Добавлены клавиатурные ускорители при прокрутке меню (нажмите клавишу ‘a’).
    • Добавлен скроллер в меню программирования.
    • Улучшение диалогового окна «Поиск/Замены»
  • Возможность выбора тем – традиционно устанавливаемых в соответствующую папку в виде архива.
  • Информация об ошибках выводится в более структурированном формате – с указанием не только строки, но и столбца.
  • Монитор порта теперь может показывать информацию о времени (timestamp)
  • Добавлены переводы для типов в библиотеках.
  • Улучшена функциональность работы с дисплеями высокой четкости (Hi-resolution) в Linux
  • Для пользователей Windows исправлены ошибки функциональности сборки проектов из файлов, хранящихся в облачном хранилище OneDrive.
  • Ускорен старт программы в случае использования виртуальных сетевых подключений
  • Улучшение в менеджере библиотек (поиск, установка).
  • Исправление множества небольших ошибок в интерфейсе, повышенная стабильность ядра.

Что такое Arduino Web Editor

Arduino Web Editor – это онлайн инструмент, который позволяет вам писать скетчи и загружать их в любую плату Arduino с помощью вашего веб-браузера (Chrome, Firefox, Safari и Edge). Разработчики платформы Arduino рекомендуют использовать браузер Google Chrome.

Эта IDE (Integrated Development Environment – интегрированная среда разработки) является частью проекта Arduino Create, онлайн платформе, которая позволяет разработчикам писать программы, иметь доступ к обучающим материалам, конфигурировать платы и делиться своими проектами с другими участниками сообщества Arduino. Обеспечивая пользователей непрерывным трудовым процессом, Arduino Create обеспечивает взаимосвязи между всеми процессами создания готового изделия, начиная от его задумки и заканчивая его осуществлением. То есть с помощью этого сервиса вы можете управлять всеми аспектами создания проекта для Arduino.

Arduino Web Editor является онлайн сервисом, поэтому он всегда учитывает все самые последние изменения в платформе Arduino и все самые свежие платы, появившиеся в рамках этой платформы.

Bluetooth Controller 8 Lamp

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

Bluetooth Controller 8 Lamp создан для регулировки функций Ардуино 8 канальным контроллером. Работает при помощи модулей Bluetooth HC-05, HC-06 и HC-07. 8 кнопочный интерфейс соответствует каждой лампочке.

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

Скачать популярные библиотеки Arduino IDE на русском

Пользовательские библиотеки создаются разработчиками модулей и плат расширений для Ардуино. Большинство популярных библиотек Ардуино скачать можно на сайте GitHub. Это сервис для совместной разработки IT-проектов, где можно отследить историю изменений исходного кода. Чтобы пройти уроки Ардуино для начинающих, все необходимые для занятий библиотеки Arduino UNO можно скачать здесь:

Список пользовательских библиотек Arduino:

TroykaCurrent — перевод аналоговых значений в Амперы (скачать TroykaCurrent.h)

RotaryEncoder — работа с модулем энкодера (скачать RotaryEncoder.h)

Adafruit NeoPixel — работа с адресной лентой (скачать Adafruit_NeoPixel.h)

Fast LED — работа с адресной лентой ws2812b (скачать FastLED.h)

TroykaMQ — работа с датчиками газа MQ (скачать TroykaMQ.h)

MQ-2 sensor — работа с датчиком газа MQ2 (скачать MQ2.h)

LCD 1602 I2C — библиотека для дисплея 1602 I2C (скачать LiquidCrystal_I2C.h)

LCD 1602 I2C RUS — русификация дисплея 1602 I2C (скачать LCD_1602_RUS.h)

OLED I2C — библиотека для OLED дисплея (русифицированная) (скачать OLED_I2C.h)

SFE_BMP180 — библиотека для датчика давления BMP180 (скачать SFE_BMP180.h)

SD.h — библиотека для работы с sd картой памяти (скачать SD.h)

Arduino Howto

This page is obsolete. You should instead see the Windows Howto or the Mac OS X howto (both in the Arduino guide).

These are the steps you need to follow in order to be up and running:

  1. Get an Arduino board
  2. Download the Arduino environment
  3. Install the USB drivers
  4. Connect the board
  5. Upload a program

1 | Get an Arduino board

The Arduino i/o board is a simple circuit featuring the ATmega8 processor from Atmel. The board is composed of a printed circuit board (PCB) and electronic parts.

There are a few ways to get an Arduino board:

  • buy a ready made board. See how you can buy a board or just the PCB.
  • build your own board. If you want you can build your own PCB just by downloading the CAD files from the Hardware page. Extract the .brd file and send it to a PCB manufacturer. Be aware that manufacturing a single pcb will be very expensive. It’s better to get together with other people and make 20 or 30 at a time. Since you get the full CAD files you can make your own customised version of Arduino. if you make modifications or fix bugs please send us your changes!
    • purchase parts. purchase the parts from any electronics store. The Serial version in particular has been designed to use the most basic parts that can be found anywhere in the world. The USB version on the other hand requires some advanced soldering skills because of the FTDI chip that is an smd part. Here is a list of parts for the serial board.
    • assemble the board. We put together a step by step guide on how to build an arduino board.
    • program the bootloader. In order for the development environment to be able to program the chip, this has to be programmed with a piece of code called bootloader. See the bootloader page on how to program it on your chip.

2 | Download the Arduino environment

To program the Arduino board you need the Arduino environment.

Download Arduino:
From the software page.

Linux note: For help getting the Arduino IDE running on Debian, please see the FAQ («How can I run the Arduino IDE under Linux?»).

Mac OS X note: After downloading the IDE, run the . It corrects permission on a few files for use with the serial port and will prompt you for your password. You may need to reboot after running this script.

For more information, see the guide to the Arduino environment.

3 | Install the USB drivers

If you are using a USB Arduino, you will need to install the drivers for the FTDI chip on the board. These can be found in the directory of the Arduino distribution.

On Windows, you will need to unzip . Then, when you plug in the Arduino board, point the Windows Add Hardware wizard to the directory.

On the Mac, mount the (on PPC machines) or the (on Intel machines) disk image and run the included .

4 | Connect the board

If you’re using a serial board, power the board with an external power supply (6 to 25 volts DC, with the core of the connector positive). Connect the board to a serial port on your computer.

On the USB boards, the power source is selected by the jumper between the USB and power plugs. To power the board from the USB port (good for controlling low power devices like LEDs), place the jumper on the two pins closest to the USB plug. To power the board from an external power supply (needed for motors and other high current devices), place the jumper on the two pins closest to the power plug. Either way, connect the board to a USB port on your computer. On Windows, the Add New Hardware wizard will open; tell it you want to specify the location to search for drivers and point to the folder containing the USB drivers you unzipped in the previous step.

The power LED should go on.

5 | Upload a program

Open the LED blink example sketch: File > Sketchbook > Examples > led_blink.

Here’s what the code for the LED blink example looks like.

Select the serial device of the Arduino board from the Tools | Serial Port menu. On Windows, this should be or for a serial Arduino board, or , , or for a USB board. On the Mac, this should be something like for a USB board, or something like if using a Keyspan adapter with a serial board (other USB-to-serial adapters use different names).

Push the reset button on the board then click the Upload button in the IDE. Wait a few seconds. If successful, the message «Done uploading.» will appear in the status bar.

If the Arduino board doesn’t show up in the Tools | Serial Port menu, or you get an error while uploading, please see the FAQ for troubleshooting suggestions.

A few seconds after the upload finishes, you should see the amber (yellow) LED on the board start to blink.

Learn More

  • Read about the Arduino Environment
  • Learn about the parts of the Arduino board
  • See the tutorials for some example programs. (There are also some examples available in the directory inside the arduino directory.)
  • Look up specific Arduino functions and syntax in the reference
  • If you’re having problems, check the FAQ.

5.5 Нехватка памяти

Иногда прошивка успешно компилируется/загружается, но в логе компилятора написано о недостатке места

Запомните: если компиляция/загрузка завершена, значит всё в порядке и скетч будет работать. Ведь написано, что “завершена”! Память устройства можно добивать до 99%, ничего страшного не случится. Это флэш память и во время работы она не изменяется. А вот динамическую память желательно забивать не более 85%, иначе реально могут быть непонятные глюки в работе, так как память постоянно “бурлит” во время работы. НО. Это зависит от скетча и в первую очередь от количества локальных переменных. Можно написать такой код, который будет стабильно работать при 99% занятой SRAM памяти. Так что ещё раз: это всего лишь предупреждение, а не ошибка.

Библиотеки в Arduino Web Editor

К настоящему времени сообществом Arduino написано более 700 библиотек, которые вы можете включить в ваши скетчи в Arduino Web Editor даже не устанавливая их. Вы можете посмотреть их все в менеджере библиотек (Library Manager) и отметить из них те, которые вам понравились больше всего. Из менеджера библиотек все эти библиотеки легко (автоматически) интегрируются в вашу программу без необходимости их установки.

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

Если в обычных условиях (в оффлайн Arduino IDE) предоставление доступа к своему скетчу со всеми используемыми им библиотеками может быть весьма утомительной задачей, то Arduino Web Editor может значительно упростить и ускорить данный процесс. К примеру, можете протестировать скетч Thermostat Bot с большим количеством используемых им библиотек.

Но что делать если вы хотите использовать строго определенную версию библиотеки? Для этого найдите эту библиотеку в менеджере библиотек и отметьте ее звездочкой – то есть добавьте ее в избранные. После этого она появится во вкладке «избранное» (Favorite) на панели библиотек (Libraries panel). И здесь вы уже можете указать нужную версию данной библиотеки и включить ее в ваш скетч. Сервис Arduino Web Editor добавляет в скетч специальные метаданные с номером версии библиотеки, поэтому компилятор (Arduino Builder) подключит в ваш скетч именно ту версию библиотеки, которая вам нужна. Во время компиляции скетча в этом онлайн редакторе сначала учитываются кастомные (custom) библиотеки, затем те библиотеки, которые вы добавили к себе в избранное, и затем встроенные (built-in) библиотеки Arduino.

Если вы добавили библиотеку к себе в избранные вы можете посмотреть примеры ее использования (related examples), получить подробную информацию по ней и также ссылку на сервис GitHub, откуда вы можете ее скачать.

Если вы хотите импортировать в свой скетч пак (сборник) определенных библиотек, то вам необходимо заархивировать их все в виде единого zip файла и затем импортировать его в сервис.

Источник статьи

Introduction to the Arduino Board

Looking at the board from the top down, this is an outline of what you will see (parts of the board you might interact with in the course of normal use are highlighted):

Starting clockwise from the top center:

  • Analog Reference pin (orange)
  • Digital Ground (light green)
  • Digital Pins 2-13 (green)
  • Digital Pins 0-1/Serial In/Out — TX/RX (dark green) — These pins cannot be used for digital i/o (digitalRead and digitalWrite) if you are also using serial communication (e.g. Serial.begin).
  • Reset Button — S1 (dark blue)
  • In-circuit Serial Programmer (blue-green)
  • Analog In Pins 0-5 (light blue)
  • Power and Ground Pins (power: orange, grounds: light orange)
  • External Power Supply In (9-12VDC) — X1 (pink)
  • Toggles External Power and USB Power (place jumper on two pins closest to desired supply) — SV1 (purple)
  • USB (used for uploading sketches to the board and for serial communication between the board and the computer; can be used to power the board) (yellow)

Microcontrollers

ATmega328P (used on most recent boards)

Digital I/O Pins 14 (of which 6 provide PWM output)
Analog Input Pins 6 (DIP) or 8 (SMD)
DC Current per I/O Pin 40 mA
Flash Memory 32 KB
SRAM 2 KB
EEPROM 1KB

ATmega168 (used on most Arduino Diecimila and early Duemilanove)

Digital I/O Pins 14 (of which 6 provide PWM output)
Analog Input Pins 6 (DIP) or 8 (SMD)
DC Current per I/O Pin 40 mA
Flash Memory 16 KB
SRAM 1 KB
EEPROM 512 bytes

ATmega8 (used on some older board)

Digital I/O Pins 14 (of which 3 provide PWM output)
Analog Input Pins 6
DC Current per I/O Pin 40 mA
Flash Memory 8 KB
SRAM 1 KB
EEPROM 512 bytes

Digital Pins

In addition to the specific functions listed below, the digital pins on an Arduino board can be used for general purpose input and output via the pinMode(), digitalRead(), and digitalWrite() commands. Each pin has an internal pull-up resistor which can be turned on and off using digitalWrite() (w/ a value of HIGH or LOW, respectively) when the pin is configured as an input. The maximum current per pin is 40 mA.

  • Serial: 0 (RX) and 1 (TX). Used to receive (RX) and transmit (TX) TTL serial data. On the Arduino Diecimila, these pins are connected to the corresponding pins of the FTDI USB-to-TTL Serial chip. On the Arduino BT, they are connected to the corresponding pins of the WT11 Bluetooth module. On the Arduino Mini and LilyPad Arduino, they are intended for use with an external TTL serial module (e.g. the Mini-USB Adapter).

  • External Interrupts: 2 and 3. These pins can be configured to trigger an interrupt on a low value, a rising or falling edge, or a change in value. See the attachInterrupt() function for details.

  • PWM: 3, 5, 6, 9, 10, and 11. Provide 8-bit PWM output with the analogWrite() function. On boards with an ATmega8, PWM output is available only on pins 9, 10, and 11.

  • BT Reset: 7. (Arduino BT-only) Connected to the reset line of the bluetooth module.

  • SPI: 10 (SS), 11 (MOSI), 12 (MISO), 13 (SCK). These pins support SPI communication, which, although provided by the underlying hardware, is not currently included in the Arduino language.

  • LED: 13. On the Diecimila and LilyPad, there is a built-in LED connected to digital pin 13. When the pin is HIGH value, the LED is on, when the pin is LOW, it’s off.

Analog Pins

In addition to the specific functions listed below, the analog input pins support 10-bit analog-to-digital conversion (ADC) using the analogRead() function. Most of the analog inputs can also be used as digital pins: analog input 0 as digital pin 14 through analog input 5 as digital pin 19. Analog inputs 6 and 7 (present on the Mini and BT) cannot be used as digital pins.

I2C: 4 (SDA) and 5 (SCL). Support I2C (TWI) communication using the Wire library (documentation on the Wiring website).

Power Pins

  • 5V. The regulated power supply used to power the microcontroller and other components on the board. This can come either from VIN via an on-board regulator, or be supplied by USB or another regulated 5V supply.

  • 3V3. (Diecimila-only) A 3.3 volt supply generated by the on-board FTDI chip.

  • GND. Ground pins.

Other Pins

  • AREF. Reference voltage for the analog inputs. Used with analogReference().

  • Reset. (Diecimila-only) Bring this line LOW to reset the microcontroller. Typically used to add a reset button to shields which block the one on the board.

Ответы на частые вопросы

Ардуину можно прошить только один раз? Нет, несколько десятков тысяч раз, всё упирается в ресурс flash памяти. А он довольно большой.

Как стереть/нужно ли стирать старую прошивку при загрузке новой? Память автоматически очищается при прошивке. Старая прошивка будет автоматически удалена.

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

Можно ли “вытащить” прошивку с уже прошитой Ардуины? Теоретически можно, но только в виде машинного кода, в который преобразуется прошивка на С++ при компиляции, т.е. вам это НИКАК не поможет, если вы не имеете диплом по низкоуровневому программированию. Так что нет, нельзя.

Источник

Память Arduino Uno R3

Плата Uno по умолчанию поддерживает три типа памяти:

  • Flash – память объемом 32 кБ. Это основное хранилище для команд. Когда вы прошиваете контроллер своим скетчем, он записывается именно сюда. 2кБ из данного пула памяти отводится на bootloader- программу, которая занимается инициализацией системы, загрузки через USB и запуска скетча.
  • Оперативная SRAM память объемом  2 кБ. Здесь по-умолчанию хранятся переменные и объекты, создаваемые в ходе работы программы. Память эта энерго-зависимая, при выключении питания все данные, разумеется, сотрутся.
  • Энергонезависимая память (EEPROM) объемом 1кБ. Здесь можно хранить данные, которые не сотрутся при выключении контроллера. Но процедура записи и считывания EEPROM требует использования дополнительной библиотеки, которая доступна в Arduino IDE по-умолчанию. Также нежно помнить об ограничении циклов перезаписи, присущих технологии EEPROM.

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