PicHobby.lg.ua
MicroPAS.ru
Arduino Uno не определяется – статья, в которой расскажу, как оживлял свою Arduino Uno(точнее её клон).
При очередном подключении платы к компьютеру обратил внимание, что плата не определяется. Причем компьютер плату не видел совсем. Первое на что подумал это USB шнур. Проверил. Оказался рабочим. Далее удалил драйвер на arduino и среду разработки. После удаления установил всё обратно. Ожидаемого результата это не принесло. Посмотреть какие посылки приходят с магазина ЧИП-НН можно в статье-обзоре.
Интерфейс связи с компьютером сформирован на микроконтроллер Atmega16U2. Если подключить рабочую плату, то компьютер определит её как виртуальный com-порт. А тут не определяет. Логично, что проблема с контроллером или его обвязкой.
Сам контроллер установлен тут(рисунок 1).
Пришлось взять мультиметр и проверить наличие рабочего напряжения на микроконтроллере и целостность линий связи от USB гнезда до контроллера. Всё оказалось впорядке.
Следующее на что подумал – прошивка. На просторах интернета нашел прошивку и рекомендации, как всё выполнить, но, прежде решил попробовать ввести микроконтроллер в, так называемый, режим DFU. Для этого достаточно установить перемычку между RST и GND на штыревом разъеме(рисунок 2), после подключить к компьютеру, а тогда уже снять перемычку. Если плата исправна, то компьютер определит незнакомое устройство Atmega16U2. У меня с этим ничего не вышло.
Решил прошить микроконтроллер сторонним программатором. Под рукой у меня оказался USBASP. Чтобы подключиться к arduino пришлось изготовить шнурок. Когда всё уже было готово… Подключился к arduino, подал на неё питание, запустил оболочку AVRDUDE, в меню выбрал необходимый микроконтроллер и… И ничего у меня не вышло… USBASP отказывался видеть микроконтроллер. Что довольно странно. Теперь всё указывало на кварц 16МГц(рисунок 3). Осциллографом кварц проверять не стал, решил просто заменить. После замены кварца плата заработала, как следует.
Вот такой небольшой опыт ремонта arduino uno. Всем добра и рабочих компонентов!
Память Arduino UNO
Платформа оснащена 32 кБ flash-памяти, 2 кБ из которых отведено под так называемый bootloader. Он позволяет прошивать Arduino с обычного компьютера через USB. Эта память постоянна и не предназначена для изменения по ходу работы устройства. Её предназначение — хранение программы и сопутствующих статичных ресурсов.
Также имеется 2 кБ SRAM-памяти, которые используются для хранения временных данных вроде переменных программы. По сути, это оперативная память платформы. SRAM-память очищается при обесточивании.
Ещё имеется 1 кБ EEPROM-памяти для долговременного хранения данных. По своему назначению это аналог жёсткого диска для Arduino.
Установка среды разработки для Arduino UNO и пример программы
Всем привет, на канале Компьютерапия в прошлом видео я рассматривал свою полученную посылку с платформой Arduino Uno, которую я получил из Китая через сайт AliExpress.
Давайте сегодня установим программу, которая необходима для написания скетчей(программ) на платформе Arduino.
В браузере перейдём на официальный сайт arduino.cc, можете подписаться на что-нибудь посмотреть, что тут есть интересного или нового.
Но нас интересует категория Software в меню сайта и подпункт Downloads(загрузки).
Качаем последнюю версию для вашей платформы это 1.8.7, сейчас на сайте доступна версия 1.8.8, для Windows, Mac OS X либо Linux, я выбираю Windows Installer, загрузка происходит достаточно быстро.
Давайте запустим скачанный файл и пробежимся по инсталлятору.
Обратите внимание, здесь уже есть драйверы, и оставлю путь без изменения и нажму кнопку Install, происходит установка различных пакетов, дополний будут установлены дополнительные драйверы для com портов, для USB драйверов.
Выполнено, нажмем кнопку закрыть, появится ярлычок.
Давайте запустим среду разработки Arduino, как видите программа переведена на русский язык, если потребуется разрешите доступ к сетям.
Так выглядит пустой скетч, традиционное в любой программе есть меню файл, правка, которой можно форматировать код, скетч для загрузки, всё продублирована горячими клавишами в меню инструменты, можно подключать библиотеки, записывать загрузчик, пункт помощь традиционно туда никто не смотрит, есть очень удобные кнопки для быстрой загрузки, проверки, открытия, сохранения скетчей.
Давайте запустим какой-нибудь пример и протестируем нашу платформу Arduino.
Подключим через USB шнур плату к компьютеру, в инструментах проверим подключён ли порт, у меня на COM3 и выбрана ли правильно плата по своему типу.
Перейдём в Файл-Примеры-Basic Blink, мерцание или мигание, в данном примере мы будем управлять мерцанием впаяного светодиода, который расположен на самой плате.
В подпрограмме setup происходит назначение через pinMode светодиодов, что он будет выводить данные через пин № 13, из переменной led .
В цикле loop на светодиод через константу HIGH подается напряжение с задержкой в 1000 миллисекунд, затем через константу LOW напряжение снимается и снова пауза на одну секунду.
Если мы изменим задержку до 200 миллисекунд, то после проверки загрузки скетча, будет мигать светодиоды RX и TX и светодиод будет мигать длительностью 200мс каждые 200 миллисекунд.
Если мы изменим задержку на 5 секунд или 5000 мс, то опять после прогрузки индикатор будет гореть 5 секунд и не горит соответственно тоже 5 секунд.
Так всё это работает на платформе Arduino, полный текст кода расположен ниже.
На оригинальных версиях Arduino стоит другой контроллер 16U2. Он другой по форме. Собственно он совсем другой и это трудно не заметить, но я все же приведу фото. Обратите внимание на обозначение. Нас интересует 16U2.
Так вот, к нему конечно нужен свой драйвер. В «Диспетчере устройств» все также можно увидеть Неизвестное устройство или может будет какой-нибудь COM3 с значком восклицательного знака. В общем как устройство без драйвера. В этом случае можно либо скачать последнюю версию с официального сайта ПО Arduino (надо качать ZIP file for non admin installer) и натравить обновление драйвера на эту папку. То есть кликаем правой кнопкой мышки на иконке неизвестного устройства и выбираем поиск драйвера вручную, а там выбираем нашу скачанную папку с файлами Ардуино.
В последних версиях программы, в 2019 году, эти драйвера зашиты в архив «Old_Arduino_Drivers», то есть как я полагаю этот контроллер уйдет в небытие, по крайней мере на Ардуинке, а значит и с драйверами будут проблемы. Поэтому я скачал архив к СЕБЕ.
То есть о чем я это все? Вы можете просто скачать этот самый архив, разархивировать и натравить на обновление драйвера (неизвестного устройства), именно на эту скачанную папку!