Программирование про мини через ардуино нано: Arduino Pro Mini — знакомство с платой, распиновка, подключение

Содержание

Плата Arduino NANO. Gistroy

Основой является все тот же микро-контроллер ATMega 328p с памятью в 32 Кб. Практически для всех приборов объема хватает, чтобы написать необходимые программы. Еще один приятный бонус — количество аналоговых пинов. Их на два больше, то есть восемь. Цифровых пинов четырнадцать, шесть из них работают с ШИМ-сигналами, и отмечены волнистой линией.

Подробную распиновку можно найти в открытом доступе. На поверхности есть 4 светодиода:

RX –мигает при исходящей информации.
TX – сигнализирует о входящей.
POW – загорается при включении.
L – присоединен к 13 пину, служит для индикации.

На ней установлен конвертер, позволяющий напрямую подключаться через USB к компьютеру, не применяя переходников. Стоит отметить отличие оригинальных сборок от реплик. На оригинальных ставят микросхему FTDI FT 232RL, на аналогах — Ch440G. В этом нет ничего страшного, единственное неудобство возникает при установке драйвера. Следует просто установить правильный, тогда не возникнет проблем с прошивкой и «общением» с ATMega 328p.

Для работы нужно подать ток на контроллер. Так как этот элемент требователен к перепадам напряжения, на nano поместили стабилизатор на 5V. Запитать плату arduino nano можно тремя способами:

1. Через разъем mini-USB и кабель. Стабилизированное напряжение подается от компьютера. Это быстрый способ проверить работает ли программа. Неудобство заключается в том, что прибор оказывается привязан к компьютеру шнуром.

2. Через вывод Vin, к которому подключаем плюсовой провод. Минус не забываем подключать к пину GND . Здесь можно подавать от 7 до 20 вольт. Оно будет проходить через стабилизатор и на ATMega 328p дойдет 5 В. Больше 12 подавать не советуют.

3. Подача стабилизированных 5 В от другого механизма через вынесенный для этого вывод – 5V.

При нескольких подключенных источниках тока автоматически выбирается наибольшее напряжение. Также запитанная плата может отдавать с разъемов 5V и Vin. Это используется для питания внешних устройств, модулей и датчиков. Выводится три напряжения: стабильные 5 вольт, нестабильные 7-12 и стабилизированные 3.3В (со своим стабилизатором). Следует внимательно относиться к напряжению, потому что любое превышение может легко вывести все из строя, а недостаток не гарантирует стабильной работы. Для упрощения подачи питания используют плату расширения, которая преобразовывает ее в UNO.

Для создания прототипов электроустройств понадобятся стандартные запчасти, радиодетали, провода и макетная площадка. Если есть желание и умение паять, то можно взять макетную, под пайку. Однако удобнее и быстрее использовать, так называемый, breadboard, монтаж на нее производится без пайки. Для комфортного подключения деталей к breadboard нужны повода с разъемами. Они бывают трех типов: «мама-папа», «папа-папа», «мама-мама». Длина бывает разная.

Arduino NANO маленькая, поэтому ее можно разместить прямо на брэдборд. Во всем остальном подключение не отличается от старших товарищей. Внешний девайс подключается двумя проводами к питанию и логическим проводом (или несколькими) к цифровому/аналоговому выходу. Помимо макетных можно приобрести Sensor Shield, платы расширения. Они есть для каждого варианта с удобной стыковкой. На что следует обратить внимание при использовании Sensor Shield, так это на кнопку сброса. На самой плате arduino nano она есть, удобно будет иметь ее на шилде расширения.

Для того чтобы программировать контроллер и, соответственно, весь будущий механизм, требуется разобраться в программном обеспечении. Как и для других из серии arduino используется среда разработки IDE. Программное обеспечение, как и все схемы находятся в открытом бесплатном доступе. После установки драйвера для конвертера USB-UART в зависимости от комплектации, можно начинать создание и заливку скетчей. Здесь станет понятно, к какому порту подключено приспособление.

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

Подводя итог, можно выделить основное преимущество платы Arduino NANO – небольшой размер при сохранении практически всех характеристик UNO. Маленький размер достигается расположением элементов на двух сторонах и отсутствием входа для питания от внешнего блока. Для новичков, только начинающих свой путь в робототехнике и уже попробовали свои силы на большой модели, можно использовать нано-плату уже на готовом изделии. Разместить ее удобно, а использование и характеристики не отличаются от других распространенных моделей.

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

Arduino Nano (ATmega168 или ATmega328)

Платформа Nano, построенная на микроконтроллере ATmega328 (Arduino Nano 3.0) или ATmega168 (Arduino Nano 2.x), имеет небольшие размеры и может использоваться в лабораторных работах.

Она имеет схожую с Arduino Duemilanove функциональность, однако отличается сборкой. Отличие заключается в отсутствии силового разъема постоянного тока и работе через кабель Mini-B USB. Nano разработана и продается компанией Gravitech.

Купить сейчас

Принципиальные схемы и исходные данные

Arduino Nano 3.0 (ATmega328): схемы и файлы Eagle.

Краткие характеристики

Микроконтроллер ATmega168 или ATmega328
Рабочее напряжение
Входное напряжение(рекомендуемое) 7-12В
Входное напряжение (предельное) 6-20В
Цифровые Входы/Выходы 14 (6 из которых могут использоваться как выходы ШИМ)
Аналоговые входы 8
Постоянный ток через вход/выход 40 mA
Флеш-память 16 Кб (ATmega168) или 32 Кб (ATmega328) при этом 2 Кб используются для загрузчика
ОЗУ 1 Кб (ATmega168) или 2 Кб (ATmega328)
Тактовая частота 16 MHz

Питание:

Arduino Nano может получать питание через подключение Mini-B USB, или от нерегулируемого 6-20 В (вывод 30), или регулируемого 5 В (вывод 27), внешнего источника питания. Автоматически выбирается источник с самым высоким напряжением.

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

Память

Микроконтроллер ATmega168 имеет 16 кБ флеш-памяти для хранения кода программы, а микроконтроллер ATmega328, в свою очередь, имеет 32 кБ (в обоих случаях 2 кБ используется для хранения загрузчика). ATmega168 имеет 1 кБ ОЗУ и 512 байт EEPROM (которая читается и записывается с помощью библиотеки EEPROM), а ATmega328 – 2 кБ ОЗУ и 1 Кб EEPROM.

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

Arduino Nano лицевая сторонаArduino Nano обратная сторона

Купить сейчас

Каждый из 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.
LED: 13. Встроенный светодиод, подключенный к цифровому выводу 13. Если значение на выводе имеет высокий потенциал, то светодиод горит.
На платформе Nano установлены 8 аналоговых входов, каждый разрешением 10 бит (т.е. может принимать 1024 различных значения). Стандартно выводы имеют диапазон измерения до 5 В относительно земли, тем не менее имеется возможность изменить верхний предел посредством функции analogReference(). Некоторые выводы имеют дополнительные функции:

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

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


Обратите внимание на соединение между выводами Arduino и портами ATmega168.

Связь

На платформе Arduino Nano установлено несколько устройств для осуществления связи с компьютером, другими устройствами Arduino или микроконтроллерами. ATmega168 и ATmega328 поддерживают последовательный интерфейс UART TTL (5 В), осуществляемый выводами 0 (RX) и 1 (TX). Установленная на плате микросхема FTDI FT232RL направляет данный интерфейс через USB, а драйверы FTDI (включены в программу Arduino) предоставляют виртуальный COM порт программе на компьютере. Мониторинг последовательной шины (Serial Monitor) программы Arduino позволяет посылать и получать текстовые данные при подключении к платформе. Светодиоды RX и TX на платформе будут мигать при передаче данных через микросхему FTDI или USB подключение (но не при использовании последовательной передачи через выводы 0 и 1).

Библиотекой SoftwareSerial возможно создать последовательную передачу данных через любой из цифровых выводов Nano.

ATmega168 и ATmega328 поддерживают интерфейсы I2C (TWI) и SPI. В Arduino включена библиотека Wire для удобства использования шины I2C. Более подробная информация находится в документации. Для использования интерфейса SPI обратитесь к техническим данным микроконтроллеров ATmega168 и ATmega328.

Программирование

Платформа программируется посредством ПО Arduino. Из меню Tools > Board выбирается «Arduino Diecimila, Duemilanove или Nano w/ ATmega168» или «Arduino Duemilanove или Nano w/ ATmega328» (согласно установленному микроконтроллеру). Подробная информация находится в справочнике и инструкциях.

Микроконтроллеры ATmega168 и ATmega328 поставляются с записанным загрузчиком, облегчающим запись новых программ без использования внешних программаторов. Связь осуществляется оригинальным протоколом STK500.

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

Автоматическая (программная) перезагрузка

Nano разработана таким образом, чтобы перед записью нового кода перезагрузка осуществлялась самой программой, а не нажатием кнопки на платформе. Одна из линий FT232RL, управляющих потоком данных (DTR), подключена к выводу перезагрузки микроконтроллеров ATmega168 или ATmega328 через конденсатор 100 нФ. Активация данной линии, т.е. подача сигнала низкого уровня, перезагружает микроконтроллер. Программа Arduino, используя данную функцию, загружает код одним нажатием кнопки Upload в самой среде программирования. Подача сигнала низкого уровня по линии DTR скоординирована с началом записи кода, что сокращает таймаут загрузчика.

Функция имеет еще одно применение. Перезагрузка Nano происходит каждый раз при подключении к программе Arduino на компьютере с ОС Mac X или Linux (через USB). Следующие полсекунды после перезагрузки работает загрузчик. Во время программирования происходит задержка нескольких первых байтов кода во избежание получения платформой некорректных данных (всех, кроме кода новой программы). Если производится разовая отладка скетча, записанного в платформу, или ввод каких-либо других данных при первом запуске, необходимо убедиться, что программа на компьютере ожидает в течение секунды перед передачей данных.

Купить сейчас

 

 

You have no rights to post comments

104-Прошивка любого Hex-файла в Arduino при помощи штатного загрузчика (Bootloader). — GetChip.net

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

Нас, прежде всего, интересуют три платы Arduino:
Arduino Uno – как самый распространенный вариант
Arduino Nano – компактный вариант, удобный для применения в небольших конструкциях
Arduino Pro Mini – дешевый компактный вариант без встроенного USB-UART преобразователя (для работы с ним понадобится внешний USB-UART преобразователь), но удобный в случае применения сети устройств.

Во всех вышеописанных платах используется микроконтроллер ATmega328 (в более старых версиях ATmega168).

Atmel-8271-8-bit-AVR-Microcontroller-ATmega48A-48PA-88A-88PA-168A-168PA-328-328P_datasheet.pdf (Одна Загрузка)

Одной из главных причин выбора платы Arduino для проекта робота была возможность записывать прошивку устройства в МК не применяя программатора и каких либо дополнительных устройств. Все что нужно для прошивки микроконтроллера Arduino – это стандартный USB шнур (который входит в комплект Arduino).

Это значит, если Вы имеете Ардуину – Вы имеете любое устройство ZiChip!

Запись программы в МК через USB происходит через специальный загрузчик (Bootloader), который записан в МК при изготовлении платы. Вообще, загрузчик предназначен для работы со своим специальным программным обеспечением Arduino IDE, но в случае, когда необходимо прошить в Ардуину что-то постороннее (свой Hex-файл), есть программки позволяющее это реализовать.

Начнем, конечно, с моей программы загрузчика
GC-Uploader

gcUploader.zip (14984 Загрузки)

Программа интересна тем, что выбранный HEX-файл будет заливаться в Ардуину автоматически после каждого его изменения. Это удобно, так как при разработке проекта каждая компиляция (обновление хекса) будет инициировать прошивку Ардуины — Вам ничего не придется делать самому! Кроме того в программе есть и ручной режим прошивки.

 

Следующая — маленькая и удобная
XLoader (Arduino HEX uploader)

XLoader.zip (23526 Загрузок)

Программка имеет аскетичный интерфейс и работать с ней предельно просто:
— подключаем Arduino в USB-порт (отдельного питания не нужно)
— выбираем Hex файл
— выбираем тип Вашего Arduino
— выбираем COM порт, который создался при подключении Arduino к USB (скорость порта автоматически подставится при выборе типа Arduino)
— жмем Upload

Это все! Ничего сложного. Прошивка через несколько секунд будет записана в МК и автоматически запустится. Один минус – программа никак не сообщает о том, что прошивка уже записана, но это можно увидеть по прекращению мерцания светодиодов RXD и TXD на Ардуине.

XLoader использует для записи прошивки AVR Dude и в качестве протокола программирования используется STK500. Но, похоже, в настройках AVR Dude, произведена коррекция, так как использование стандартного AVR Dude с такими же настройками не дает результатов.

Автоматизация XLoader.

При разработке ПО для микроконтроллера производится очень много прошивок и всегда нужно стремиться автоматизировать этот процесс после сборки проекта — это экономит время и нервы. В данном случае автоматизация усложнена, так как программа не показывает командную строку для AVR Dude (разве что подбирать опытным путем), но некоторое упрощение процесса возможно. Делается это следующим способом – после первой прошивки не закрываем окно программы (COM порт после прошивки программа отпускает) и после следующей сборки проекта просто жмем кнопку «Upload». Конечно, сборка должна осуществляться в один и тот же Hex-файл.

 

Еще одна программка
ARP Uploader (Arduino Hex Uploader and Programmer)

ArduinoUploader.zip (20380 Загрузок)

Как и предыдущая, программка имеет простой интерфейс.
Процесс прошивки тот же:
— подключаем Arduino в USB-порт (отдельного питания не нужно)
— выбираем Hex файл
— выбираем тип Вашего Arduino
— выбираем COM порт
— жмем Upload

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

При попытке прошить Arduino Nano программа отказывалась видеть МК. Причиной стала неправильная установка скорости COM порта. По умолчанию скорость стоит 19200, а нужно 57600. Скорость порта в программе не задается явно, она прописывается в строчке «AVR Dude Params» — поменяйте в ней значение 19200 на 57600.

Автоматизация ARP Uploader.
ARP Uploader как и XLoader работает через AVR Dude, но, в отличие от XLoader, показывает командную строку. Это дает возможность использовать AVR Dude напрямую в Make или Bat файле.

 

Дополнительные материалы.
Драйвера Arduino.

Считаю не лишним напомнить, что для связи Arduino с компьютером в последнем должны присутствовать драйвера. Оставляю здесь архив с драйверами для Arduino (включая и старые драйвера в Old_Arduino_Drivers.zip и драйвера для FTDI-чипа в папке «FTDI USB Drivers»

Arduino_drivers.zip (Одна Загрузка)

Стали появляться недорогие китайские Ардуины с драйвером Ch440G
Driver-Ch440G.zip (9460 Загрузок)

 

Загрузчики Arduino

Если Вы решите собрать свою плату Arduino (а сложного там ничего нет, фактически, это голый ATmega328 или ATmega168), Вам понадобится загрузчик Bootloader который должен содержать МК для работы со средой (или программками для заливки Hex-файлов). Конечно, Вам для записи Hex-файлов в чистый МК понадобится программатор и придется выставить фьюзы.

ATmegaBOOT_168_atmega328. zip (12014 Загрузок)
Для правильной работы нужно установить фьюзы следующим образом Low: FF   High: DA   Ext: 05

ATmegaBOOT_168_diecimila.zip (6174 Загрузки)
Фьюзы Low: FF   High: DD   Ext: 00

 

Схемы Arduino

Cхемы вышеописанных Ардуин.
Arduino_Uno_Rev3-schematic.pdf (10373 Загрузки)
ArduinoNano30Schematic.pdf (9374 Загрузки)
Arduino-Pro-Mini-schematic.pdf (8292 Загрузки)

 

Фьюзы установленные по умолчанию в Arduino (только с ATmega328)
Arduino Uno
Low Fuse 0xFF
High Fuse 0xDE
Extended Fuse 0x05

Arduino Duemilanove or Nano w/ ATmega328
Low Fuse 0xFF
High Fuse 0xDA
Extended Fuse 0x05

Arduino BT w/ ATmega328
Low Fuse 0xFF
High Fuse 0xD8
Extended Fuse 0x05

LilyPad Arduino w/ ATmega328
Low Fuse 0xFF
High Fuse 0xDA
Extended Fuse 0x05

Arduino Pro or Pro Mini (5V, 16 MHz) w/ ATmega328
Low Fuse 0xFF
High Fuse 0xDA
Extended Fuse 0x05

(Visited 164 945 times, 9 visits today)

Лучшие аналоги Arduino | Losst

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

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

Содержание статьи:

Arduino Uno

Плата Arduino имеет множество модификаций и распространяется в различных моделях. Одна из самых популярных серди пользователей — Arduino Uno. Это самое старое устройство. Оно появилось в 2005 году, как инструмент для студентов. Затем устройство было модифицировано улучшено и клонировано множество раз. Микрокомпьютер Arduino сделал революцию в программировании и электронике.

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

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

Лучшие альтернативы Arduino

1. Raspberry Pi Zero

Raspberry Pi Zero — это, по сути, такая же самая оригинальная плата Raspberry Pi Model A+, только уменьшенная до размеров платежной карты. Вы можете приобрести ее за 5-8$. Когда устройство только появилось, оно отправлялось в качестве бесплатного подарка подписчикам журнала MagPi. Этот микрокомпьютер может запустить полноценный дистрибутив Linux и в то же время он достаточно дешевый.

Плата имеет точно такие же возможности, как и Raspberry Pi A+, на ней можно запустить Raspbian или любую другую совместимую операционную систему. Процессора с частотой 1 ГГц и 512 Мб оперативной памяти вряд-ли хватит на что-либо серьезное, но вы можете использовать устройство в качестве микроконтроллера, альтернативы Arduino.

Здесь есть 2 порта microUSB, но нет Ethernet, Bluetooth или Wifi. Но переходники и платы расширений для включения нужных вам технологий можно приобрести достаточно недорого. Это самый мощный из перечисленных микрокомпьютеров, поэтому он используется для сложных задач, которые не всегда по плечу для Arduino, например, обработка данных и визуализация.

2. NodeMCU

NodeMCU — это очень интересный микроконтроллер, который предлагает множество возможностей, особенно учитывая его цену. В отличие от Arduino, который использует 8 битный ATMEA с частотой 16 МГц, здесь используется чипсет ESP8266 с 32 битным процессором Tensilica Xtensa LX106 80 МГц, также здесь есть Wifi, встроенная поддержка TCP/IP, 4 мегабайта встроенного хранилища и 20 кб ОЗУ. В дополнение ко всему тут есть 10 выходов GPIO.

К устройству можно подключать различные компоненты, такие как мониторы, сенсоры или сервоприводы. Как и Arduino, его очень просто использовать, достаточно написать код и загрузить его на устройство по USB. Программы пишутся на Lua, это интерпретируемый язык программирования, похожий на Python или Ruby. Вы можете заказать NodeMCU за $3 из китая или найти более дорогую версию на Amazon.

3. Particle Photon

Particle Photon — это устройство для реализации различных веб-проектов. Устройство поставляется с Wifi и является одной из лучших альтернатив Arduino на данный момент. В качестве процессора используется Cortex ARM M3 с частотой 120 МГц. Писать программы для него нужно так же как и для Arduino, просто пишите код и загружаете его на устройство.

4. ESP8266

ESP8266 — это микроконтроллер с поддержкой Wifi, который набирает популярность среди энтузиастов в электронике. Он стоит дешевле Arduino, но может программироваться в той же Arduino IDE. Но для его питания нужно подавать 3.3 вольта а не 5. Устройство поставляется со встроенным регулятором питания и несколькими портами ввода-вывода.

5. Teensy

Teensy — это самая популярная альтернатива Arduino, которая может использоваться для создания любого DIY проекта. Здесь есть загрузчик, с помощью которого вы можете загружать в память программу даже с USB флешки. С помощью него вы можете эмулировать любое USB устройство, а в качестве процессора используется ARM Cortex M4 с частотой 180 МГц, и 256 Кб оперативной памяти. И здесь тоже можно использовать Arduino IDE.

6. BeagleBone

Устройство использует ARM Cortex V8 с частотой 700 МГц и 256 мегабайт оперативной памяти DDR2, а также флешку объемом 4 Гб. В качестве языков программирования могут использоваться Python, C, C++, PHP, JavaScript. Устройство поддерживает установку SD карты, а также есть USB порт, через который можно подключать различные расширения, например, Ethernet или другой компьютер.

5. MSP430

MSP430 — это альтернатива Arduino, очень похожая на оригинальную плату, но потребляет очень мало энергии, благодаря использованию 16-битного MCU. В качестве среды для разработки программ может использоваться Energia IDE. Микроконтроллер имеет собственную архитектуру что и выделяет его среди других.

6. STM32

STM32 — это дешевый 32-битный микроконтроллер, от STMicroelectronics, одна из лучших альтернатив Arduino. Здесь используется своя среда разработки Keli, а также программатор ST-Link. Устройство использует чип ARM Cortex 32-bit M3 с тактовой частотой 24 МГц и 8 кб оперативной памяти. Среди других преимуществ можно отметить низкое потребление энергии, обработку цифровых сигналов и так далее.

Выводы

В этой статье мы рассмотрели аналоги Arduino uno, которые вы можете использовать в своих проектах. А какое устройство вы бы выбрали? Что используете? Напишите в комментариях!

Программирование

— загрузка Arduino Nano выдает ошибку: avrdude: stk500_recv (): программист не отвечает

Аналогичная проблема с моим Sainsmart Nano .

В настройках установите флажок «Показывать подробный вывод во время [x] загрузки, затем при загрузке вы должны получить красный след, подобный этому:

  avrdude: версия 5.11, скомпилирована 2 сентября 2011 г. в 18:52:52
         Авторские права (c) Брайан Дин, 2000-2005 гг., Http://www.bdmicro.com/
         Авторское право (c) 2007-2009 Йорг Вунш

         Общесистемный файл конфигурации - "/ Applications / Arduino.app / Contents / Resources / Java / hardware / tools / avr / etc / avrdude.conf "
         Файл конфигурации пользователя: /Users/johannes/.avrduderc
         Файл конфигурации пользователя не существует или не является обычным файлом, пропускаем

         Использование порта: /dev/tty.usbserial-A403MRTP
         Использование программатора: arduino
         Преобладающая скорость передачи данных: 57600
avrdude: Отправить: 0 [30] [20]
avrdude: Отправить: 0 [30] [20]
avrdude: Отправить: 0 [30] [20]
  

Вы заметите небольшую «паузу» непосредственно перед первой строкой avrdude: Send: 0 [30] [20] . Попробуйте выполнить загрузку еще раз и держите палец наготове на кнопке физического сброса на вашем Nano . Как раз за мгновение до появления первого avrdude: ... нажмите кнопку сброса.

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

  [78]. [00] S [53] h [68] o [6f] u [75] l [6c] d [64] [20] b [62] e [65] [20] 0 [30] x [78] 4 [34] 9 [39] D [44] 4 [34].[00]. [01]. [00]. [00]. [00]. [02]. [00]. [03]. [00]. [04]. [00]. [00]. [00]. [00]. [00]. [e6]. [06]. [b5]. [06] n [6e]. [06] w [77]. [06]. [8c]. [06]. [9d]. [06]. [00]. [00]. [00]. [00]. [02]. [0d]. [аа]. [0d]. [95]. [0c]. [c9]. [0c]. [a9]. [0c]. [f2]. [0c]. [00]
avrdude: Recv:. [10]
# | 100% 3,71 с

avrdude: проверяем ...
avrdude: проверено 8824 байта флэш-памяти
avrdude: Отправить: Q [51] [20]
avrdude: Recv:. [14]
avrdude: Recv:. [10]

avrdude сделано. Спасибо. 

Arduino Nano — JavaTpoint

Arduino Nano — это небольшая плата Arduino на базе микроконтроллера ATmega328P или ATmega628. Возможности подключения такие же, как у платы Arduino UNO.

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

Устройства, необходимые для запуска наших проектов с использованием платы Arduino Nano, — это Arduino IDE и mini USB. Программное обеспечение Arduino IDE должно быть установлено на наш уважаемый ноутбук или настольный компьютер. Мини-USB передает код с компьютера на плату Arduino Nano.

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

Arduino Nano показан ниже:

Почему используется Arduino Nano?

Используя постоянное напряжение, Arduino Nano используется для создания часов с точной частотой.

В чем разница между платой Arduino UNO и Nano?

  • Arduino Nano имеет компактный размер и кабель мини-USB, чем Arduino UNO. Мы можем использовать Nano вместо UNO, потому что оба работают на микроконтроллере ATmega328p.
  • Arduino UNO также легче доступна, чем Nano. Она считается стандартной доской, доступной на рынке, которую легко использовать как новичкам, так и новичкам.
  • Nano доступен в PDIP (Plastic Dual — Inline Package), а Arduino UNO доступен в TQFP (Plastic Quad Flat Pack).
  • Arduino UNO включает 6 аналоговых входов, 14 цифровых контактов, USB-разъем, разъем питания и заголовок ICSP (внутрисхемное последовательное программирование). Arduino Nano включает набор контактов ввода / вывода из 14 цифровых контактов и 8 аналоговых контактов. Он также включает в себя 6 контактов питания и 2 контакта сброса.

Память

Память в Arduino Nano показана на изображении ниже:

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

Технические характеристики

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

  • Рабочее напряжение платы Nano варьируется от 5В до 12В.
  • Всего контактов в Nano 22 входа / выхода.
  • Имеется 14 цифровых контактов и 8 аналоговых контактов.
  • Среди 14 цифровых контактов имеется 6 контактов PWM (широтно-импульсной модуляции). 6 контактов PWM в Arduino Nano используются для преобразования цифровых сигналов в аналоговые.Преобразование происходит за счет изменения ширины импульса.
  • Кварцевый генератор, присутствующий в Arduino Nano, имеет частоту 16 МГц.
  • Arduino Nano используется в различных приложениях, таких как Робототехника, системы управления, контрольно-измерительные приборы, автоматизация и встроенные системы.
  • Проекты, созданные с использованием Arduino Nano: QR Code Scanner, DIY Arduino Pedometer, и т. Д.
  • Мы также можем подключить Arduino Nano к Wi-Fi.
  • Функциональность Nano аналогична Arduino UNO.
  • Гибкость и экологичность Nano делают его уникальным выбором для создания электронных устройств и проектов компактного размера.

Как начать работу с Arduino Nano?

Мы можем запрограммировать Arduino Nano с помощью Arduino IDE.

Мы также можем использовать веб-редактор Arduino, который позволяет загружать эскизы и писать код из нашего веб-браузера (рекомендуется Google Chrome) на любую плату Arduino.Это онлайн-платформа.

Шаги для начала работы с Arduino Nano перечислены ниже:

  1. Откройте код или скетч, написанный в программе Arduino.
  2. Выберите порт и тип платы.
    Микроконтроллер ATmega328p используется в Arduino Nano. Итак, выберем Процессор как ATmega328p.
    Нажмите «Инструменты» и выберите Processor , как показано ниже:
  3. Теперь загрузите и запустите написанный код или скетч.

Для загрузки и запуска нажмите кнопку на верхней панели дисплея Arduino, как показано ниже:

В течение нескольких секунд после компиляции и запуска кода или скетча на плате Arduino будут мигать индикаторы RX и TX.

Сообщение « Done Uploading » появится после успешной загрузки кода. Сообщение будет видно в строке состояния.


Ардуино Нано 3.0 с ATMEGA328

В НАЛИЧИИ! Готов к отправке.

Вышла новая версия Arduino Nano 3.0!

Что нового?

ATMEGA328 (больше флэш-памяти и оперативной памяти)
Синий индикатор питания сверху
Контакты A0-A7, совместимые с Arduino Stamp и Pro Mini
Двухслойная печатная плата
Более низкая стоимость
Легче взломать файл Eagle

Что такое Ардуино?

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

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

Arduino получила почетное упоминание в разделе «Цифровые сообщества» на конкурсе Ars Electronica Prix 2006 года. Кредиты

Обзор Arduino Nano:

Arduino Nano — это встраиваемая макетная плата для поверхностного монтажа со встроенным USB. Это самый маленький, полный и удобный для макета. В нем есть все, что есть у Diecimila / Duemilanove (электрически), с большим количеством аналоговых входных контактов и встроенной перемычкой + 5V AREF. Физически на нем отсутствует разъем питания. Nano автоматически распознает и переключается на источник питания с более высоким потенциалом, перемычка выбора мощности не требуется.

Nanos получил возможность макетирования Boarduino и Mini + USB с меньшей занимаемой площадью, чем любой из них, поэтому у пользователей больше места для макета. Он имеет схему контактов, которая хорошо работает с Mini или Basic Stamp (TX, RX, ATN, GND на одной вершине, питание и заземление на другой). Эта новая версия 3.0 поставляется с ATMEGA328, который предлагает больше памяти для программирования и данных. Это два слоя. Это упрощает взлом и делает его более доступным.

В итоге с Nano вы платите меньше, чем с Mini и USB вместе взятыми!

Характеристики:

Микроконтроллер & nbsp Atmel ATmega328
Рабочее напряжение (логический уровень) & nbsp 5 В
Входное напряжение (рекомендуемое) & nbsp 7-12 В
Входное напряжение (пределы) & nbsp 6-20 В
Цифровые контакты ввода / вывода & nbsp 14 (из которых 6 обеспечивают выход ШИМ)
Аналоговые входные контакты & nbsp 8
Постоянный ток на контакт ввода / вывода & nbsp 40 мА
Флэш-память & nbsp 32 КБ (из которых 2 КБ используется загрузчиком)
SRAM & nbsp 2 КБ
EEPROM & nbsp 1 КБ
Тактовая частота & nbsp 16 МГц
Размеры & nbsp 0. 70 х 1,70

Функции:

Автоматический сброс во время загрузки программы
Синий светодиод Power OK
Зеленый (TX), красный (RX) и оранжевый (L) светодиод
Вход питания с автоматическим определением / переключением
Малый USB-порт mini-B для программирования и мониторинга последовательного порта
Заголовок ICSP для прямая загрузка программы
Стандартный интервал 0,1 DIP (совместим с макетной платой)
Переключатель ручного сброса

Мощность:

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

Документы:

Схема Arduino Nano 3.0
Руководство пользователя Arduino Nano 3.0 (распиновка и размеры)
Файлы дизайна Eagle
Лист данных ATmega328
Домашняя страница Arduino
Справочник по программированию
Arduino Forum

Посмотрите свою сборку Arduino Nano!

Сборка Arduino Nano 3.0 от Gravitech на Vimeo.

ПРИМЕЧАНИЕ. На изображениях ниже показан ATMEGA168.Arduino Nano 3.0 теперь поставляется с ATMEGA328.

Функции, расположение выводов, различия и их применение

В этой статье дается подробная информация о плате Arduino Nano, которая представляет собой один из видов платы микроконтроллера, разработанный командой Arduino. Этот микроконтроллер основан на Atmega168 или Atmega328p. Она довольно похожа на плату Arduino Uno, но когда дело доходит до конфигурации контактов и функций, эта нано-плата заменила Arduino Uno из-за своего небольшого размера. Как известно, при проектировании встраиваемой системы предпочтительны компоненты небольшого размера. Платы Arduino в основном используются для создания электронных проектов. встроенные системы, робототехника и т.д. Но наноплаты в основном представлены для новичков, не имеющих технического образования.

Что такое плата Arduino Nano?

Arduino Nano — это один из типов платы микроконтроллера, разработанный Arduino.cc. Он может быть построен с помощью микроконтроллера, такого как Atmega328. Этот микроконтроллер также используется в Arduino UNO.Это плата небольшого размера, которая также может использоваться в самых разных областях. Другие платы Arduino в основном включают Arduino Mega, Arduino Pro Mini, Arduino UNO, Arduino YUN, Arduino Lilypad, Arduino Leonardo и Arduino Due. И другие платы для разработки — это AVR Development Board, PIC Development Board, Raspberry Pi, Intel Edison, MSP430 Launchpad и ESP32.

Эта плата имеет множество функций и возможностей, как и плата Arduino Duemilanove. Однако эта плата Nano отличается упаковкой.У него нет разъема постоянного тока, поэтому источник питания можно подавать через небольшой USB-порт, в противном случае напрямую подключенный к контактам, таким как VCC и GND. На эту плату можно подавать напряжение от 6 до 20 вольт через порт mini USB на плате.

Функции Arduino Nano

Особенности Arduino nano в основном включают следующее.

Arduino-nano-board
  • Микроконтроллер ATmega328P из семейства 8-битных AVR
  • Рабочее напряжение 5 В
  • Входное напряжение (Vin) от 7 В до 12 В
  • Выводы ввода / вывода: 22
  • Аналоговые выводы ввода / вывода: 6 от A0 до A5
  • Цифровые контакты 14
  • Потребляемая мощность 19 мА
  • Контакты ввода / вывода Постоянный ток 40 мА
  • Флэш-память 32 КБ
  • SRAM 2 КБ
  • EEPROM 1 КБ
  • Скорость CLK составляет 16 МГц
  • Вес — 7 г
  • Размер печатной платы 18 X 45 мм
  • Поддерживает три вида связи, такие как SPI, IIC и USART

Arduino Nano Pinout

Конфигурация нано-контактов Arduino показана ниже и каждая функция вывода обсуждается ниже.

Arduino-nano-pinout

Вывод питания (Vin, 3,3 В, 5 В, GND): Эти выводы являются выводами питания

  • Vin — входное напряжение платы, и оно используется при использовании внешнего источника питания от 7В до 12В.
  • 5V — это регулируемое напряжение питания платы nano, которое используется для подачи питания на плату, а также на компоненты.
  • 3,3 В — минимальное напряжение, которое генерируется регулятором напряжения на плате.
  • GND — вывод заземления платы

Вывод RST (сброс): Этот вывод используется для сброса микроконтроллера

Аналоговые выводы (A0-A7): Эти выводы используются для расчета аналогового напряжения платы в диапазоне от 0 В до 5 В

Контакты ввода / вывода (цифровые выводы от D0 до D13): Эти выводы используются как выводы ввода / вывода, в противном случае — выводы / выводы.0 В и 5 В

Последовательные выводы (Tx, Rx): Эти выводы используются для передачи и приема последовательных данных TTL.

Внешние прерывания (2, 3): Эти выводы используются для активации прерывания.

PWM (3, 5, 6, 9, 11): Эти контакты используются для обеспечения 8-битного выходного сигнала PWM.

SPI (10, 11, 12, и 13): Эти контакты используются для поддержки связи SPI.

Встроенный светодиод (13): Этот вывод используется для включения светодиода.

IIC (A4, A5): Эти контакты используются для поддержки связи TWI.

AREF: Этот штырь используется для передачи опорного напряжения к входному напряжению

Разница между Arduino UNO и Arduino Nano

На платформе Arduino Nano плата похожа на Arduino UNO плате, включая аналогичный микроконтроллер, как ATmega328P. Таким образом, они могут использовать похожую программу. Основное различие между ними — размер. Потому что размер Arduino Uno вдвое больше, чем у нано-платы.Таким образом, платы Uno занимают больше места в системе. Программирование UNO может быть выполнено с помощью кабеля USB, тогда как Nano использует кабель mini USB. Основные различия между этими двумя перечисленными в следующей таблице.

разница-между-Arduino-UNO-и-Arduino-nano

Связь Arduino Nano

Связь платы Arduino Nano может осуществляться с использованием различных источников, таких как дополнительная плата Arduino, компьютер или микроконтроллеры. Микроконтроллер, используемый на плате Nano (ATmega328), обеспечивает последовательную связь (UART TTL).Это может быть доступно на цифровых выводах, таких как TX и RX. Программное обеспечение Arduino состоит из последовательного монитора, позволяющего легко передавать и получать текстовую информацию с платы.

Светодиоды TX и RX на плате Nano будут мигать всякий раз, когда информация отправляется через соединение FTDI и USB в направлении компьютера. Подобный библиотеке SoftwareSerial обеспечивает последовательную связь на любом из цифровых контактов на плате. Микроконтроллер также поддерживает связь SPI и I2C (TWI).

Программирование Arduino Nano

Программирование Arduino nano может быть выполнено с помощью программного обеспечения Arduino. Нажмите кнопку «Инструменты» и выберите нано-доску. Микроконтроллер ATmega328 поверх платы Nano поставляется с запрограммированным загрузчиком. Этот загрузчик позволяет загружать новый код без использования внешнего аппаратного программиста. Сообщение об этом может быть выполнено с помощью протокола STK500. Здесь также можно избежать загрузчика, а программу микроконтроллера можно выполнить, используя заголовок последовательного программирования в схеме или ICSP с ISP Arduino.

Приложения Arduino Nano

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

Таким образом, это все об обзоре даташита Arduino nano. Из приведенной выше информации, наконец, мы можем сделать вывод, что для новичков, которые плохо знакомы с электроникой, эта плата Nano настоятельно рекомендуется выбрать эту плату из-за ее функций, таких как низкая стоимость и очень проста в использовании в различных приложениях. Эту плату можно просто подключить к любому компьютеру через порт mini USB. Вот вам вопрос, что такое драйвер Arduino nano?

Какая самая маленькая плата Arduino самая лучшая? — Руководство по сравнению

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

Не хватает места на вашем проекте Arduino? Нужна небольшая плата Arduino?

Однако в настоящее время существует так много небольших плат Arduino.Какой из них использовать?

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

В этом сравнительном руководстве мы рассмотрим следующие самые маленькие платы Arduino, существующие в настоящее время, в порядке убывания от маленького к меньшему.

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

  • Nano
  • Micro
  • Pro Mini
  • Trinket — By Adafruit
  • Beetle — By DFRobot
  • Seeeduino XIAO
  • Atto — By Nionics

Без лишних слов, давайте перейдем к первой доске!


45 мм x 18 мм

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

Работая на частоте 16 МГц с 32 КБ памяти программ, 1 КБ EEPROM, 2 КБ ОЗУ, 14 цифровых входов / выходов, 6 аналоговых входов и шины 5 В и 3,3 В, Arduino укомплектован периферийными устройствами для своего размера. Он имеет более или менее та же функциональность, что и у Arduino Duemilanove, но в другом корпусе.В нем отсутствует только разъем питания постоянного тока, и он работает с USB-кабелем Mini-B вместо стандартного.

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

Нужны дополнительные периферийные устройства для Arduino Nano? Обратите внимание на Grove Shield для Arduino Nano, который вытаскивает контакты из материнской платы и расширяется до 8 разъемов Grove, включая 3 цифровых разъема Grove, 3 аналоговых разъема Grove, 1 разъем Grove I2C и 1 разъем Grove UART.

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

Характеристики: 900 EEPROM
Характеристики Arduino Nano v3
Микроконтроллер ATmega328
Рабочее напряжение 5V
5V
Выводы включения ШИМ 6
Аналоговые выводы ввода / вывода 8
Флэш-память 32 КБ

SRAM 9004 2 9004

1 КБ
Тактовая частота 16 МГц
Размер 45 мм x 18 мм
Цена 45 долларов США. 90

Хотите лучше и дешевле Arduino Nano? Мы вас прикрыли! Представляем Seeeduino Nano!

Seeeduino Nano — это компактная плата, аналогичная Seeeduino V4.2 / Arduino UNO, и она полностью совместима с Arduino Nano по распиновке и размерам. По сравнению с Arduino Nano, Seeeduino Nano намного дешевле — всего 6,90 доллара. И что лучше всего, это даже лучше.

Во-первых, это замена mini USB на Type-C, который будет симметричным и обратимым.Во-вторых, это добавление одного из наших разъемов Grove I2C, где с помощью системы Grove вы можете подключать и играть с сотнями датчиков и исполнительных механизмов!

Характеристики:

Технические характеристики Seeeduino Nano
Микроконтроллер ATmega328
Рабочее напряжение 5V33
Цифровой 9014 9014
Выводы включения ШИМ 6
Аналоговые выводы ввода / вывода 8
Флэш-память 32 КБ
SRAM 2 9014 9014 2 EEPROM 1 КБ
Тактовая частота 16 МГц
Размер 45 мм x 18 мм
Цена $ 6. 90

48 мм x 18 мм

Далее идет Arduino Micro. Micro немного больше, чем Nano, и был аналогичным образом разработан для установки на макетную плату без пайки. Однако он питается от ATmega32U4, который отличается от Nano. По размеру он немного больше, чем Arduino Nano: 48 x 18 мм.

По сравнению с Nano, Micro поставляется с большим количеством периферийных устройств для нужд вашего проекта.С 20 выводами цифрового ввода / вывода, 12 аналоговыми входами и 7 выводами с включенной ШИМ. Кроме того, благодаря встроенному USB-порту вы можете легко использовать его в качестве мыши, клавиатуры и т. Д. Однако загрузчик Micro может быть запрограммирован только с USB, для которого требуется специальный драйвер. В Linux только несколько отдельных версий имеют необходимый драйвер.

В принципе, если вы знаете Arduino Leonardo, Arduino Micro — это его уменьшенная версия, а Arduino Nano — это уменьшенная версия Arduino Uno.

Характеристики:

SR

9014

5 Цена
Технические характеристики Arduino Micro
Микроконтроллер ATmega32u4
Рабочее напряжение 5V
Цифровой Pins
Выводы с включенным ШИМ 7
Аналоговые выводы ввода / вывода 12
Флэш-память 32 КБ (4 КБ используется загрузчиком)
2 2.5 КБ
EEPROM 1 КБ
Тактовая частота 16 МГц
Размер 48 мм x 18 мм

33 мм x 18 мм

Arduino Pro Mini. По сути, они представляют собой Arduino Pro, но занимают гораздо меньшую площадь. Разъемы и схема преобразования USB-последовательного интерфейса удалены, оставив Arduino Pro Mini с минимумом.В Pro Mini больше контактов выломано из Pro.

При таком маленьком размере Pro Mini определенно не совместим с экраном, но они совместимы с макетной платой с припаянными штыревыми разъемами. Его размер также позволяет легко встраивать их в ваши проекты. При программировании Pro Mini вам понадобится нечто большее, чем просто USB-кабель. Вам понадобится внешняя плата для преобразования USB с вашего настольного компьютера в последовательный, где Arduino может обрабатывать с помощью чего-то вроде последовательного преобразователя USB CP2102.

Pro Mini выпускается в двух вариантах: 5 В / 16 МГц и 3,3 В / 8 МГц, где 5 В работает с тем же напряжением и скоростью, что и Arduino Nano и Micro. С платой 3V скорость ниже и потребляет меньше энергии, что упрощает питание вашей платы от батареек.

Характеристики:

Технические характеристики Arduino Pro Mini
Микроконтроллер ATmega328
Рабочее напряжение 5 В / 3.3V
Цифровые выводы ввода / вывода 14
Выводы с включенным ШИМ 6
Аналоговые выводы ввода / вывода 6
32 КБ (2 КБ используется загрузчиком)
SRAM 2 КБ
EEPROM 1 КБ
Размер тактовой частоты 8/1624 33 мм x 18 мм
Цена 9 $.95

Брелок M0 — от Adafruit

27 мм x 15,3 мм

Брелок от Adafruit также был довольно популярен из-за своего крошечного размера около 27 мм x 15,3 мм. Он основан на чипе ATSAMD21E18, который является одним из самых мощных чипов на рынке. Несмотря на то, что это не Arduino, этот микроконтроллер может быть запрограммирован с помощью Arduino IDE и также работает как он. Кроме того, Trinket также можно программировать с помощью схемного питона.

Однако при таком маленьком размере вы жертвуете встроенными периферийными устройствами, как вы можете видеть, Trinket допускает только 5 контактов GPIO с цифровым вводом / выводом.

Характеристики:

Технические характеристики Trinket M0
Микроконтроллер ATSAMD21
Рабочее напряжение 3.3V
3,3 В
Цифровой контактов
Выводы с включенным ШИМ 2
Аналоговые выводы ввода / вывода 3
Флэш-память 256 КБ

SRAM 9004

EEPROM
Тактовая частота 48 МГц
Размер 27 мм x 15. 3 мм
Цена $ 8.95

Beetle — Автор DFRobot

20 мм x 22 мм

Далее у нас есть Beetle, одна из самых маленьких плат Arduino Leonardo. Поскольку это одна из самых маленьких плат Leonardo, она питается от ATmega32u4, которая похожа на Arduino Micro.

При размере 20 мм x 22 мм, Beetle определенно является одной из самых маленьких плат Arduino на рынке в настоящее время.Он работает на частоте 16 МГц, имеет 10 цифровых контактов, 5 аналоговых контактов и 4 контакта PWM. Он также совместим с micro USB, чтобы сделать его удобным для пользователя, где вы можете напрямую программировать и тестировать с помощью платы.

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

Как и в случае с Trinket от Adafruit, наличие такой крошечной платы означает, что вам придется пожертвовать ее встроенными периферийными устройствами.

Однако, если вы хотите, чтобы на вашей плате было больше периферийных устройств, например, больше контактов ввода / вывода и контактов PWM? Дальше появится еще более маленькая доска, возможно, то, что вы ищете!

Характеристики:

Спецификации Beetle
Микроконтроллер ATmega32u4
Рабочее напряжение 5V
Цифровой PWM Enabled Pins 4
Аналоговые контакты ввода / вывода 5
Флэш-память 32 КБ (4 КБ используется загрузчиком)

2 SRAM 2.5кб


20 мм x 17,5 мм

Следующим в этом списке будет наш последний Seeeduino XIAO. Он питается от мощного ATSAMD21, похожего на Trinket M0. Благодаря меньшей занимаемой площади и более высокой скорости по сравнению с большинством плат Arduino, Seeeduino XIAO идеально подходит для интеграции практически в любые проекты, от носимых устройств до небольших роботов.

При размерах всего 23,5 x 17,5 эта доска размером с ваш большой палец. Seeeduino XIAO — самая маленькая совместимая с Arduino плата в семействе Seeeduino. Это микроконтроллер Arduino со встроенным микрочипом SAMD21 с богатыми интерфейсами, что позволяет ему быть крошечным разработчиком. Доска тоже.

Помимо мощного процессора, Seeeduino XIAO отлично справляется со многими другими функциями. Несмотря на небольшой размер, он имеет 14 контактов GPIO, которые можно использовать для 11 аналоговых контактов, 11 цифровых контактов, 1 интерфейса I2C, 1 интерфейса UART и 1 интерфейса SPI. Некоторые PIN-коды имеют различные функции, контакты A1 / D1 — A10 / D10 имеют функции PWM, а Pin A0 / D0 имеет функцию DAC , что означает, что вы можете получать настоящие аналоговые сигналы, а не сигналы PWM, когда вы определяете его как аналоговый контакт, то есть почему 14 ПИН-кодов GPIO позволяют реализовать больше ПИН-кодов ввода-вывода и интерфейсов.

Плата также совместима с макетной платой, что очень редко для такой маленькой платы!

Seeeduino XIAO поддерживает интерфейс USB Type-C, который обеспечивает питание и загрузку кода. Кроме того, на задней панели XIAO есть блоки питания, которые поддерживают батарею и упрощают проектирование носимых устройств. Помимо светодиода питания, мы также добавили пользовательский светодиод на плату для лучшего программирования.

Обычно Dev. Плата такого размера, как этот размер, будет использовать внутренний кварцевый осциллятор чипа для фиксации времени, чтобы сделать часы более точными, Seeeduino XIAO размещает дополнительные 32.768 кГц, чтобы часы были более стабильными.

И, конечно же, Seeeduino XIAO полностью совместим с Arduino IDE, что позволяет легко разрабатывать небольшие проекты с помощью большой и всеобъемлющей библиотеки Arduino.

Лучшая новость в том, что вы можете получить все функции, упакованные на крошечной плате, всего за 4,90 доллара! Ух ты!

Характеристики:

Спецификации Seeeduino XIAO
Микроконтроллер ATSAMD21
Рабочее напряжение 3. 3V
Цифровые выводы ввода / вывода 11
Выводы с включенным ШИМ 10
Аналоговые выводы ввода / вывода 11
256 КБ
SRAM 32 КБ
EEPROM
Тактовая частота 48 МГц
Размер . 905 мм x 17,5 мм
Цена $ 4,90

Atto — By Nionics

11,5 мм x 10,4 мм

Наконец, у нас есть Atto, которая, вероятно, является самой маленькой совместимой с Arduino платой, имеющей размеры 11,5 x 10,3 мм. Однако при таком маленьком размере действительно ли он достаточно мощный и способный запускать что угодно?

Плата, похожая на Arduino Leonardo и предыдущую плату Beetle, питается от ATmega32u4. Несмотря на то, что он такой маленький, он имеет несколько функций, в том числе кнопку сброса, встроенный USB, а также светодиод RGB.

Однако реальным недостатком этого продукта является то, что контакты несовместимы с макетной платой, поскольку контакты расположены ближе друг к другу на 0,05 дюйма по сравнению с 0,1 дюйма на плате Arduino. Это означает, что у вас нет платформы, на которой можно было бы создавать и тестировать электронные схемы. Если вы хотите использовать его с макетной платой, вам понадобится расширение макета, что означает более высокую стоимость.

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

Характеристики:

Спецификации Beetle
Микроконтроллер ATmega32u4
Рабочее напряжение 5V
Цифровой Выводы с включенным ШИМ 4
Аналоговые выводы ввода / вывода 4
Флэш-память 32 КБ (4 КБ используется загрузчиком)

2 SRAM 2. 5кб

Резюме

Наконец, теперь вы знаете, на что способна каждая плата, какая небольшая плата Arduino лучше остальных?

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

SRAM мм 900 мм 900 мм
Плата Микроконтроллер Рабочее напряжение Выводы цифрового ввода / вывода Выводы включения ШИМ Выводы аналогового ввода / вывода Флэш-память EEPROM Тактовая частота Размер Цена
Arduino Nano v3 ATmega328 5V 6 2 КБ 1 КБ 16 МГц 45 мм x 18 мм $ 45. 90
Seeeduino Nano ATmega328 5V 22 6 8 32KB 2KB 1KB 16MHz 14 452 16MHz Arduino Micro ATmega32u4 5V 20 7 12 32 КБ 2,5 КБ 1 КБ 16 МГц 48 мм x 18 мм $ 24.90
Arduino Pro Mini ATmega328 5 В / 3,3 В 14 6 6 32 КБ 2 КБ 1 КБ 8/1614 33 мм $ 9,95
Брелок M0 ATSAMD21 3,3 В 5 2 3 256 КБ 32 КБ 48 МГц 27 мм3 мм.
Seeeduino XIAO
ATSAMD21
3,3 В 11 10 11 256 КБ 32 КБ 48 МГц 23. 5 мм x 17,5 мм $ 4,90
Atto ATmega32u4 5V 12 4 4 32KB 2,5KB 1KB мм 1KB $ 18

Итак, какой из них вам подходит? Вот мои рекомендации:

Следите за нами и ставьте лайки:

Продолжить чтение

Создание программатора ATtiny44 / 24/84 с использованием Arduino Nano

В этом руководстве будет продемонстрировано, как создать программатор, который может напрямую прошивать микроконтроллеры ATtiny
от Atmel, используя только Arduino Nano и несколько дополнительных компонентов.Программатор будет работать без изменений с ATtiny44, ATtiny24 и ATtiny84, и его легко адаптировать к ATTiny25 / 45/85, перенастроив проводку макета.

Зачем мне использовать Raw AVR Micro?

Это руководство возникло, потому что я создавал декодер матричной клавиатуры для системы безопасности
. Я создал его прототип с помощью Arduino Nano (мой любимый Arduino), но поскольку декодер клавиатуры
должен был быть просто периферийным устройством, подключенным через I2C к остальной части системы
, использование полностью Arduino в финальной версии казалось расточительным. строить.Я хотел, чтобы вся электроника
аккуратно поместилась за клавиатурой, а Arduino добавила бы корпусу слишком большой глубины
.

Кроме того, прошло много лет с тех пор, как я в последний раз программировал необработанный микроконтроллер, и я чувствовал
как вызов. И быстрый гугл обнаружил много противоречивой информации. Многие из
человек установили множество микросхем AVR с помощью Arduino, но я не смог найти многих, использующих
Nano, а из тех, кто это сделал, ни один не был нацелен на 14-контактные устройства, такие как ATtiny44.

Что вы уже должны знать

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

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

Купить подлинную Arduino Nano на Amazon

Предпосылки программирования устройств AVR

Программирующие микроконтроллеры: плохие старые времена…

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

В 90-е годы, будучи молодым дипломированным инженером, я писал код для своих хобби-проектов
по вечерам, часто с «освобожденной» копией компилятора. Затем на работе, в обеденный перерыв
или задерживаясь допоздна, я воспользовался возможностью использовать программаторы EPROM
и УФ-стиратели компании, чтобы фактически перенести код на чип.Конечно, я не узнал бы, сработает ли
, пока я не вернусь домой, а потом мне придется ждать до следующего дня, чтобы исправить
любые ошибки!

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

Но в конце 90-х все стало меняться. Microchip Inc. представила широкий ассортимент дешевых микроконтроллеров
, сделала их широко доступными в пакете DIP, и даже
выпустила среду IDE, которая упростила их программирование и отладку.

К началу 2000-х я был удивлен, что смог купить программатор для PIC, который стоил
«всего» за пару сотен фунтов.

Почему Arduino отличается

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

Каждый раз, когда вы нажимаете «Загрузить» в Arduino IDE, ваш код компилируется и волшебным образом отправляется
в Arduino через USB. На самом деле здесь много всего происходит под капотом, о чем вы,
, блаженно не подозреваете. Одним из факторов, который так долго делал Arduino столь привлекательным для
любителей, является легкость, с которой вы можете развертывать код на оборудовании.

Загрузчик Arduino

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

Загрузчик — это небольшая (примерно 500 байт) программа, которая находится во флэш-памяти Arduino
, и каждый раз, когда микросхема перезагружается (через сигнал DTR от USB / последовательного порта),
ищет определенную подпись байтов на UART, и, если они видны, эмулирует
аппаратного программатора и записывает образ программы, полученный через UART, во флэш-память,
, очевидно, избегает перезаписи.

Chicken & Egg: Итак, как добраться до загрузчика?

Итак, вам, вероятно, интересно, как код загрузчика вообще попадает в AVR.
Очевидно, загрузчик не может загрузиться сам. Это похоже на парадокс.

Ответ прост: он программируется с помощью интерфейса внутрисистемного программирования.
Это специальный интерфейс, который Atmel встроил во все микросхемы AVR, чтобы можно было программировать устройство
«в полевых условиях», или, другими словами, когда оно установлено в его последней системе
, а не заранее.

Похоже, у нас есть два варианта программирования необработанного микроконтроллера AVR: мы можем использовать загрузчик
и последовательный (или USB) порт, или мы можем использовать ISP. Но поскольку сам загрузчик
должен быть установлен через ISP, оказывается, у нас есть только один выбор: для того, чтобы сделать что-нибудь
вообще, мы должны реализовать ISP. И как только мы сможем это сделать, не будет никакого преимущества
вообще возиться с загрузчиком.

Обзор внутрисистемного программирования (ISP)

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

Для этого было несколько причин. Один из них заключался в том, что программирование требовало «опасного» высокого напряжения
12 В для подачи на микросхему, что, как правило, поджарило бы остальную часть
цифровых частей 5-вольтовой системы хоста, поэтому удаление было предпочтительным вариантом.Но
это было возможно преодолеть, и настоящая проблема заключалась в том, что традиционные программисты использовали
для передачи данных в микросхему, используя проприетарные системы, часто с параллельной шиной.

С ISP разработчик теперь может оставить чип на месте и с радостью повторно прошивать код как
так часто, как ему или ей нравится. Было такое ощущение, что цепи были сброшены!

ISP против ICSP

Реализация ISP

компании Atmel известна как ICSP, или внутрисхемное последовательное программирование. Люди
используют термины ISP и ICSP как синонимы: означают одно и то же, .

На микросхемах AVR Atmel программные данные передаются с помощью очень быстрого и легкого 3-проводного синхронного последовательного интерфейса (SPI)
с использованием специального протокола ICSP. Блоки данных
передаются на целевое устройство и записываются во флэш-память программ при нормальном рабочем напряжении
. Если требуется более высокое напряжение программирования, оно безопасно генерируется внутри
.

Начало работы: создание программатора ATtiny44 / 24

Обзор проекта

Вот шаги, которые необходимо предпринять для создания работающего программатора ATtiny с использованием Arduino
Nano: —

  1. Настройте Nano как программист ISP с помощью ArduinoISP
  2. Создайте схему для подключения Nano к ATtiny44 или аналогичному устройству
  3. Загрузите конфигурацию платы ATtiny24 / 44/84 в Arduino IDE
  4. Протестируйте ISP, прошив какой-нибудь код

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

Шаг 1. Настройте Nano в качестве программиста ISP с помощью ArduinoISP

.

Итак, каков самый быстрый способ создать ISP для наших микросхем AVR? Было бы действительно замечательно, если бы
мы могли найти готовое устройство с интерфейсом SPI и загрузчиком, чтобы мы могли
избежать сценария курицы и яйца и загрузить код в программатор с порта USB, а затем
использовать интерфейс SPI для передачи данных программы на целевое устройство.

Конечно, такое устройство уже существует: оно называется Arduino. Более того, нам не нужно писать какой-либо специальный код для кода
: добрые люди из сообщества Arduino уже сделали это за нас!

Чтобы настроить Arduino Nano в качестве ISP, просто откройте Arduino IDE, подключите Nano
с помощью USB-кабеля и в меню Tools | Board Type выберите Arduino Nano. Затем перейдите
в Файл | Загрузить эскиз и выберите эскиз ArduinoISP. Загрузите на доску и вуаля!
Теперь ваш Nano является интернет-провайдером.

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

Шаг 2. Создайте схему для подключения Nano к устройству ATtiny

Большинство проектов ArduinoISP, разбросанных по сети, имеют Arduino Uno
, подключенную к целевому AVR с помощью макета. Наличие целевого устройства в макете
— отличный вариант, потому что он позволяет нам программировать любое устройство, если мы можем выяснить проводку.

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

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

Поскольку все микросхемы AVR имеют разные распиновки (не говоря уже об устройствах сторонних производителей, таких как
ESP8266), мне пришлось бы придумать схему для настройки программатора для маршрутизации сигналов питания
и SPI на правильные выводы целевого устройства. .Целый набор микросхем линейных драйверов
или, что более вероятно, FPGA был бы здесь «правильным» выбором, который сделал бы
этот проект во много раз более сложным. Намного более простая схема конфигурации с использованием перемычек
была бы проще, но это все еще значительно увеличивает сложность, оставляет много места для ошибок подключения
и вряд ли полностью покрывает все возможные (включая
будущие) целевые устройства.

Итак, компромисс, который я выбрал, заключался в том, чтобы иметь «материнскую плату», которая содержит разъем для модуля
Nano, все светодиоды состояния программатора, 6-контактный ленточный кабель IDC для подключения к заголовку
ICSP на Nano, различные компоненты и макет для целевой микросхемы.

Купить мини-модульный макет DEYUE без пайки на Amazon

Рассмотрим детали схемы материнской платы.

Разъем Arduino Nano

Nano устанавливается в разъем на материнской плате. Это позволяет удалить его, если необходимо для другого проекта
, или заменить в случае повреждения. Это также предотвращает возможное повреждение нагревом
во время пайки (хотя, по моему опыту, такие опасения, как правило, преувеличены).

Очень мало сигналов передается от Nano через основной разъем на материнскую плату
.Они описаны ниже: —

  + -------- + ----------------- + -------------------- --------------------------------- +
| Сигнал | Цель | Примечания |
+ -------- + ----------------- + ---------------------- ------------------------------- +
| GND | Наземный рельс | Общие основания |
| / СБРОС | Сброс Arduino | Связан с GND через конденсатор для предотвращения нежелательных сбросов |
| D10 | Сброс цели | Подключен к выводу target / RESET для сброса целевой микросхемы |
| D7 | Светодиод программирования | Указывает, что цель программируется |
| D8 | Светодиод ошибки | Указывает, что интернет-провайдер обнаружил ошибку |
| D9 | Светодиод сердцебиения | Указывает, что интернет-провайдер работает нормально |
+ -------- + ----------------- + ---------------------- ------------------------------- +
  
Подключение светодиодов состояния ArduinoISP

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

Я использовал зеленый и красный светодиоды (на самом деле трехцветный зеленый / красный) для светодиодов пульса (D9) и ошибки
(D8), соответственно, и синий светодиод для светодиода программирования (D7).

Сигналы ICSP и SPI

Во многих старых руководствах вам предлагается использовать выводы 11, 12 и 13 Arduino в качестве сигналов SPI для программирования цели
. Это связано с тем, что сигналы SPI доступны на этих контактах на некоторых моделях Arduino
, таких как Uno, Duemilanove и т. Д., Включая Nano, но не на многих других
, включая Megas, Leonardo, Due и Zero.
Отображение выглядит следующим образом: —

  + --------------- + ------------ +
| Пин Arduino | Сигнал SPI |
+ --------------- + ------------ +
| 11 | MOSI |
| 12 | MISO |
| 13 | SCK |
+ --------------- + ------------ +
  

Код, который определяет это в скетче ArduinoISP: —

  #ifdef USE_OLD_STYLE_WIRING

    #define PIN_MOSI 11
    #define PIN_MISO 12
    #define PIN_SCK 13

    #endif
  

Одна из особенностей кода ArduinoISP состоит в том, что вы можете назначить эти макросы PIN_xxx
любому цифровому выходу, и код будет имитировать аппаратное обеспечение SPI путем «побитового преобразования»
выхода. Здесь есть некоторые ограничения на тактовую частоту — очевидно, если ваш Arduino
работает слишком медленно, то эмулируемая скорость SCK выйдет за пределы спецификации протокола ISP
и не будет работать.

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

Обратите внимание, что здесь есть некоторая вероятность путаницы — это определенно сбило меня с толку для
. Заголовок ICSP фактически предназначен для программирования Arduino от другого провайдера.
Это имеет смысл, если подумать — большинство людей не используют Arduino в качестве интернет-провайдера, поэтому
зачем ему для этой цели встроенный заголовок ICSP? Однако, поскольку все сигналы
, которые нам нужны для программирования через ISP, также используются для программирования через ISP,
только логично их использовать.

Документация ArduinoISP говорит нам использовать заголовок ICSP, и именно этим я буду заниматься в
этом проекте. Сигналы заголовка ICSP описаны ниже: —

  + ------ + -------- + ------------------------------- - + ---------------------------------- +
| ICSP | Сигнал | Цель | Примечания |
| Булавка | | | |
+ ------ + -------- + -------------------------------- + ---------------------------------- +
| 1 | MISO | Данные восходящего канала с целевого устройства | Сигнал данных SPI |
| 2 | SCK | Последовательные часы | Тактовый сигнал SPI |
| 3 | / СБРОС | Сбросьте Arduino | _Не используется, когда ISP - Arduino_ |
| 4 | Vcc | Шина питания 5 В | Мощность целевого устройства |
| 5 | MOSI | Данные нисходящего канала на целевое устройство | Сигнал данных SPI |
| 6 | GND | Наземный рельс | Целевой рельс заземления |
+ ------ + -------- + -------------------------------- + ---------------------------------- +
  

Мы подключаемся к заголовку ICSP с помощью 6-жильного ленточного кабеля с разъемом IDC 2 × 3 на каждом конце
. Один конец подключается к заголовку ICSP Arduino, а другой — к «материнской плате»
рядом с макетной платой. Здесь сигналы разбиты на заголовки IDC, поэтому они
могут быть подключены к макетной плате с помощью перемычек.

Единственный сигнал ICSP, который мы не будем использовать, — это сигнал / RESET, который привязан к выводу / RESET
Arduino, поэтому его можно сбросить с внешнего провайдера. Конечно, это не то, что нам нужен
, и вместо этого нам нужен Arduino для сброса целевого устройства, поэтому мы используем выход
, подключенный к выводу цели / RESET, чтобы начать программирование.Для этого мы используем D10 как
, определенный в коде ArduinoISP: —

  #define RESET 10 // Используйте контакт 10 для сброса цели, а не SS
  

Этот сигнал передается через гнездо Nano, как описано выше, а также выходит из строя
и вывод IDC рядом с макетной платой.

Индикатор ориентации кабеля ICSP

Для кабеля ICSP необходимо использовать вилки и розетки с ключом, чтобы обеспечить правильную ориентацию, а
— для предотвращения повреждения целевого устройства. Кроме того, я поместил зеленый светодиод с резистором
на 330 Ом на материнскую плату между контактами 4 и 6 ICSP (Vcc и GND), чтобы визуально отобразить
, что кабель правильно ориентирован. Если светодиод не горит, когда
Arduino подключен к USB-порту, это означает, что кабель ICSP подключен неправильно.

Схема

Схема ISP на базе Arduino Nano показана ниже.

Завершенная схема

На рисунке 2 показана законченная схема.Соединений очень мало, поэтому он был построен с использованием стрипборда (или Veroboard, если вам столько же лет, как я) для материнской платы.

Микро-мишень размещена на крошечной дешевой макетной плате [ссылка].

Шаг 3. Загрузите конфигурацию платы ATtiny в Arduino IDE

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

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

Ссылка на библиотеки ATtiny: https://raw.githubusercontent.com/damellis/ATtiny/ide-1.6.x -boards-manager / package_damellis_ATtiny_index.json
Вам нужно сообщить об этом IDE Arduino, поэтому перейдите к Arduino | Настройки ,
выберите вкладку Settings и вставьте ссылку в поле Additional Boards Manager URLs
. (Подсказка: если вы нажмете маленький значок справа от поля, вы можете добавить несколько URL-адресов
в разные строки. В противном случае их нужно разделить запятыми в текстовом поле
, что может стать неуправляемо длинным. )

Когда вы закончите, конфигурация платы должна быть установлена, поэтому выберите Tools |
Доски | Boards Manager…
, чтобы открыть диалоговое окно Boards Manager. Если вы введете «ATtiny»
в поле поиска, вы должны увидеть элемент под названием «ATtiny by David A. Mellis».

Нажмите на этот элемент, и вы увидите, что появляется кнопка Установить . После установки
должен выглядеть так: —

Теперь вы нажимаете OK / Закройте и вернитесь к Tools | Доска | Boards Manager меню
, и вы сможете выбрать 14-контактные устройства ATtiny24 / 44/84: —

Выберите ATtiny24 / 44/84 и готово!

Шаг 4. Протестируйте интернет-провайдера, прошив код

Первичные проверки

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

Если вы подключите нового провайдера к компьютеру с помощью кабеля USB, вы должны увидеть, как зеленый индикатор пульса
медленно мигает (он плавно гаснет). Кроме того, если вы правильно подключили ленточный кабель ICSP
между Nano и материнской платой, вы должны увидеть, что
загорится зеленый светодиодный индикатор питания. Если этого не происходит, значит на плате есть ошибка, из-за которой
может уничтожить любой чип, который вы хотите запрограммировать, поэтому идите и дважды проверьте все свои соединения!

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

Подключение ATtiny для внутрисистемного программирования

Как отмечалось ранее, многие микросхемы AVR имеют разные распиновки, поэтому приведенные ниже инструкции по подключению
— это только для ATtiny24, ATtiny44 и ATtiny84 — если вы программируете другую модель AVR,
, пожалуйста, обратитесь к таблице данных, чтобы найти Vcc, Контакты GND, / RESET, MISO, MOSI и SCK.

Полная распиновка ATtiny24 / 44/84 из таблицы данных показана ниже: —

Отсюда мы видим важные выводы для программирования: —

  + - \ / - +
         Vcc 1 | | 14 GND
              2 | | 13
              3 | | 12
      / СБРОС 4 | | 11
              5 | | 10
              6 | | 9 SCK
        MOSI 7 | | 8 MISO
               + ---- +
  

Итак, исходя из этого, мы можем определить соединения платы ISP с ATtiny на макетной плате
: —

  + ------ + -------- + ------------------------------- - + -------- + -------- +
| ICSP | Сигнал | Цель | ATtiny | ATtiny |
| Булавка | | | Сигнал | Булавка |
+ ------ + -------- + -------------------------------- + -------- + -------- +
| 1 | MISO | Данные восходящего канала с целевого устройства | MISO | 8 |
| 2 | SCK | Последовательные часы | SCK | 9 |
| 3 | / СБРОС | Сбросьте Arduino | --- | - |
| 4 | Vcc | Шина питания 5 В | Vcc | 1 |
| 5 | MOSI | Данные нисходящего канала на целевое устройство | MOSI | 7 |
| 6 | GND | Наземный рельс | GND | 14 |
+ ------ + -------- + -------------------------------- + -------- + -------- +
| - | D10 | Сбросьте ATtiny | / СБРОС | 4 |
+ ------ + -------- + -------------------------------- + -------- + -------- +
  

Обратите внимание на нижний ряд: в дополнение к сигналам ICSP нам также необходимо использовать сигнал D10 Arduino
Nano для сброса микросхемы ATtiny.

Отсоедините USB-кабель, чтобы выключить ISP, вставьте ATtiny в макетную плату и
подключите эти сигналы с помощью перемычек. Повторно подключите USB-кабель и дважды проверьте, горят ли зеленые светодиоды питания и пульса
. Если это не так, немедленно отсоедините кабель USB
и дважды проверьте наличие короткого замыкания или других ошибок проводки.

Запуск примера мигания на ATtiny

Как только все станет хорошо, загрузите в Arduino IDE пример «Blink».
не будет компилироваться, потому что он пытается использовать вывод 13 для светодиода, а на ATtiny нет вывода 13.
Добавьте следующую строку в начало файла: —

  # определить LED_BUILTIN (PB0)
  

Это указывает компилятору использовать PB0 (вывод 2 на ATtiny44) для мигающего светодиода.

На макетной плате подключите светодиод с последовательным резистором 330 Ом (или приблизительно) от контакта 2
(PB0) к GND, убедившись, что анод светодиода подключен к контакту 2.

Убедитесь, что для платы установлено значение «ATtiny 24/44/84» в меню «Инструменты», выберите последовательный порт
и нажмите «Загрузить».Индикаторы ISP должны мигать, и, надеюсь, вы не получите сообщение об ошибке. Через несколько секунд
чип ATtiny должен перезагрузиться и запустить Blink-код, а светодиод должен мигать!

Вот и все, ребята!

Уф… мы сделали это. Теперь вы готовы написать код Arduino для ATtiny, а это означает, что
вы можете вкладывать интеллект в еще более мелкие вещи. Некоторые из этих микросхем, такие как 8-контактные варианты
, настолько малы, что могут заменить таймер 555 с бесконечно большей функциональностью и нулевыми пассивными компонентами
(за исключением, возможно, развязывающего конденсатора 100 нФ).

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

Ардуино Нано

Поддержка платы Arduino Nano. Подробнее …

Поддержка платы Arduino Nano.

Обзор

Arduino Nano — самый дешевый член семейства Arduino. Он основан на архитектуре AVR Atmel и оснащен микроконтроллером ATmega328p. Это похоже на многие Arduinos, расширяемые с помощью экранов.

MCU

Семейство
MCU ATmega328p
AVR / ATmega
Поставщик Atmel
RAM 2 KiloB 904 RAM 2 KiloB 904 902 зарезервировано для загрузчика )
Частота 16 МГц
Таймеры 3 (2x 8 бит, 1x 16 бит)
АЦП 6 аналоговых входных контактов
UART 1
I2Cs 1 (называемый TWI)
Vcc 5. 0V
Техническое описание микроконтроллера Техническое описание ATmega328p
Руководство по плате Руководство по плате

Прошивка устройства

Мигает RIOT на Arduino Nano довольно просто, просто подключите Arduino Nano через USB-разъем к вашему главному компьютеру и введите:

сделать BOARD = arduino-nano flash

Это должно позаботиться обо всем!

Мы используем инструмент open avrdude для записи нового кода во флэш-память

ATmega328p.

Использование Optiboot

Вы можете использовать загрузчик Optiboot вместо стандартного загрузчика для более быстрого программирования.Optiboot также меньше по размеру (512 байт вместо 2 КиБ), так что для RIOT доступно на 1,5 КиБ больше программной памяти. Обратитесь к странице проекта для получения инструкций о том, как создать флэш-загрузчик. Не забудьте также обновить настройки предохранителя, чтобы установить размер загрузчика 256 слов (512 байт).

Скомпилируйте и прошейте с помощью make BOARD = arduino-nano ATMEGA_BOOTLOADER = optiboot flash или используйте экспорт ARDUINO_NANO_BOOTLOADER = optiboot , чтобы не указывать загрузчик во время компиляции и прошивки.

Проблемы

RIOT застрял в цикле перезагрузки

Если RIOT застрял в цикле перезагрузки, например после перезапуска устройства с помощью команды оболочки reboot это, вероятно, вызвано проблемой со стандартным загрузчиком, которую можно решить, используя вместо этого Optiboot в качестве загрузчика (см. выше).

Отладка на кристалле

Встроенная отладка

на Arduino Nano не поддерживается через обычный интерфейс JTAG, используемый в микроконтроллерах ATmega с более высоким числом выводов, а через debugWIRE.Хотя преимущество debugWIRE состоит в том, что для передачи данных используется только вывод RESET, предоставляемые функции крайне ограничены. Если та же проблема может быть воспроизведена на Arduino Mega2560, который поддерживает JTAG, отладить код на Arduino Mega2560 будет намного проще и продуктивнее. Если ошибка не может быть воспроизведена, тем не менее, на Arduino Nano возможна ограниченная отладка чипа.

Предварительные требования

Аппаратное обеспечение отладки

Чтобы иметь возможность использовать отладку на кристалле, вам понадобится AVR Dragon, который является ~~ дешевым ~ ~ наименее дорогим программатором и отладчиком, который поддерживает программирование через SPI («нормальный ISP»), последовательное программирование высокого напряжения, и параллельное программирование, а также отладка через JTAG, debugWIRE, PDI и aWire.Так что, по крайней мере, можно использовать его практически для каждого устройства AVR.

Модификации платы

На Arduino Nano вывод RESET микроконтроллера подключен к конденсатору емкостью 100 нФ, который, в свою очередь, подключен к выводу DTR моста FT232RL USB-UART. Это позволяет автоматически перезагружать устройство при подключении к плате через последовательный порт. Это особенно полезно во время программирования через загрузчик (без внешнего программатора ISP), поскольку avrdude может вызвать сброс и, таким образом, запустить загрузчик без необходимости нажимать кнопку пользователю.

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

Программное обеспечение

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

Предохранители

Для использования встроенной отладки необходимо активировать бит DWEN в предохранителе высокого уровня (установить в ноль). Точные настройки предохранителя для отладки и настройки предохранителя по умолчанию следующие:

00

00

Предохранитель Настройка по умолчанию Настройка отладки
Низкий предохранитель 0xFF 0xFF
Высокий предохранитель 0xFD 0xFD

Вы можете включить отладку debugWIRE, запустив ее (замените на имя вашего программиста, например.грамм. dragon_isp в случае AVR Dragon):

 avrdude -p m328p -c <ПРОГРАММАТОР> -U hfuse: w: 0x9a: m
 

И отключите отладку через:

 avrdude -p m328p -c <ПРОГРАММАТОР> -U hfuse: w: 0xda: m
 
Примечание
Вы можете использовать другого провайдера для включения отладки, но его повторное отключение будет работать только с AVR Dragon: ISP потребует, чтобы контакт RESET работал, но контакт RESET повторно используется для debugWIRE при отладке включен. Последние версии avrdude будут использовать интерфейс debugWIRE для временного отключения debugWIRE и восстановления поведения вывода RESET по умолчанию для использования ISP. Но для этого требуется программист / отладчик, который можно использовать как отладчик ISP и debugWIRE, используя один и тот же соединитель. Поэтому не включайте отладку, если у вас нет AVR Dragon или другого плана, как снова отключить отладку.

Отладка

С AVR Dragon отладка так же проста, как и запуск:

 make BOARD = arduino-nano debug
 
Предупреждение
Для прошивки устройства через ISP, avrdude временно отключит debugWIRE.Если AVaRICE жалуется, что синхронизация с устройством невозможна после его перепрошивки, устройству может потребоваться холодная перезагрузка, чтобы снова включить debugWIRE.

Карта памяти файла ELF не учитывает загрузчик. Автор этого текста использовал ISP для программирования Arduino Nano во время отладки, чтобы избежать каких-либо проблем. Вы можете сделать то же самое, например через:

 make BOARD = arduino-nano PROGRAMMER = dragon_isp flash
 
Предупреждение
При перепрошивке через ISP загрузчик перезаписывается.Но вы можете легко восстановить его с помощью провайдера. Обратитесь к документации Arduino о том, как восстановить загрузчик.
Примечание
Если вы используете отладчик, отличный от AVR Dragon, вам необходимо экспортировать переменную среды AVR_DEBUGDEVICE в требуемый флаг для передачи в AVaRICE, например при использовании Atmel-ICE вы должны экспортировать AVR_DEBUGDEVICE = - edbg . Если устройство отладки не подключено через USB, вам также необходимо экспортировать AVR_DEBUGINTERFACE с правильным значением.

Осторожно

Не стоит ожидать наличия рабочего сетевого стека из-за очень ограниченных ресурсов.

файл board.

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

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