Windows 10 не видит arduino nano

  1. Здравствуйте, пользуюсь клоном платы Arduino nano (https://ru.aliexpress.com/item/Nano…313.html?spm=2114.13010708.0.0.194833edk4ZBcz) всё работало отлично, было подключение, спокойно заливались скетчи. Решил переписать скетч для проекта и залить, но мой ноутбук не видит плату. При подключении к ноутбуку нечего не происходит, нет даже звукового уведомления(как при подключении другой Arduino или той же флешки) смотрел в диспетчере устройств — ничего нет. Но при подключении к ноутбуку питание подаётся и работает старый скетч. Пробовал заменить кабель — нечего не меняется. Подключал другие Arduino — определяются на моём ноутбуке. На других компьютерах определяется, как неопознанное устройство. Подскажите, что сделать?

    Последнее редактирование: 7 янв 2019

  2. Попробуй обновить драйвера , поменять порт . Осмотри окружение схемки с надписью ch340.

  3. Похоже CH340 накрылся. А посмотри у тебя на пине 3V3 какое напряжение?

  4. Кабель проверь!Обязательно!Оч часто он косячный

  5. У китайцев на пине 3v может быть хоть какое напряжение , а кабель советую прозвонить и подобрать какой лучше , на микроUSB старых версий обычно плохой контакт.

  6. Хотите верьте, а хотите не верьте. Столкнулся с той же проблемой. Потратил два дня чтобы решить её. Поиском облазил всё что только можно, но в целом советы дают дельные — по части драйверов, кабеля и много ещё чего, но это всё сейчас бесполезно! А сколько таких умников кричит о том, что вопрошающие не имеют пользоваться поиском. Умники — одно слово. По факту всё упирается в то, что накосячили в самом сердце — разработчики Arduino IDE последних версий. Чтобы решить вашу проблему Вам надо установить правильную (читаем как рабочую) версию Arduino IDE и это версия 1.6.5.

    У меня три различные версии Arduino NANO не хотели работать. Перепробовал вообще всё что можно. Не работало и баста. Порт определяется. Serial monitor работает — старый скетч, залитый в NANO ранее работает. А новый залить нельзя — ругается. И так с каждой из трёх NANO. Решил это только когда откатился на проверенную версию Arduino 1.6.5.

    Желаю Вам удачно решить эту проблему.

  7. Вы не поняли-там устройство не определяется windows вообще либо определяется как НЛО.IDE не при чем.

  8. Я всё прекрасно понял и так как serial monitor работает у товарища, то ситуация именно такова. Я не сильно верю в то, что комп не определяет подключаемое кол-во, потому как serial monitor работает.

  9. Где Вы такое вычитали?У него работает предыдущий код например blink.Про serial ни слова.

  10. Огромное спасибо за Ваши изыскания. Столкнулся с тем, что комп видит плату Arduino Nano, драйвер ставится, а скетч не загружается. А у меня сроки…(далее непечатное). Поставил IDE 1.6.5. и всё заработало. Пытался накатить современную версию поверх 1.6.5, не грузит в плату Arduino Nano.

  11. Правильно пишут те,что говорят «не умеете пользоваться поиском». В новой версии Ардуино ИДЕ выбираете «Arduino Nano (Old bootloader)» — и все грузится

    Последнее редактирование: 25 апр 2020

USB Driver Problems

Official Arduino Nanos use the FT232RL USB interface chip.
Most Arduino Nano clones use the CH340 USB interface chip.

Windows 10

We have seen some Windows 10 computers without the CH340 USB driver.
If you encounter this problem and the Device Manager shows you the warning in Fig. 86(a),
then the first thing to try is updating the driver.
Right-click on “USB2.0-Ser!” and choose “Update driver” (Fig. 86(b)).
Then choose “Search automatically for updated driver software”.

Fig. 86 Some Windows computers lack the CH340 USB driver.

a

b

../_images/device-manager-warning.png

../_images/update-driver.jpg

If Windows reports that “Windows has successfully updated your drivers” then you should now be able to connect to the Arduino Nano.
On the other hand, if Windows reports that “Windows was unable to install your USB2.0-Ser!”, then the How to Install CH340 Drivers page at sparkfun.com will guide you through manually downloading the driver and installing it.

Windows 11

We have seen problems with Windows 11 and Arduino Nano Clones, with error messages similar to:

avrdude: ser_open(): can't set com-state for "\\.\COM3"

As the staff at the EE Shop has worked to troubleshoot this, there were indications that the problem was with the Arduino IDE 2.1.0.
If you see this problem with later versions of the IDE, try these fixes, but then consider whether the problem might be the microcontroller (ATmega328P vs ATmega328PB).

A fix that seems to work is to install the latest CH340/341 drivers from https://oemdrivers.com/usb-ch340 :

When you download and un-ZIP this package, you end up with folders containing .INF and other files.
A common way to upgrade Windows device drivers is to select the device in Device Manager, tell it to update drivers and click on the option to browse your computer for the drivers.
Usually you select the directory containing those files and Windows uses them.
I found that when I tried this Windows insisted “no, the drivers already installed are the best.”

However this driver package also includes a couple executable programs that you
just run to install the driver, and that works. (One in the main folder, one in
the “W1X” folder. As far as I can tell they do the same thing.)

Finally:

On Windows 11, the first time after launching the IDE, your code should compile and upload with no complaints.
But your next upload will fail …. UNLESS you
unplug the Nano from the computer, letting it’s COMx port “go away”, then plug
it back in so Windows and the IDE “rediscover” it.
(The IDE immediately picks up using the same port settings when you plug it in.)
And then you can upload another sketch.
This is inconvenient but not majorly so, considering the payoff is that uploads can be depended upon to work when you do this.

MacOS

Sparkfun’s How to Install CH340 Drivers page also has instructions for installing the driver on MacOS;
however, we are not aware of any students needing to manually install the CH340 driver on MacOS.

Linux

Sparkfun’s How to Install CH340 Drivers page also has instructions for installing the driver on Linux;
however, we are not aware of any students using Linux personal laptops in this course.

ATmega328P vs ATmega328PB

It seems that some Arduino Nano clones have the ATmega328PB microcontroller instead of the specified ATmega328P.
This difference reportedly has also caused “can't set com-state” errors.
If/when this is the problem, it can be resolved by installing support for the ATmega328PB.

See:
  • https://forum.arduino.cc/t/connection-problem-cant-set-com-state/1135878

  • https://github.com/watterott/ATmega328PB-Testing

Other Uploading Issues

Arduino’s Troubleshooting Guide has some suggestions.

Does a soft reboot or a hard reboot fix it?

  • Try pressing the RESET button on the Arduino Nano and then re-attempt the upload.

  • Sometimes unplugging the USB cable and plugging it back in fixes the problem.

Do you have the right COM port (Windows) / TTY port (MacOS/Linux) selected?

Windows:

The Troubleshooting Guide recommends disconnecting your Arduino Nano and reconnecting it, then selecting whichever COM port appears.

MacOS:

From the command line, type ls /dev/tty.*. If there is only one port that starts with /dev/tty.usbserial then that is the one you want. For example:

% ls /dev/tty.*
/dev/tty.BLTH   /dev/tty.Bluetooth-Incoming-Port    /dev/tty.usbserial-141330

In this case, you would choose tty.usbserial-141330. If there are more than one port that starts with /dev/tty.usbserial then unplug your Arduino Nano and reconnect it, then selecting whichever TTY port appears.

Linux:

(note: I haven’t tested this with Linux – I would think that ls /dev/tty[AU]* would work similarly to the MacOS solution, looking for /dev/ttyUSBnn or /dev/ttyACMnn, but if Linux “remembers” connections and they don’t go away, then there seems to be a common internet solution of dmesg | grep tty and selecting the tty device with the most-recent timestamp.)

Do you have the right bootloader selected?

  • In the Arduino IDE, go to the ToolsProcessor menu, and select “ATmega328P” for the “new” bootloader, or “ATmega328P (Old Bootloader)” for the “old” bootloader.

  • In PlatformIO, if you are using the platform.ini provided in a CSCE 231 assignment, then select the “env:nanoatmega328new” environment for the “new” bootloader, or the “env:nanoatmega328old” environment for the “old” bootloader.

    • Otherwise, in platform.ini, set your board’s board environment variable: board = nanoatmega328new for the “new” bootloader, or board = nanoatmega328 for the “old” bootloader.

Is some other software on the host computer connected to the COM port (Windows) / TTY port (MacOS/Linux)?

If you’re using PuTTY (on Windows), Screen (on MacOS or Linux), or some other serial terminal emulator to interface with your Arduino Nano, then you need to disconnect your serial terminal emulator before uploading firmware to the microcontroller.

(If you’re using the Arduino Serial Monitor or the PlatformIO Serial Monitor, this shouldn’t be an issue since those integrated environments disconnect the Serial Monitor from the port before attempting an upload.)

  • #1

Всем привет, столкнулся с такой проблемой : китайская arduino nano определяется как неизвестное usb устройство [фото 1]. Драйвера ch341 на компьютере присутствуют [фото 2], однако и при их установке , вместо Driver install success появляется окно The drive is successfully pre-installed in advance. При попытке удалить драйвер, появляется окно No device is found! Такое происходит с двумя платами, одна из которых 100% рабочая, а вторая пришла вчера из поднебесной. В IDE вкладка с портами не активна. Заметил еще, что при подключении платы NodeMcu , она подключается нормально и появляется в списке с COM портами. Кабель тоже 100% работоспособный. Заранее благодарен в поиске решений.

  • #2

самое главное забыли указать — операционка на ПК какая?

  • #4

@BogDan73, у меня подобная проблема возникала, когда USB шнурок был вставлен в другой разъём USB на ПК. Ну, в смысле не в тот, на котором устанавливались дрова для CH340/341. Попробуйте удалить все файлы драйвера мимо корзины, перезагрузить писюк, и заново запустить инсталлятор дров при физически подключенной плате. Мне помогло, как будет у Вас — не знаю.

  • #5

@PiratFox, Все дело было в кабеле. Чего чего, но от него подставы не ожидал, так как работал с ним очень долго. Но все равно, спасибо вам) и с наступающим!


  • #6

«Сбой дискриптора устройства» — это значит что ID устройства не может определиться по шине данных.
Причин быть может быть несколько: кабель (заменить), неисправный порт (воткнуть в другой порт или воткнуть в него заведомо исправное устройство) либо проблема в самой плате (не работает контроллер поэтому не передает данные)

Grey, в USB устройствах ничего нового не отображается. Я просто не понимаю почему он отваливается именно на пк. Вот сегодня ардуинка проработала дольше всего минуты две, потом я выключил пк и заново включил, без отключения ардуино и она нормально проработала секунд 10 после включения и отвалилась. Ее даже некто не трогал. Побывал я на другом пк (уже не ноутбуке) и там всё хорошо.

Добавлено через 4 минуты
При том всё идет по деградации сначала она определяется и работает минуту потом отваливается, я беру её переподключаю она появляется н секунд 15 и отваливается, потом секунду и отваливается, потом просто звук подключения и больше ничего, а потом и вовсе не реагирует. Какое напряжение должно быть между экраном юсб и пинами ардуино?

Добавлено через 26 минут
Я кое-что обнаружил если шатать USB то снова начинает появился звук подключения а потом отключения. На ноуте такого нет как не шатай всё хорошо.

Добавлено через 16 минут
А может выкинуть её, и не морочить голову?

Добавлено через 35 минут
Про USB уже не актуально.

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

10 самых распространенных ошибок при работе с Arduino

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

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

Решение

Эта проблема обычно случается когда вы используете не оригинальную плату Arduino, а ее дешевые клоны, обычно китайского производства. В этих клонах Arduino вместо стандартного для оригинальных плат Arduino FTDI чипа (FT232RL) используется более дешевый чип CH340g (для преобразования USB в последовательный интерфейс). Драйверы для стандартного чипа FT232RL уже содержатся в установочном пакете Arduino IDE, поэтому при ее установке они также автоматически устанавливаются на ваш компьютер. А чтобы использовать клон платы Arduino с чипом CH340g вам необходимо предварительно скачать и установить драйвер для этого чипа – скачать его можно по следующей ссылке. Установка его крайне простая – я думаю, она не вызовет у вас никаких затруднений.

Установка драйвера для чипа CH340g

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

2. Плата не синхронизируется

В этом случае ваш компьютер видит подключенную к нему плату Arduino, но вы не сможете загрузить в нее код программы и вы при попытке загрузке в нее программы вместо привычного сообщения «done uploading» увидите сообщение об ошибке: “avrdude: stk500_getsync(): not in sync: resp=0x00”.

Решение

Ошибка синхронизации resp = 0x00 является общим ответом (ошибкой) на все проблемы, связанные с некорректной работой микроконтроллера Atmega (или вообще его неработоспособным состоянием), являющегося «сердцем» платы Arduino. Соответственно, причин этой ошибки может быть достаточно много. Мы рекомендуем вам выполнить следующую последовательность шагов чтобы попробовать устранить эту проблему:

  1. Убедитесь в том, что ничего не подключено к цифровым контактам 0 и 1 платы Arduino (включая шилды).
  2. Убедитесь в том, что в настройках Arduino IDE вы выбрали правильный тип платы и правильный COM порт.
  3. Пару раз нажмите кнопку сброса на плате Arduino и попробуйте после этого загрузить в нее код программы.
  4. Если не помогло, то отключите и заново подсоедините плату Arduino к компьютеру.
  5. Закройте и снова запустите Arduino IDE.

Если ничего из перечисленного не помогло, то попробуйте подключить к своему компьютеру другую плату Arduino или же подключите вашу плату Arduino к другому компьютеру. Если вы обнаружите, что проблема в компьютере, то переустановите Arduino IDE. Иногда бывает и так, что Arduino IDE из Windows работает с глюками, а из другой операционной системы на этом же компьютере работает без проблем. Также встречаются энтузиасты, которые устанавливают Arduino IDE в операционную систему от платы Raspberry Pi, то есть работают с Arduino IDE на компьютере, который состоит из платы Raspberry Pi и монитора – они говорят, что в этом случае Arduino IDE работает гораздо лучше чем из под Windows. Также, если не хотите менять компьютер или операционную систему на нем, вместо Arduino IDE можно попробовать использовать аналогичные инструменты — оболочку PlatformIO или Arduino Web Editor (официальный онлайн инструмент, его не нужно устанавливать).

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

3. Код программы не начинает исполняться при нажатии кнопки сброса (Reset)

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

Решение

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

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

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

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

4. Invalid Device Signature Error (ошибка подписи)

Ошибка подписи при работе с платой Arduino

Эта ошибка возникает при попытке загрузки кода программы в плату Arduino, тип которой отличается от той платы, которую вы выбрали в настройках Arduino IDE. Ошибка возникает из-за того, что подпись устройства (device signature) на используемой плате отличается от подписи того типа платы, которую вы выбрали в Arduino IDE.

Решение

Выбрать правильный тип платы Arduino в настройках Arduino IDE. Если это не помогает, то можно попробовать прошить плату последней версией загрузчика Arduino (Arduino bootloader).

5. Ошибка запуска (Launch4j Error)

Arduino IDE необходимо некоторое время для того чтобы запуститься и если после ее запуска вы на что-нибудь кликаете, то возникает ошибка Launch4J error как показано на представленном рисунке. Launch4j – это инструмент, который используется для упаковки (wrapping) приложений Java в программной среде Windows, который позволяет им исполняться как обычным программам Windows.

Arduino IDE написана на JAVA и эта ошибка возникает из-за несовместимости библиотеки Java Run Time Environment (JRE), поставляемой вместе с Arduino IDE.

Решение

Часто решить эту проблему удается простым выключением Bluetooth или WiFi на вашем компьютере. Если это не помогает, то более сложным вариантом решения данной проблемы является замена библиотеки JRE в Arduino IDE на ее последнюю версию.

6. Последовательный порт уже используется (Serial Port Already in Use)

Ошибка повторного использования последовательного порта в Arduino IDE

Одна из самых простых проблем для решения. Она обычно происходит когда вы пытаетесь загрузить код программы в плату Arduino в то время когда открыто окно монитора последовательной связи (serial monitor) (но эта проблема в последних версиях Arduino IDE уже устранена) или вы пытаетесь его открыть во время обмена информацией между Arduino IDE и платой Arduino, или вы пытаетесь в это время использовать этот же самый COM порт для связи с другим устройством. То есть данная проблема возникает тогда, когда вы пытаетесь использовать последовательный порт одновременно для двух вещей.

Решение

Когда вы хотите загрузить программу в плату Arduino с помощью Arduino IDE, просто закройте (остановите работу) всех программ/приложений, которые в это же самое время могут использовать данный последовательный порт. Если в каких то программах вы не уверены, то отключите и снова подсоедините плату Arduino к компьютеру.

7. Скетч успешно загружен, но ничего не происходит

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

Решение

  1. Убедитесь в том, что тип выбранной в настройках Arduino IDE платы совпадает с типом платы, в которую вы загрузили программу.
  2. Также подобная ошибка может быть вызвана тем, что размер загружаемого в плату скетча превышает объем ее памяти для хранения программ. Уменьшите объем скетча или используйте плату Arduino с большим объемом памяти.
  3. Еще одной причиной подобной ошибки может быть сильная зашумленность цепей питания. Убедитесь в том, что питающее напряжение, подаваемое на плату, достаточно стабильно.

8. Неизвестная ошибка связи (Unsatisfied Link Error)

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

Решение

Для решения этой проблемы найдите файл comm.jar или jcl.jar в папке /System/Library/Frameworks/JavaVM.framework/ или в папках на вашем компьютере, относящимся к переменным окружения CLASSPATH или PATH.

9. Размер скетча слишком большой (Sketch Too Large)

Ошибка слишком большо размера скетча при работе с Arduino

Эта ошибка происходит когда размер кода программы больше чем объем перепрограммируемой памяти (flash memory, памяти для хранения программ) используемой вами платы Arduino. К примеру, объем этой памяти в плате Arduino Uno составляет 32 Кбайта, из которых 2 Кбайта заняты загрузчиком. Если вы попытаетесь загрузить в данную плату скетч объемом более 32 Кбайт, то увидите подобную ошибку.

Решение

Для решения этой проблемы модно использовать следующие способы уменьшения объема кода программы:

  1. Там, где это возможно, используйте целые типы данных (integer) вместо вещественных (float).
  2. Там, где это возможно, используйте при объявлениях переменных спецификатор “const”.
  3. Подключайте в программу только те библиотеки, которые вы будете использовать. Там, где это возможно, используйте облегченные версии используемых библиотек.
  4. Используйте специальные алгоритмы и другие способы уменьшения объема кода программы.

Более радикальным решением этой проблемы является смена платы Arduino на плату с большим объемом памяти. Например, плату Arduino Uno можно заменить на плату Arduino Mega, или даже на плату Arduino Due.

10. Ошибка переполнения стека (java.lang.StackOverflowError)

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

Решение

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

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

Загрузка…

14 796 просмотров

Понравилась статья? Поделить с друзьями:
0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest

0 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии
  • C windows system32 iertutil dll
  • Помощник обновления windows 10 корпоративная
  • Как обновить apache на windows
  • Windows 10 pro 22h2 как активировать
  • Беспроводная сеть недоступна windows 10