roboforum.ru

Технический форум по робототехнике.

Com порт и дельфи. Нужна помощь.

Раздел создан специально для людей которым интересна робототехника, но в силу разных причин они не знают с чего начать.
Задавайте ваши вопросы, какими бы простыми они не казались, постоянные посетители форума постараются ответить на них по мере своих сил.
Робот своими руками. Самодельный робот.

Com порт и дельфи. Нужна помощь.

Сообщение Hexapod » 22 мар 2010, 00:05

Добрый день.
Сейчас работаю над проектом в универе, который позволяет фотографировать рост растений (мелкие штуки, которые надо фоткать в режиме макро).
С помощью специалистов из форума по камерам удалось подключиться к своему фотоаппарату по USB через Borland Delphi 2005. Научился получать снимки, менять режимы съемки. Уж больно крупные планы надо брать, пришлось помучатся с макрорежимами.

Для того чтобы двигаться дальше - мне нужно сделать синхронизацию с механикой.
Из старого робота достал пару серв Hitec Hs-322HD, банки аккум на 3300, контроллер серво-двигателей. Он подключается к компьютеру с помощью USB (USB<->Serial эмулятор, в системе видится как COM3).
Насколько я понял, все что нужно, это научиться обмениваться сообщениями с портом.
Например, чтобы узнать версию прошивки:
Код: Выделить всёРазвернуть
[b]Syntax[/b]: “!SCVER?” $0D
[b]Reply[/b]: “1.3”

позиционирование:
Код: Выделить всёРазвернуть
[b]Syntax[/b]: “!SC” C R pw.LOWBYTE, pw.HIGHBYTE, $0D
[b]Reply[/b]: none
где, C - номер сервы 0-15, R - скорость
The command terminator, $0D, (CR), must not be omitted.


Да, я знаю, что работа с портом - это "почти" работа с файлом, для Настоящего Программиста - раз плюнуть.
В чем суть вопроса:
Я первый раз работаю с дельфи. Был бы признателен, за рабочий проект (шаблон для работы с ком-портами), способный посылать и получать на заданный порт команды. Либо ссылку на рабочий пример под дельфи.

Вся документация на контроллер есть. Есть пример проги, от производителя, позволяющий двигать сервы (можно посмотреть сниффером порта, что они шлют...)

В общем, надеюсь на помощь Гуру-Программистов!
:)
Аватара пользователя
Hexapod
 
Сообщения: 58
Зарегистрирован: 06 сен 2006, 07:34
Откуда: Москва, МО Подольск
прог. языки: C++, VBA
ФИО: Евгений

Re: Com порт и дельфи. Нужна помощь.

Сообщение VIRUS_V8 » 22 мар 2010, 07:57

bcom_port.zip
(123.18 КиБ) Скачиваний: 0

в архиве компонент для делфи для работы с сом портом + руская справка + примеры.
Сам пользуюсь очень удобно.
Может пригодиться :)
VIRUS_V8
 
Сообщения: 170
Зарегистрирован: 06 май 2008, 18:33
Откуда: г. Щигры, Курская обл.
прог. языки: Delphi, BASCOM-AVR(basic)
ФИО: Павел

Re: Com порт и дельфи. Нужна помощь.

Сообщение Hexapod » 22 мар 2010, 12:11

В борланд дельфи у меня не получается подключить компоненты по инструкции из файлов. Примеры в борланде тоже не хотят открываться:(

Путем нехитрых движений удалось получить таки список портов, используя
EnumComPorts
Дальше, что не получилось: создать соединение с выбраным портом или просто с портом "Ком1".
Что делал:
1.uses
BCPort -
2.Объявляем переменную для порта
BComPort1:TBComPort;
3. BComPort1.Port='com1';

В итоге ошибка: см вложения.
Наверное, я совсем не понимаю как в дельфи объявлять переменные?


Вот листинг из программы, добавил три строки:
Код: Выделить всёРазвернуть
unit Unit3;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, BCPort, StdCtrls; ////1 строка

type

  TForm3 = class(TForm)
    ComboBox1: TComboBox;
    Button1: TButton;
    BComPort1:TBComPort; ////2 строка

    procedure FormCreate(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form3: TForm3;

implementation

{$R *.dfm}

procedure TForm3.FormCreate(Sender: TObject);

begin

    ComboBox1.Clear;
  EnumComPorts(ComboBox1.Items);
  // Выбор порта в списке ComboBox1 и выполнение других действий

  BComPort1.Port='com1'; ////3 строка



end;

end.
Вложения
errr2.JPG
Ошибка при компиляции
Аватара пользователя
Hexapod
 
Сообщения: 58
Зарегистрирован: 06 сен 2006, 07:34
Откуда: Москва, МО Подольск
прог. языки: C++, VBA
ФИО: Евгений

Re: Com порт и дельфи. Нужна помощь.

Сообщение Hexapod » 22 мар 2010, 14:49

Почитал, удалось собрать. Сейчас изучаю. Спасибо.
Аватара пользователя
Hexapod
 
Сообщения: 58
Зарегистрирован: 06 сен 2006, 07:34
Откуда: Москва, МО Подольск
прог. языки: C++, VBA
ФИО: Евгений


Вернуться в Новичкам или основы основ роботостроения.

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 4