Что делать?
С такой проблемой сталкиваются довольно часто. Причем даже те, кто уже имел неплохой опыт программирования ардуино.
Понятное дело, что первое, что приходит на ум заказчику – ошибка в моей программе, за что поначалу мне было немного обидно.
Существует две наиболее частые ситуации:
- Arduino IDE ругается, что не может найти указанный файл (No such file or directory). Это говорит о том, что нужно установить какую-то библиотеку. А со своими программами я всегда поставляю все необходимые библиотеки.
- Загрузка скетча подвисает, а потом выдает ошибку:
avrdude: stk500_recv(): programmer is not responding avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0xe4 avrdude: stk500_recv(): programmer is not responding avrdude: stk500_getsync() attempt 2 of 10: not in sync: resp=0xe4 avrdude: stk500_recv(): programmer is not responding

1я ситуация разобрана здесь.
Вторая ситуация связана либо с тем, что плата выбрано неверно, либо выбранная плата имеет в себе старый загрузчик, который не желает работать на той скорости, на которой хочет IDE.
Дело в том, что Arduino IDE предполагает, что все современные Nano и UNO должны работать со скоростью 15200 бит в секунду. А китайские клоны до сих пор довольно часто работают со скоростью в 2 раза меньше – 57600.
Решить эту проблему можно двумя способами:
- Обновить загрузчик на плате
- Добавить плату со старым загрузчиком в конфигурацию Arduino IDE
Лично мне кажется, что второй способ – более универсальный и простой. Поэтому его и опишу.
Итак, зайдите на компьютере в папку, в которую установлена Arduino IDE. Лично у меня это, как и большинства, «C:\Program Files (x86)\Arduino», если Вы на Windows.
Теперь откройте папку hardware\arduino\avr и найдите файл boards.txt
В этом файле и находятся все платы, которые Вы выбираете через меню «Инструменты > Плата…»

Откройте этот файл в текстовом редакторе, например, в блокноте.
Найдите в нем строчку uno.upload.speed

Мы видим, что скорость загрузки равно 115200. Но у нас плата, которая хочет 57600!
Можно, конечно, поменять на 115200 на 57600, но тогда, к сожалению, мы не сможет загружать скетчи на плату с новым загрузчиком.
Выход, получается, один – добавить плату, скажем, UNO2, на случай скорости 57600.
Предлагаю просто вставить себе мои настройки и сохранить файл:
uno2.name=Uno 57600 uno2.vid.0=0x2341 uno2.pid.0=0x0043 uno2.vid.1=0x2341 uno2.pid.1=0x0001 uno2.vid.2=0x2A03 uno2.pid.2=0x0043 uno2.vid.3=0x2341 uno2.pid.3=0x0243 uno2.upload.tool=avrdude uno2.upload.protocol=arduino uno2.upload.maximum_size=32256 uno2.upload.maximum_data_size=2048 uno2.upload.speed=57600 uno2.bootloader.tool=avrdude uno2.bootloader.low_fuses=0xFF uno2.bootloader.high_fuses=0xDE uno2.bootloader.extended_fuses=0xFD uno2.bootloader.unlock_bits=0x3F uno2.bootloader.lock_bits=0x0F uno2.bootloader.file=optiboot/optiboot_atmega328.hex uno2.build.mcu=atmega328p uno2.build.f_cpu=16000000L uno2.build.board=AVR_UNO uno2.build.core=arduino uno2.build.variant=standard ############################################################## nano2.name=Nano 57600 nano2.upload.tool=avrdude nano2.upload.protocol=arduino nano2.bootloader.tool=avrdude nano2.bootloader.unlock_bits=0x3F nano2.bootloader.lock_bits=0x0F nano2.build.f_cpu=16000000L nano2.build.board=AVR_NANO nano2.build.core=arduino nano2.build.variant=eightanaloginputs ## Arduino Nano w/ ATmega328P ## -------------------------- nano2.menu.cpu.atmega328=ATmega328P nano2.menu.cpu.atmega328.upload.maximum_size=30720 nano2.menu.cpu.atmega328.upload.maximum_data_size=2048 nano2.menu.cpu.atmega328.upload.speed=57600 nano2.menu.cpu.atmega328.bootloader.low_fuses=0xFF nano2.menu.cpu.atmega328.bootloader.high_fuses=0xDA nano2.menu.cpu.atmega328.bootloader.extended_fuses=0xFD nano2.menu.cpu.atmega328.bootloader.file=optiboot/optiboot_atmega328.hex
Теперь у вас две платы UNO и две Nano:

Удачи!