Ардуино- Viual Bassic

voin2100
voin2100 аватар
Offline
Зарегистрирован: 19.01.2012

Сопряжение Ардуино Мега с компьютером с помощью  Viual Bassic

 

chervyachok
chervyachok аватар
Offline
Зарегистрирован: 22.12.2011

а по конкретней

voin2100
voin2100 аватар
Offline
Зарегистрирован: 19.01.2012

Спасибо за отклик. Я хочу простую программку на VB - кнопка, нажал и  нога у Ардуины включилась.

chervyachok
chervyachok аватар
Offline
Зарегистрирован: 22.12.2011

 Можно посылать команды на ком порт а на ардуино их принимать и соответственно реагировать. Как на ардуино организовать прием - arduino.ru/forum/programmirovanie/peremennye-cherez-serial а на стороне VB - ето уже вам разбираться.

voin2100
voin2100 аватар
Offline
Зарегистрирован: 19.01.2012

 Я через Serial порт делал, а вот чтобы это все увидеть в VB, не знаю. Читал что - то про formatta, но не все разобрался.

zhuki
Offline
Зарегистрирован: 12.10.2011

А,что VB это принципиально?

voin2100
voin2100 аватар
Offline
Зарегистрирован: 19.01.2012

 Ну я его немного знаю

chervyachok
chervyachok аватар
Offline
Зарегистрирован: 22.12.2011

 по VB вам явно не тут спрашывать надо а на форумах по програмированию. и если вы спрашываете то подозреваю что VB вы не особо знаете или только начинаете изучать. так почему именно VB? есть например Processing.

voin2100
voin2100 аватар
Offline
Зарегистрирован: 19.01.2012

 А что в процесинге можно создавать окна кнопки? Я просто в VB не работал с портами.

 

zhuki
Offline
Зарегистрирован: 12.10.2011

Если вы немного работаете с VB ,то пишите программу обслуживающую СОМ порт . Из Ардуино  посылайте команды в СОМ порт ,а из своей программы читайте их. Пример работы с портом можно найти и переделать. Команды посылать можно так как вам больше нравиться, стандартов придерживаться нет необходимости. Придумайте что то своё,в зависимости от ваших потребностей. 

Я такое делал, но на делфи. Работает без проблем. Что знаем на том и пишем. 

voin2100
voin2100 аватар
Offline
Зарегистрирован: 19.01.2012

 Ну я разобрался с Ардуино и VB.

Вот код для VB.

Private Sub Command1_Click()
'Настраиваем порт
keusb.CommPort = Text1.Text

keusb.Settings = "9600,N,8,1"
keusb.Handshaking = comNone
keusb.InputLen = 0
keusb.InBufferSize = 40
keusb.OutBufferSize = 40
keusb.RThreshold = 0
'Открываем порт
keusb.PortOpen = True
Command1.Enabled = False
End Sub

Private Sub Command2_Click()
'Формируем и отправлям команду $KE,WR
keusb.Output = "$KE,WR," & 2 & "," & Chr(13)
End Sub

Private Sub Command3_Click()
keusb.Output = "$KE,WR," & 0 & "," & Chr(13)
End Sub

Private Sub Command4_Click()
End
End Sub

Ну тут видно какие объекты надо разместить на форме

 

voin2100
voin2100 аватар
Offline
Зарегистрирован: 19.01.2012

 Во почти все взял от сюда    http://www.pcports.ru/articles/ke_usb14.php

Xoon
Offline
Зарегистрирован: 02.04.2012

 А при чем тут модуль Ke-USB24A? Гораздо проще можно реализовать. Отправлять в ком-порт один байт, и потом читать этот байт на ардуино.

voin2100
voin2100 аватар
Offline
Зарегистрирован: 19.01.2012

 (Отправлять в ком-порт один байт, и потом читать этот байт на ардуино.) Вот я не знаю как это сделать. А ке-модуль команда работает. Хотя я не совсем понимаю как.

Xoon
Offline
Зарегистрирован: 02.04.2012

 Там свой модуль видимо используется для работы с ком портом. В принципе, можно и его использовать, если чтение из порта в нем тоже есть. Ну а "$KE,WR," - это команда управления этим устройством. Вместо нее можно писать что угодно для передачи. Только надо помнить, что в ардуино чтение идет побайтно, а не все сразу.

mishuta
Offline
Зарегистрирован: 15.04.2012

С нетерпением жду продолжения.

Casper
Offline
Зарегистрирован: 02.10.2012
Доброго дня всем. Начну отсюда, потому как ардуинку еще жду.

На VB все примитивно.

Нужен компонент MSCOMM (MSCOMM32.OCX)

Подключаем к проекту. дефолтные настройки подойдут. Нужно лишь скорость задать 9600

Далее в коде

MsComm.PortOpen = True

Открываем порт.

MsComm.Output = "A"

Отправляем символ А в порт

MsComm.InBufferCount - Больше нуля, если есть входящие данные, которые можно получить

text1 = MsComm.Input - получаем данные из порта.

Ну и наконец

MsComm.PortOpen = False - закрываем порт.

Простой пример "дождаться символа с порта"

MsComm.PortOpen = True

while MsComm.InBufferCount = 0

wend

text1 = MsComm.Input