Установка драйвера CH340 для китайского ардуина UNO
Подробная инструкция по установке драйвер CH340 для для китайского клона Arduino UNO/Nano на Windows XP, Windows 7, Windows 10, Linux, Mac OS.
Китайская ардуина отличается от оригинальной тем, что в ней для программирования основного микроконтроллера используется чип CH340 вместо МК Atmega16. Этот недорогой чип позволяет снизить итоговую стоимость платы ардуины (например, ардуина UNO на CH340 будет стоить около $3 вместо $5). Китайская Arduino UNO с чипом CH340 выглядит так:
Соответственно для зашивки программы в такую ардуино на компьютере должен быть установлен драйвер для чипа CH340. В остальном работа с такими платами ничем не отличается от оригинальных.
Драйвера чипа CH340 для разных операционных систем:
Эти драйвера подходят не только для китайских ардуино UNO, но и для любой другой ардуине на базе CH340 — NANO, MEGA и т.п.
Инструкция по установке драйвера CH340 на Windows
Этот метод проверялся на Windows XP и Windows 7, но должен также работать на Windows 10 и т.п.
Если драйвер для CH340 не был предварительно установлен на Windows, то сразу после подключения вашей платы Arduino UNO с чипом CH340 к компьютеру/ноутбуку через USB-кабель в списке устройств (Device manager) будет обнаружено новое USB-устройство USB2.0-Serial (как показано на рисунке). Восклицательный знак указывает на то, что драйвер для устройства не установлен.
Поэтому скачиваем драйвер CH340 для Windows отсюда , если вы это еще не сделали, и распаковываем архив куда-нибудь.
В распакованном архиве находим файл CH341SER.EXE и запускаем его. Появится такое окошко:
Здесь, естественно, нажимаем INSTALL , чтобы установить драйвер на компьютер (или UNINSTALL, если наоборот нужно удалить драйвер с компьютера).
После установки драйвера в списке устройств, а точнее в разделе порты COM & LPT вы увидет устройство USB-SERIAL CH340 (COM19) — это и есть ваша плата ардуина, подключенная через USB-порт, но работать она будет в режиме виртуального (последовательного) COM-порта.
То есть теперь вы можете использовать разные программы для работы с COM-портами, чтобы обмениваться сообщениями с вашей ардуиной. Это удобно, так как программировать USB-порт гораздо сложнее. Номер COM-порта в нашем случае определился как 19, но, вообще говоря, он может быть любым (из сводобных). Так что если номер COM-порта будет другим, то ничего страшного — всё должно работать.
Если устройство не было ображено, то возможно надо перезагрузить винду.
Инструкция по установке драйвера CH340 на Linux
На свежих линуксах ничего устанавливать не надо, всё работает из коробки. Тем не менее драйвер также имеется и его можно скачать здесь .
AlexxNB › Блог › Настройка Arduino IDE в Linux и добавление поддержки семейства ATTiny.
Настройка Arduino IDE в среде Linux
Уже пару лет прошло с тех пор, как я полностью отказался от Wndows в пользу Linux. Для себя я выбрал дистрибьютив Linux Mint.
Освоение платформы Arduino я начал гораздо раньше. Не хочу сказать, что я великий программист микроконтроллеров, но все устройства какие мне нужно было сделать — я сделал =).
К сожалению, если устанавливать Arduino IDE через стандартный менеджер программ в Linux Mint или Ubuntu, то будет доступна лишь морально устаревшая версия 1.0.5. Почему-то обновлять репозиторий давно забросили, а PPA для Arduino я не нашел.
Поэтому придется устанавливать среду вручную, впрочем это совсем не сложно. Сначала нужно скачать архив по этой ссылке.
Распакуйте его в любую удобную директорию и запустите файлик install.sh.
После этого на рабочем столе (или в списке приложений) появится ярлык Arduino и через который можно будет запускать среду.
Однако при попытке загрузить скетч в плату будет вылазить такая ошибка:
Для устранения этой несправедливости необходимо добавить своего пользователя в группу dialout. Для этого в Linux Mint необходимо открыть Меню-Администрирование-Пользователи и группы.
В появившемся окне кликаем по области, где расположен список групп, к которым принадлежит ваш пользователь.
В списке ставим галочку напротив группы dialout. Потом жмем ОК и перезагружаем компьютер(или выходим из сеанса и входим обратно).
После этого можно смело пользоваться Arduino IDE. Примечательно, что для самих плат не нужно устанавливать никаких драйверов. Просто выбираете нужную плату и порт в списке и загружаете скетчи.
Добавление поддержки семейства ATTiny
Все-таки Arduino это плата для разработки. Готовое устройство необходимо собирать на основе микроконтроллера и соответствующей обвязки.
Обычно для моих поделок не нужно очень много портов IO и в целях миниатюризации и удешевления изготовляемых устройств имеет смысл использовать контроллеры семейства ATTiny25/45/85/24/44/84. В них нету некоторых возможностей, которые есть в ATMega328(на которой базируется Arduino), но зато они очень маленькие — всего на 8 или 14 ножек.
В них можно загрузить точно такие же скетчи(правда не все библиотеки поддерживаются), что и в обычную Arduino. Правда для этого потребуется программатор. Я использую самодельный USBAsp, но можно использовать и имеющуюся на руках Arduino в качестве ISP программатора.
Чтобы иметь возможность работать с ATTiny нужно в Arduino IDE открыть меню Файл-Настройки и в появившемся окне вставить ссылку raw.githubusercontent.com…amellis_attiny_index.json в поле Дополнительные ссылки для Менеджера плат и нажать Ок.
Далее в меню выбрать Инструменты-Плата-Менеджер плат и в появившемся окне в списке Тип выьрать пункт Внесены и в списке дополнений найти и кликнуть по attiny by David A. Mellis. Появится кнопка Установить, которую и следует нажать.
После этого вы можете выбрать одну из поддерживаемых микросхем attiny в списке плат.
Настройка поддержки USBAsp в LInux
Для программирования ATTiny и ATMega внутрисхемно необходим программатор. Как я уже писал, я использую USBAsp и в Linux по умолчанию нет разрешения работать с USB устройствами напрямую для обычных пользователей. Можно просто запускать Arduino IDE с правами root, но гораздо удобнее прописать разрешение на работу с USBAsp.
Для этого в терминале пишем следующую команду sudo nano /etc/udev/rules.d/10-usbasp.rules:
В появившемся текстовом редакторе вставляем(ctrl-shift-v) следующий текст: SUBSYSTEM==»usb», ATTR
После перезагрузки компьютера вы сможете без проблем использовать программатор USBAsp в системе Linux.
Программируем ATTiny
Для примера возьмем ATTiny45. Сначала нужно присоединить микроконтроллер программатору. Можно сделать это на макетной плате по следующей схеме.
Но гораздо лучше сделать свою плату для разработки для attiny и atmega как у меня. Также хорошим решением будет предусматривать 6-пиновый разъем для внутрисхемного программирования, куда можно будет подключить программатор, чтобы перепрошивать микроконтроллер непосредственно в устройстве.
Далее программатор можно подсоединить к компьютеру и запустить Arduino IDE где в меню Инструменты-Программатор выбрать пункт USBAsp. Затем выбрать Attiny25/45/85 а меню Инструменты-Плата. В меню Инструменты-Процессор выбрать Attiny45.
Также необходимо выбрать генератор частоты и саму, на которой будет оперировать микроконтроллер, в меню Инструменты-Clock . Если в вашей схеме нет кварца, то выбирайте частоты только с приставкой Internal. Это означает, что микроконтроллер будет полагаться на свой внутренний генератор частоты. Если вы выберите пункт с приставкой External, то микроконтроллер не будет работать, пока вы не подключите кварц к соответствующим ножкам. Частоту можете выбирать какую угодно. Если в вашей программе нет действий, которые должны выполняться за микросекунды, то имеет смысл использовать самую малую частоту. Если вам важны точные промежутки времени(например, измерение частоты), то лучше использовать частоту побольше и внешний кварц соответствующей частоты. В нашем примере выберем Internal 1MHz.
Если вы прошиваете конкретный микроконтроллер первый раз, а так же в случае смены частоты и источника частоты, необходимо сначала настроить микроконтроллер на выбранные параметры. Для этого выберите в меню пункт Инструменты-Записать загрузчик. Если все хорошо, то вы увидите надпись Запись загрузчика завершена.
Теперь вы можете загрузить скетч в микроконтроллер просто нажав кнопку Загрузка.
При написании микропрограмм в Arduino IDE следует руководствоваться картинкой ниже, чтобы знать какие порты IO среды Arduino соответствуют ножкам микроконтроллера.
Установка и настройка Arduino IDE на Linux Ubuntu
ОкМне очень часто поступают вопросы по поводу установки и настройки Arduino IDE под Ubuntu. И когда мне в сотый раз задали этот вопрос, я решил таки написать заметку по этому поводу, дабы в следующий раз просто кидать ссылкой в вопрошающего. По сути в установке и настройке IDE нет ничего сложного, все довольно элементарно, но видимо так думаю только я.
Установка
Для установки нам необходимо скачать собственно саму IDE, это можно сделать на этой странице.
Нам нужно скачать программу по ссылке Linux 64 bits если у Вас 64-битная система, и Linux 32 bits если у Вас 32битная система. Но скачивания не произойдет, поскольку мы просто попадем на другую страницу. Нам надо кликнуть по ссылке «JUST DOWNLOAD».
И только после этого начнется скачивание. Проходим в полученную папку и запускаем файл «arduino». Вот и все, программа запущена, нам осталось внести некоторые изменения. При желании после запуска можно закрепить ярлык программы для быстрого доступа.
Настройка
К сожалению свежеустановленная IDE не начнет работать с платой Arduino. Для того, чтобы IDE смогла работать с нашим контроллером, нам необходимо произвести ряд не хитрых действий как с IDE, так и с системой. Первым делом настроим IDE, для этого кликаем «Инструменты» и выбираем модель нашей платы, модель контроллера и порт, на котором висит наш контроллер.
Вроде бы все хорошо, можно приступать к написанию скетча, но проблемы начнутся когда мы захотим загрузить скетч в плату. Выскочит ошибка доступа к COM-порту. И это не удивительно, ведь у порта права суперпользователя. Просто поменяв права командой chmod, мы изменим сутуацию ненадолго, до следующего подключения платы.
Для устранения проблемы нам надо внести коррективы в правила монтирования порта. В этом нет ничего сложного, для этого нам потребуется всего лишь создать файл с правилом в папке /etc/udev/rules.d. Но прежде нам необдхимо узнать некоторую информацию, это пара цифробуквенных значений. Их можно узнать выполнив команду lsusb. После выполнения мы увидим список устройств подключенных к компьютеру. В моем случае моя плата отобразилась как:
Bus 002 Device 009: ID 1a86:7523 QinHeng Electronics HL-340 USB-Serial adapter
Определить как именно называется наша плата можно простым способом, выполнив команду не подключая плату и выполнив команду после подключения.
Теперь нам необходимо создать файл с правилами, для этого нам потребуется выполнить следующую команду:
sudo nano /etc/udev/rules.d/10-arduino.rules
Добавим в него следующий текст:
SUBSYSTEMS==”usb”, ATTRS
MODE:=”0666″, GROUP:=”users”
Я отметил красным места, куда необходимо воткнуть значения, не забудьте поменять эти значения на свои и поменять GROUP:=”users”, где “users” нужно заменить на свое, как правило группа соответствует имени пользователя в системе. Если сомневаетесь, то можете выполнить команду groups и самой первой будет та, которая нам нужна. Сохраняем изменения и выполняем ещё одну команду:
sudo udevadm control —reload-rules
Этим самым мы перезагружаем правила. На этом собственно и все, теперь при подключении нашей платы, её COM-порт будет доступен нам для записи. До того как я перешел на Ubuntu 17.10, я просто запускал IDE под sudo, но в 17.10 у меня вылезла ошибка «Can’t connect to X11 window server using ‘:0’ as the value of the DISPLAY variable» и я решил таки заморочиться с правилами монтирования порта.














