Как сбросить ардуино нано к заводским настройкам

Arduino.ru

maodzi87 аватар

Проблемы с USB портом чтоли . Загрузил скетч , серва двигается,и при этом в диспетчере устройств порт( COM 3 )на котором сама плата,стал то пропадать ,то опять появляться и сбросить загруски больше не получается,и даже кнопкой reset ? Какой то геморой сплошной .И ещё ,на 8ю винду дрова не встают для ардуино ,устоновил вторую ОС win7 и ситуация происходит выше написанная.

Кто нибудь подскажет плизз я в этом деле новичёк!,как сбрасывать правильно и вообще последовательность работы?и вообще нужны ли ждамперы и где правильно должны они стоять.

Заранее благодарен Алексей!

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

Загрузите этот скетч чтобы «отформатировать» arduino. Только это вам ничего не даст.. Вы должны использовать дополнительное питание когда подключаете серво.

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

maodzi87 аватар

Спасибо! вобщем ,каким то макаром и долгими эксперементами я наткнулся на этот скетч:

// светодиод, подключённый к digital pin 13 будет изменять своё
// состояние при изменении напряжения на digital pin 2
//
int pin = 13;
volatile int state = LOW;

void setup()
pinMode(pin, OUTPUT); // порт как выход
attachInterrupt(0, blink, CHANGE); // привязываем 0-е прерывание к функции blink().
>

void loop()
digitalWrite(pin, state); // выводим state
>

state = !state; // меняем значение на противоположное
>

И мне пришло в голову, после многих копаний по разным форумам ,нажать кнопку RESET,при этом её удерживая,потом нажал на загруску скетча и когда компиляция прошла,сразу при загрузке отпустил кнопку. По светодиодам на плате я понял ,что загрузка прошла успешно,я поставил джампер на самый близкий штекер ,расположенный уUSB входа.

Всё прекрасно заработало,но единственное большое НО!

Так же не должно же быть! Обычно при описаниях работ с arduino на видео и так на любой писанине всё на много просто.

How can I "reset" an Arduino board?

I’ve uploaded a sketch to an Arduino Uno whose loop is something like this:

So, now, I can’t upload anything anymore, because the IDE says «port already in use».

Is there a way to «reset» the Arduino without another programmer?

Nothing else is using the serial port, and everything went just fine until I uploaded the previous sketch.

I’ve found some interesting things:

  • Problems with 0021 on Ubuntu 10.04 Lucid Lynx
  • Re: Problems with 0021 on Ubuntu 10.04 Lucid Lynx
  • Uno sending serial data becomes un-connectable to Serial Monitor

Peter Mortensen's user avatar

21 Answers 21

Try the following:

  1. Prepare the basic empty program (empty setup, loop, etc.)
  2. Compile it.
  3. Reset the Arduino using the hardware button on the chip
  4. Press Ctrl + U to upload your code.
  5. If unsuccessful — got to 3.

There is a delay before the boot loader starts the programs, just work on your timing. It worked for me when a bug in my Arduino’s code was executing a soft reset every 500 ms.

Peter Mortensen's user avatar

I had the same problem on two Arduinos (one Uno, and one Modern Device Freeduino/USB Host board) and the window between reset and the beginning of serial port usage was so small that it was impossible to upload.

I finally fixed the problem by purchasing another Arduino Uno and building an ISP cable per these instructions, and using it to flash the Bare Bones app from the examples into each inaccessible board, using Arduino IDE version 0023, following these instructions to change preferences.txt. (Be sure to save the original file before editing it so you can replace it after you’ve rescued your Arduino.)

It took one quick upload to fix each board. Such a fast fix after so much grief. You might not want to purchase another Arduino, but consider these benefits:

  • You can overwrite the bootloader on your Arduino to gain more space.
  • Once the bootloader is overwritten, the board will boot faster.
  • Supposedly you can program raw AVRs for special projects, but I have not tried this: Google for ArduinoISP
  • It will quickly fix Arduinos that you block in the future.
  • You can now safely experiment to find ways to prevent serial port usage from locking up the device in the future.
  1. Unplug the USB cable
  2. Connect the RX Pin to ground
  3. Plug in the USB cable
  4. Upload a new program
  5. Remove the USB cable
  6. Remove the RX grounding

S.S. Anne's user avatar

PcTronics's user avatar

Make sure you plug the Arduino directly into the computer and not through a hub. Using a hub will give you this error.

Peter Mortensen's user avatar

Chris Kay's user avatar

After scratching my head about this problem, here is a very simple solution that works anytime:

  • Unplug your USB cable
  • Go in Device Manager
  • Click on Ports (COM & LPT)
  • Right click on Arduino. (COMx)
  • Properties
  • Port Settings
  • Put Flow Control to HARDWARE
  • Create an empty sketch (Optional)
  • Connect the USB cable
  • Upload ( Ctrl + U )

Peter Mortensen's user avatar

Eric Phenix's user avatar

Here’s what I did in Linux to be able to program my Arduino Micro which was stuck in a loop sending the 0 key when connected by USB;

Your output might be slightly different so just try running;

then plug in the Arduino and see how the output is formatted.

This stopped X from accepting the keypresses and allowed the Arduino IDE to program finally!

Based on my experience with the communication already in use or blocked, I would say that the program you are interfacing with still has the communication open.

I also found that if you disconnect the USB cable it will rest the communication. It is not the greatest solution, but it solves the problem.

Peter Mortensen's user avatar

For Arduino Yún users, try uploading via Ethernet/Wi-Fi (menu ToolsPort).

I had exactly the same problem, and I tried pretty much everything (apart from burning a new bootloader). I am surprised it worked, but I’ve uploaded an empty sketch without any problem.

Peter Mortensen's user avatar

lokers's user avatar

I just spent the last five hours searching for a solution to this problem (serial port COM3 already in use and grayed out serial port). I tried everything every forum and Q&A site I could find suggested, including this one.

What finally fixed it (got rid of the last code I’d input that got stuck and uploaded simple blink function)?

Follow this link — http://arduino.cc/en/guide/windows and follow the instructions for installing the drivers. My driver was «already up to date», but following these steps fixed the glitch. I am now a happy camper once again.

Note: Resetting the board manually with the button on the chip, or digitally through miscellaneous codes on the Internet did not work to fix this problem, because the signal was somehow blocked/confused between my Arduino Uno and the port in my laptop. Updating the drivers is like a reset for the «serial port already in use» problem.

Используем вывод RESET

На плате Arduino имеется входной контакт Reset (иногда подписан как RES). Его установка в логический ноль приводит к сбросу процессора. А также есть отдельная кнопка Reset. Кнопка используется, если вы хотите заново перезапустить прошивку, не загружая её с компьютера. Бывает так, что после сборки проекта доступ к кнопке затруднителен, а сброс процессора необходим. В этом случае вывод Reset будет кстати. Мы можем управлять сбросом через свою кнопку, которую можно вывести в удобное место.

Reset pin

Добавим на отладочную плату кнопку и соединим её одним выводом к порту Reset, а вторым к выводу GND

Reset pin

Специально для схемы код не нужен, так как обычное нажатие кнопки сделает всю работу без строчки кода. А мы напишем скетч, чтобы убедиться в работоспособности схемы — будем увеличивать значение счётчика и кнопкой сбрасывать в 0.

Программы arduino nano v 3.0. Блог › Опыт изучения Arduino. Пост очередной. Аппаратный

Arduino Nano — это полнофункциональное миниатюрное устройство на базе микроконтроллера ATmega328 (Arduino Nano 3.0) или ATmega168 (Arduino Nano 2.x), адаптированное для использования с макетными платами. По функциональности устройство похоже на Arduino Duemilanove, и отличается от него размерами, отсутствием разъема питания, а также другим типом (Mini-B) USB-кабеля. Arduino Nano разработано и выпускается фирмой Gravitech.

Схема и исходный проект

Связь

Arduino Nano предоставляет ряд возможностей для осуществления связи с компьютером, еще одним Ардуино или другими микроконтроллерами. В ATmega168 и ATmega328 есть приемопередатчик UART, позволяющий осуществлять связь по последовательным интерфейсам посредством цифровых выводов 0 (RX) и 1 (TX). Микросхема FTDI FT232RL обеспечивает связь приемопередатчика с USB-портом компьютера, и при подключении к ПК позволяет Ардуино определяться как виртуальный COM-порт (драйвера FTDI включены в пакет программного обеспечения Ардуино). В пакет программного обеспечения Ардуино также входит специальная программа, позволяющая считывать и отправлять на Ардуино простые текстовые данные. При передаче данных компьютеру через USB на плате будут мигать светодиоды RX и TX. (При последовательной передаче данных посредством выводов 0 и 1 данные светодиоды не задействуются).

ATmega168 и ATmega328 в Arduino Nano выпускается с прошитым загрузчиком, позволяющим загружать в микроконтроллер новые программы без необходимости использования внешнего программатора. Взаимодействие с ним осуществляется по оригинальному протоколу STK500 ( , ).

Автоматический (программный) сброс

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

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

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

Плата Arduino Nano

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

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

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