Управляйте устройствами с ПК с помощью Visual Basic и Arduino
Управляйте устройствами с ПК с помощью Visual Basic и Arduino
Эта программа для Windows, созданная с помощью Microsoft Visual Basic (VB6), имеет интуитивно понятный пользовательский графический интерфейс (UGI) и безупречно работает на платформе Windows.
Он взаимодействует с портом USB персонального компьютера (ПК) через аппаратный модуль, который включает в себя электронную схему на базе микропроцессора, способную управлять до восьми приборов через ПК.
Программа передает определенные инструкции на интерфейсную карту микропроцессора через порт USB. Эти инструкции предварительно запрограммированы и хранятся в памяти микропроцессора. Действия выполняются через назначенный номер реле, связанный с контактом ввода/вывода (I/O) микропроцессора и схемы драйвера.
В основе лежит ATmega328P, однокристальный 8-битный микроконтроллер, размещенный в 28-контактном корпусе DIL. Этот микроконтроллер экономически эффективен и широко доступен на индийском рынке. Поскольку это та же самая микросхема, что и в Arduino Uno, схему ATmega328P можно легко заменить платой Arduino Uno, предпочтительнее if.
220 В первичной обмотки до 15 В, 1 А вторичный трансформатор (Т1)
1
Выпрямительный диод 1N4007 (D1-D12)
12
Конденсатор 1000мкФ, 25В (C1)
1
ИС стабилизатора напряжения 12В 7812 (IC1)
1
Регулятор напряжения 5 В IC 7805 (IC4)
1
Реле 12 В SPDT (RLY 1- RLY8)
8
Драйвер реле IC ULN2803A (IC2)
1
5 мм красный LED for индикация питания
1
резистор 1 кОм (R1)
1
Микроконтроллер ATmega328P (IC3)
1
28-контактная база DIL IC (дополнительный макет for)
1
18-контактная база DIL IC (дополнительный макет for)
1
Кристалл 16 МГц (X1)
1
Керамический конденсатор 22 пФ
2
USB Последовательный преобразователь ТТЛ (см. рис. 2)
1
Перемычки
Как требуются
Релейные разъемы
8
Arduino IDE, необходимый для программирования ATmega328P, доступен for для бесплатной загрузки по адресу https://www.arduino.cc/en/software. Блок-схема, иллюстрирующая функционал программы, представлена на рис. 1, while, полная спецификация приведена в таблице на этой странице.
Рис. 1: Блок-схема проекта
Эта программа предполагает использование Visual Basic (VB) для связи с внешним аппаратным модулем через порт USB. Необходимо базовое понимание программирования VB и знание аппаратного обеспечения for для подключения и управления аппаратным модулем. Микроконтроллер или интерфейсный модуль USB выступает в качестве посредника между ПК и устройствами.
Приборы подключаются через реле. Используются PCB общего назначения или макетная плата, перемычки и внешние устройства источника питания for. На рис. 2 показан последовательный преобразователь USB в TTL, используемый для программирования микроконтроллера ATmega328P.
Рис. 2: последовательный преобразователь USB в TTL
Схема и работа
Управление устройством через порт USB ПК с использованием Visual Basic показано на рис. 3. Схема включает в себя понижающий трансформатор, стабилизатор напряжения LM7812 (IC1) на 12 В, мостовой выпрямитель, драйвер реле UL2803 (IC2), микроконтроллер ATmega328P (IC3), стабилизатор напряжения 5В 7805 (IC4), 12 выпрямительных диодов 1N4007 (D1-D12), восемь реле SPDT 12 В, кристалл 16 МГц и другие вспомогательные компоненты.
Рис. 3: Принципиальная схема
LED указывает, подается ли на цепь питание. Для работы схемы необходимы регулируемые источники питания 12 В и 5 В. Они получены из первичного трансформатора переменного тока 220 В на вторичный трансформатор 15 В, 1 А (T1), мостового выпрямителя с четырьмя диодами 1N4007 (D1-D4) и стабилизаторов напряжения 7812 и 7805.
Конденсатор С1 убирает пульсации. Выход 12 В от IC 7812 питает реле и обеспечивает вход для IC 7805, выход 5 В которого включает работу ATmega328P.
Выходные контакты микроконтроллера напрямую подключены к контактам ULN2803A согласно принципиальной схеме для управления приборами через реле. Драйвер реле ULN2803A изолирует низковольтную цепь от высоковольтной части и управляет контактами реле.
Программирование
Установите разработку IDE for VB. Убедитесь, что установлены правильные драйверы USB for микроконтроллера или интерфейсного модуля. Включите библиотеки for USB связи. Используйте порты ввода-вывода for для последовательной связи. Используются две программы:
<р>1. Эскиз кода Arduino for микроконтроллера (рис. 4).
Рис. 4. Фрагмент кода Arduino
<р>2. GUI for ПК на базе Visual Basic, предоставляющий графический интерфейс для управления устройствами через последовательный порт.
Процедура программирования
Соберите схему по схеме на макете или нулевом PCB. Проверьте все подключения.
При программировании через Arduino Uno последовательный преобразователь USB в TTL не требуется.
После программирования извлеките микросхему ATmega328P из платы Arduino Uno и вставьте ее в макет во время сборки. Добавьте новый ATmega328P на плату Arduino.
Запустите программу Arduino IDE на ПК.
Если вы не используете плату Arduino Uno, используйте плату последовательного преобразователя USB в TTL для программирования ATmega328P. Подключите вывод приемника (RXD) преобразователя к выводу передатчика (TXD) микроконтроллера и наоборот.
Определите порт Arduino в диспетчере устройств ПК. Откройте IDE, перейдите в раздел «Инструменты» и выберите соответствующую плату и порт.
Откройте новый скетч в IDE, скопируйте код, вставьте его, проверьте и загрузите в микроконтроллер ATmega328P с помощью загрузчика.
Рис. 5: Код Visual Basic GUI
Программирование VB6 for Создание GUI
Настройте Visual Studio и создайте новое окно. Добавьте элементы управления и последовательный порт на панель инструментов. Напишите код VB. Запустите VB6 на ПК, скопируйте программу VB6 (рис. 5), вставьте ее в новый проект и создайте исполняемый (EXE) файл.
Рис. 6: Управление устройством Visual Basic GUI for
Создание и тестирование
После программирования микросхемы ATmega328P извлеките ее из платы Arduino Uno. Соберите схему и используйте запрограммированную микросхему, как показано на рис. 3. Нажмите F5, чтобы запустить приложение VB. Убедитесь, что указан правильный COM-порт. Используйте последовательный монитор Arduino IDE для проверки команд и ответов, необходимых if.
Включите оборудование, подключите FTDI или Arduino Uno к порту USB ПК и запустите код GUI Visual Basic. На экране появится GUI (рис. 6). Управляйте приборами, нажимая кнопки GUI.
Адиб Раза — инженер-электронщик с около 35-летним практическим опытом. Он постоянный читатель и автор статей в EFY.
Все ссылки на книги и журналы, представлены на этом сайте, исключительно для ознакомления, авторские права на эти публикации принадлежат авторам книг и издательствам журналов!
Подробно тут! Жалоба