PCCar.ru - Ваш автомобильный компьютер

Вернуться   PCCar.ru - Ваш автомобильный компьютер > Всё Остальное > Проекты > Мегастройки

Ответ
 
Опции темы Поиск в этой теме
Старый 20.01.2019, 22:25   #381
НСО154
Старший Пользователь
 
Регистрация: 01.01.2014
Возраст: 38
Город: Новосибирск
Регион: 54
Машина: РРС, Форд
Сообщений: 954
НСО154 is on a distinguished road
По умолчанию

Лучше бы кусок кода скинул, как там это все определяется.
Какой толк рассуждать теоретически.
Теоретически да, можно, а на практике проще купить путевой хаб.
__________________
Тесла по-русски
НСО154 вне форума   Ответить с цитированием
Старый 20.01.2019, 22:33   #382
YAM1966
Гуру
 
Аватар для YAM1966
 
Регистрация: 01.06.2013
Возраст: 57
Регион: Украина
Машина: Toyota Fortuner 4.0 / Chevrolet Bolt EV
Сообщений: 2,006
YAM1966 has much to be proud ofYAM1966 has much to be proud ofYAM1966 has much to be proud ofYAM1966 has much to be proud ofYAM1966 has much to be proud ofYAM1966 has much to be proud ofYAM1966 has much to be proud ofYAM1966 has much to be proud ofYAM1966 has much to be proud ofYAM1966 has much to be proud ofYAM1966 has much to be proud of
По умолчанию

И действительно, зачем мозг напрягать...
YAM1966 вне форума   Ответить с цитированием
Старый 21.01.2019, 02:04   #383
sheyker
Старший Пользователь
 
Аватар для sheyker
 
Регистрация: 08.02.2006
Возраст: 39
Город: Москва
Регион: 77, 97, 99, 177
Машина: mazda3
Сообщений: 309
sheyker is a splendid one to beholdsheyker is a splendid one to beholdsheyker is a splendid one to beholdsheyker is a splendid one to beholdsheyker is a splendid one to beholdsheyker is a splendid one to beholdsheyker is a splendid one to behold
По умолчанию

спасибо за ответы!
ситуация такая, например возьмем гироскоп, он с достаточно бешеной скоростью шлет данные для плавного вращения изображения, также шлются данные оборотов и скорости, и если представить скетч ардуино, и при тестировании все было на одной меге, то получаем следующее

ypr 173.2 012.3 013.2
dav 8 .3
ypr 172.3 012.6 013.1
ypr 170.2 013.2 014.6
dav 8 .3
clim22.0 4 2 3 4 0 1
**** -345.0 0.00 0.0 0000
door 0 0 0 1 0
light 0 0 1 0 1
light1 off
door 0 0 0 0 0
**** -345.0 0.00 0.0 0000
light1 on
light 0 0 0 0 1
ypr 176.2 011.1 022.1

тут видим что ардуино достаточно не многозадачная и если во время приема мы посылали туда много данных,
то между строками ypr (гироскоп) появляется промежуток, тоесть ткнули многораз в тач много чего переключили и получаем баг, стрелка (имадж) дернулась

и в дельфи получаем стоп - Out of bounds..

далее понижал скорость передачи данных, не особо спасло, т.к. все стало не адекватно, потом стеклоподьемники - ардуина в двери 16 проводков,
пневмоподвеска и датчики высоты - в багажнике, климат и свет отдельная ардуина, движок и кан шина, отдельная ардуина, гироскоп - еще одна, и ще под капотом - читает аналоговые датчики датчик темп, турбины, охл жидкости и тд.. только так это адекватно заработало, ну и с проводами если все в одно место свести то нереально подсоединить
sheyker вне форума   Ответить с цитированием
Старый 21.01.2019, 02:13   #384
sheyker
Старший Пользователь
 
Аватар для sheyker
 
Регистрация: 08.02.2006
Возраст: 39
Город: Москва
Регион: 77, 97, 99, 177
Машина: mazda3
Сообщений: 309
sheyker is a splendid one to beholdsheyker is a splendid one to beholdsheyker is a splendid one to beholdsheyker is a splendid one to beholdsheyker is a splendid one to beholdsheyker is a splendid one to beholdsheyker is a splendid one to behold
По умолчанию

procedure TMainForm.FormCreate(Sender: TObject);
var
height: Integer;
begin

Form8.Show;
//Form16.Show;

height := Screen.WorkAreaHeight;
height := height div 3 - 90;
MainForm.Show;
MainForm.height := height;
MainForm.SetFocus;


ComPort1.Port :='\\.\Com4'; //климат
ComPort1.BaudRate :=(br9600);
ComPort1.Open;
if ComPort1.Open then
begin
Memo1.Lines.Add('Connected'); //высвечиваем на 3 сек
PlaySound('C:\вав\приветствие полное.wav', 0, SND_ASYNC);
Form9.Show;
Form2.Show;

ComPort2.Port := '\\.\Com3'; //гироскоп
ComPort2.BaudRate := (br115200);
ComPort2.Open;
ComPort3.Port :='\\.\Com5'; //окна
ComPort3.BaudRate :=(br9600);
ComPort3.Open;
ComPort4.Port :='\\.\Com6'; //двигатель
ComPort4.BaudRate :=(br115200);
ComPort4.Open;
ComPort5.Port :='\\.\Com7'; //пневма
ComPort5.BaudRate :=(br115200);
ComPort5.Open;

end;

если проверять каждую, да можно заставить ее посылать какойто идентификатор и програмно прописать если пришло например 5 то стань ComPort5, а как быть с button например ComPort1.WriteStr('A');
и в каждой кнопке и тд придется кучу условий прописывать и фиг че найдешь..

или с этим как их читать.. они же жестко прописаны..

ComPort2.ReadStr(S, Count);

вот и загвоздка, пока придумал решение ардуино нано к которой подпаяно допустим семь ключей и при запуске она ждет чуток потом по очереди врубает питание ардуино 1 ардуино 2.. пояляются сом1 сом2..
но если режим возвращения из сна то прога встает при перетыкании юсбишников
sheyker вне форума   Ответить с цитированием
Старый 21.01.2019, 02:21   #385
sheyker
Старший Пользователь
 
Аватар для sheyker
 
Регистрация: 08.02.2006
Возраст: 39
Город: Москва
Регион: 77, 97, 99, 177
Машина: mazda3
Сообщений: 309
sheyker is a splendid one to beholdsheyker is a splendid one to beholdsheyker is a splendid one to beholdsheyker is a splendid one to beholdsheyker is a splendid one to beholdsheyker is a splendid one to beholdsheyker is a splendid one to behold
По умолчанию

/ --------- КОМПОРТ Com6 115200 CAN -------------

procedure TMainForm.ComPort4RxChar(Sender: TObject; Count: Integer);
// компорт 6, кан шина
var
S: String;
sl1: TStringList;
L1 : boolean;
begin
S := '';
ComPort4.ReadStr(S, Count); // S := S + #13;
sl1 := TStringList.Create;

// --------- ОТКРЫТИЕ ДВЕРЕЙ, БАГАЖНИКА -------------
if (Pos('door', S) <> 0) then // условие срабатывает на door > 0 // 0 0 0 0 // 0 1 0 0
begin
Delete(S, 1, 4);
sl1.Delimiter := ' ';
sl1.DelimitedText := S;


if (sl1[0] = '0') and not (Image39.Visible) then // передняя левая
begin
Image39.Visible := False;
PlaySound('C:\вав\звук вызова.wav', 0, SND_ASYNC);
end
else
begin
Image39.Visible := true;
PlaySound('C:\вав\климат\открыта левая дверь.wav', 0, SND_ASYNC);
end;

if (sl1[1] = '0') and not (Image22.Visible) then // передняя правая
begin
Image22.Visible := False;
PlaySound('C:\вав\звук вызова.wav', 0, SND_ASYNC);
end
else
begin
Image22.Visible := true;
PlaySound('C:\вав\климат\открыта правая дверь.wav', 0, SND_ASYNC);
end;
if (sl1[2] = '0') and not(Image73.Visible)then // Left Front
begin
Image73.Visible := False;
PlaySound('C:\вав\звук вызова.wav', 0, SND_ASYNC);
end
else
begin
Image73.Visible := true;
PlaySound('C:\вав\климат\открыта левая дверь.wav', 0, SND_ASYNC);
end;

if (sl1[3] = '0') and not (Image24.Visible) then // Left Front
begin
Image24.Visible := False;
PlaySound('C:\вав\звук вызова.wav', 0, SND_ASYNC);
end
else
begin
Image24.Visible := true;
PlaySound('C:\вав\климат\открыта правая дверь.wav', 0, SND_ASYNC);
end;

sl1.Free;
end
// --------- Бортовой компьютер -------------
else if (Pos('curr', S) <> 0) then...

вот например получаем данные с большой скоростью но если ардуино в этот же ком порт кричит еще много данных то неизбежно прога встает out of bounds... и вращения стрелок подтормаживают, в режиме отладки видно что в лэйбл где жестко прописано условие, попали другие данные, когда разделил задачи между ардуинами, все стало гуд и без сбоев, но вылезла проблема с хаотичным присвоением компортов при запуске win
sheyker вне форума   Ответить с цитированием
Старый 21.01.2019, 21:38   #386
НСО154
Старший Пользователь
 
Регистрация: 01.01.2014
Возраст: 38
Город: Новосибирск
Регион: 54
Машина: РРС, Форд
Сообщений: 954
НСО154 is on a distinguished road
По умолчанию

Цитата:
Сообщение от YAM1966 Посмотреть сообщение
И действительно, зачем мозг напрягать...
Это как раз тот случай, когда думать головой-вытекает в крупные неприятности и проблемы
Как бы проблема не та, за которую стоит так напрягаться, за неё уже сложили мозг производители качественных хабов.
__________________
Тесла по-русски
НСО154 вне форума   Ответить с цитированием
Старый 21.01.2019, 21:43   #387
awtoap
Гуру
 
Аватар для awtoap
 
Регистрация: 19.09.2009
Возраст: 46
Город: Мелитополь
Регион: Украина
Сообщений: 2,022
awtoap is a splendid one to beholdawtoap is a splendid one to beholdawtoap is a splendid one to beholdawtoap is a splendid one to beholdawtoap is a splendid one to beholdawtoap is a splendid one to beholdawtoap is a splendid one to behold
По умолчанию

Делай все через один компорт...во первых проще и надежней. Если сыпет много данных, до сделай фифо буфер для команд на базе того же TStringList. Причем некоторые старые данные в списке обновляй, так как нужны только последние значения(например обороты двигла, состояние дверей и тд), а некоторые просто добавляй, которые обновляются редко. В список команды добавляй в функции приема с компорта, а чтение команды из списка,удаление ее и реакцию на нее(отображение) осуществляй либо по таймеру (например с интревалом 50мс) либо перекрой функцию Application.Idle, если память не подводит. Или в отдельном потоке TThread.
awtoap вне форума   Ответить с цитированием
Старый 26.01.2019, 03:00   #388
sheyker
Старший Пользователь
 
Аватар для sheyker
 
Регистрация: 08.02.2006
Возраст: 39
Город: Москва
Регион: 77, 97, 99, 177
Машина: mazda3
Сообщений: 309
sheyker is a splendid one to beholdsheyker is a splendid one to beholdsheyker is a splendid one to beholdsheyker is a splendid one to beholdsheyker is a splendid one to beholdsheyker is a splendid one to beholdsheyker is a splendid one to behold
По умолчанию

да наверно надо все в один stringlist сыпать,
но попробую сначала этой штуковиной, может проблема в том что было 2 хаба по 4, может решиться..

sheyker вне форума   Ответить с цитированием
Старый 26.01.2019, 03:10   #389
sheyker
Старший Пользователь
 
Аватар для sheyker
 
Регистрация: 08.02.2006
Возраст: 39
Город: Москва
Регион: 77, 97, 99, 177
Машина: mazda3
Сообщений: 309
sheyker is a splendid one to beholdsheyker is a splendid one to beholdsheyker is a splendid one to beholdsheyker is a splendid one to beholdsheyker is a splendid one to beholdsheyker is a splendid one to beholdsheyker is a splendid one to behold
По умолчанию

чето смотрю я на концепты.. отстаем..









надо попробовать..











для этого понадобится 2 матрицы типа LTA149B780F



ну и видюха на 4 канала



sheyker вне форума   Ответить с цитированием
Старый 26.01.2019, 13:29   #390
sirota
Бывалый писикарщик
 
Аватар для sirota
 
Регистрация: 27.09.2008
Город: Собянинск
Регион: 77, 97, 99, 177
Машина: шкода а5
Сообщений: 5,441
sirota has a brilliant futuresirota has a brilliant futuresirota has a brilliant futuresirota has a brilliant futuresirota has a brilliant futuresirota has a brilliant futuresirota has a brilliant futuresirota has a brilliant futuresirota has a brilliant futuresirota has a brilliant futuresirota has a brilliant future
По умолчанию

БОМБА!
__________________
То win 10х64, то win 8.1x64

Видео регистрация на web. камеру:http://www.youtube.com/watch?v=1hPPLRBBIqc
sirota вне форума   Ответить с цитированием
Ответ

Метки
mazda 3, mazda3, мазда 3


Здесь присутствуют: 4 (пользователей: 0 , гостей: 4)
 
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.



Часовой пояс GMT +4, время: 09:33.


Работает на vBulletin® версия 3.8.4.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot