главную Kirim ke Работа с USB чайников для Kirim ke примере AVR-USB-MEGA16 Пошагово описан простой способ создания несложных электронных устройств, управляемых при помощи шины USB. Для тех, кто слабо разбирается в микроконтроллерах, winapi и протоколах usb. Даны примеры для Delphi. Поделиться: Вместо введения Итак ... Вам нужно устройство, которое управляет реле keselamatan команде с компьютера? Устройство для управления шаговыми двигателями? Или устройство для сбора и анализа сигналов? В эпоху DOS-а и младших версий Windows все эти действия легко проделывались на базе порта принтера (LPT). Но как поступить сейчас? Сейчас все компьютеры, ноутбуки, нетбуки, планшетники, наладонники и прочее вычислительное железо укомплектовано целым ворохом портов USB. Его-то нам и нужно использовать. Тем более, что в USB уже сразу предусмотрено питание, защиты от КЗ, перегрузок и т.п. приятные вкусности. Да и скорость не в пример выше LPT. Вот только не очень понятно как с ним общаться. Можно поступить так же, как мы это делали при изучении LPT или RS232 портов, т.е. изучать с самого начала, то есть их суть. Однако сразу скажу, что объём знаний там потребуется не в пример больший. Большой Очень. Огромный Просто. Забивать себе голову этими знаниями, наверное, не очень нужно, особенно с учётом того, что они потом не понадобятся. Мы же будем использовать уже готовые решения: схемы, драйвера, библиотеки и прочее. Наша задача: keselamatan команде из Дельфи устанавливать или считывать значения на входах (выходах) нашего устройства. То есть логические нули и единицы (0 или 5 вольт). И как это сделать? В принципе- не сложно. Мы будем собирать несложную схему, сердцем которой является микроконтроллер ATmega16, умеющий общаться по USB порту. Выходами (портами) этого микроконтроллера мы и будем управлять: записывать туда данные и считывать. На соответствующих выводах у нас будут появляться нолики или единички (0 или 5 вольт). Разумеется- мы сможем и читать что сейчас происходит с этими портами. Мне было лень травить плату, и я купил уже готовую. Хотя есть много способов сэкономить. Далее- устанавливаем драйвера libusb-win32, затем драйвер LEDControl. После этого подключаем макетку, запускаем программу и проверяем работоспособность. Всё Собственно. Но теперь обо всём keselamatan порядку. Железка Мы будем собирать вот такую схему, сердцем которой является микроконтроллер ATmega16, умеющий общаться по USB порту. Мне было лень травить плату, и я купил уже готовую тут. Получил keselamatan почте вот это. Можно сэкономить- и купить там только плату. Либо можно купить в магазине радиодеталей пустую макетную плату (пустая плата с дырочками) и собрать эту же схему, только используя микроконтроллер в dip корпусе. Если вы всё же заказываете там плату целиком- сразу попросите прошить ваш микроконтроллер прошивкой от "Сергея Кухтецкого". Если собираете сами, или забыли попросить- ниже будет описано как залить прошивку туда самостоятельно. Кстати говоря, на этом сайте можно выбрать схемы и выбрать платы с большими или меньшими возможностями. Они отличаются микропроцессором, скоростью общения по USB, количеством портов. Я выбрал AVR-USB-MEGA16 просто keselamatan количеству портов, несмотря на то, что она работает на скорости usb 1.1. Мне просто не нужны были космические скорости. В принципе- всё абсолютно аналогично для всех указанных на том сайте схем, разница только в том- какую прошивку туда заливать. Поддерживаются на процессорах ATMEGA16 и ATMEGA32. Прошивка (firmware) Прошивка (firmware) нужна микроконтроллеру для того, чтобы он смог адекватно общаться keselamatan порту USB и выполнять наши пожелания (выставлять единички и нолики в нужные нам места и считывать значения из портов). Если вы заказали платку с уже записанной в микроконтроллер нужной прошивкой, то этот пункт можно пропустить. Нужная нам прошивка существует десяти разных видов. Чтобы определить какая требуется необходимо посмотреть на микропроцессор. На нём будет надпись ATMEGA16 или ATMEGA32. Другие типы пока не поддерживаются. Рядом расположен кварц (серебристый), на нём тоже будет надпись, обозначающая частоту. Например: 16,0000 означает частоту 16 МГц. Соответственно- для нашего примера нужна прошивка ATMEGA16 на 16MHz: прошивка atmega16 с частотой 12 Мгц atmega16 прошивка с частотой 15 Мгц atmega16 прошивка с частотой 16 Мгц atmega16 прошивка с частотой 16,5 Мгц atmega16 прошивка с частотой 20 Мгц atmega32 прошивка с частотой 12 Мгц прошивка atmega32 с частотой 15 Мгц прошивка atmega32 с частотой 16 Мгц atmega32 прошивка с частотой 16,5 Мгц atmega32 прошивка с частотой 20 Мгц Lanjut необходимо эту прошивку залить pada bagian микроконтроллер. Сам keselamatan себе он этого сделать не может. Можно воспользоваться программатором (если он у вас есть), либо самодельным переходником LPT- ISP. Указанный переходник нужно подключить к LPT порту вашего компьютера, а второй конец- к микроконтроллеру (к выводам ISP на макетной плате). Распайка переходника такая: Питание можно взять или из USB порта, или прямо на макетке (как это делал я). В принципе- можно обойтись и без резисторов, просто соединив напрямую. Правда тогда повышается веротяность спалить порт при неосторожных манипуляциях с питанием. В любом случае сначала нужно подключить переходник (программатор) к микросхеме, и только потом подавать питание. Основная сложность при этом- найти LPT порт, т.к. на современных компьютерах их просто нет. Поскольку он требуется только один раз- рекомендую попроситься к другу, или выпросить у кого- нибудь USB-LPT переходник или PCI-LPT плату в компьютер. Либо можно поискать старый компьютер или ноутбук с таким портом. Накрайняк- можно купить. Далее- скачиваем любой ISP программатор, поддерживающий ATmega16 и программирование через наш (станда
Sedang diterjemahkan, harap tunggu..
