Форум ModelldepO  

Вернуться   Форум ModelldepO > Моделизм > Электрика и DCC > Arduino
Ответ
 
Опции темы Опции просмотра
Старый 17.09.2015, 22:22   #126
BR95009
Brocken-Meister
 
Аватар для BR95009
 
Регистрация: 27.04.2012
Адрес: !Msk
Сообщений: 8,618
Сказал(а) 'не согласен(а)'!: 7
Сказали 'не согласен'! 110 раз(а) в 87 сообщениях
Сказал(а) спасибо: 7,024
Поблагодарили 9,323 раз(а) в 3,311 сообщениях
Все 'Спасибо' этого пользователя. :
0 за это сообщение
0 Всего
Репутация: репутация неоспорима (9364)
По умолчанию

Цитата:
Сообщение от Alexmit Посмотреть сообщение
Лучше бы написали какие это команды
Я уже скетч написал.

Теперь корректно отображается скорость и индикатор скорости, корректно работает и отображаетс реверс, работают кнопки. Причем как в режиме переключателей, так и в режиме пуш-баттон.

Наконец то можно нормально пользоваться.

И вся эта красота одновременно отображается на всех подключенных клиентах.

Ынжой! Как говорят там.

Скетч переделал из библиотеки в один файл .ino, что бы было удобнее с ним работать.

Файл называется Z21-FB2z21.ino. (Feedback to z21 app).

PS Прошу не придираться к моему манки кодингу. Согласен, не самый элегантный код. Но такой задачи не стояло.
Если кто перепишет все эти 28 ифов более элегантно, буду рад.

Извините, что комменты на английском но мне так просто удобнее и писать и потом их читать.
Вложения:
Тип файла: zip Z21-FB2z21.zip (7.5 Кб, 119 просмотров)
__________________
H0 - DR/DB, Ep.III, G и H0m - HSB, Н0е - DR/ÖBB/Zillertalbahn Ep.V-VI. И эночка.
Московский Модуль H0-присоединяйтесь!
BR95009 вне форума  
Вверх
4 пользователя(ей) сказали cпасибо:
Старый 17.09.2015, 22:25   #127
BR95009
Brocken-Meister
 
Аватар для BR95009
 
Регистрация: 27.04.2012
Адрес: !Msk
Сообщений: 8,618
Сказал(а) 'не согласен(а)'!: 7
Сказали 'не согласен'! 110 раз(а) в 87 сообщениях
Сказал(а) спасибо: 7,024
Поблагодарили 9,323 раз(а) в 3,311 сообщениях
Все 'Спасибо' этого пользователя. :
0 за это сообщение
0 Всего
Репутация: репутация неоспорима (9364)
По умолчанию

Цитата:
Сообщение от Alexmit Посмотреть сообщение
В памяти ардуины организуется база данных на локи. И там все кнопки хранятся побитно.
При приёме команды в базу записывается соответствующий бит.
А потом чтение всех четырёх байтов выдаётся обратно.
Эээ... да. Вот тут тупанул. Все работает, но для одного лока. Если переключиться на другой и нажать кнопку, то скопируются все кнопки...

Да. Надоть дописывать.

Либо копать в отсутсвие обратной связи от X-Busа. Так как в принципе, там есть функция (notifyLokAll), которая считыват с X -Bus состояние функ. кнопок, скорость, направление текущего лока и закидывает клинтам z21. Другой вопрос, что она не вызвается, как должна.

Что вобщем то более правильно, так как даже если создавать массив внутри ардуино для хранения функ кнопок для каждого лока, все равно с мышью будет рассинхронизация.
__________________
H0 - DR/DB, Ep.III, G и H0m - HSB, Н0е - DR/ÖBB/Zillertalbahn Ep.V-VI. И эночка.
Московский Модуль H0-присоединяйтесь!
BR95009 вне форума  
Вверх
Старый 18.09.2015, 00:35   #128
Alexmit
Местный
 
Регистрация: 29.06.2010
Адрес: Москва
Сообщений: 2,837
Сказал(а) 'не согласен(а)'!: 6
Сказали 'не согласен'! 2 раз(а) в 2 сообщениях
Сказал(а) спасибо: 972
Поблагодарили 2,652 раз(а) в 1,569 сообщениях
Все 'Спасибо' этого пользователя. :
0 за это сообщение
1 Всего
Репутация: репутация неоспорима (2678)
По умолчанию

Цитата:
Сообщение от BR95009 Посмотреть сообщение
Либо копать в отсутсвие обратной связи от X-Busа. Так как в принципе, там есть функция (notifyLokAll), которая считыват с X -Bus состояние функ. кнопок, скорость, направление текущего лока и закидывает клинтам z21. Другой вопрос, что она не вызвается, как должна.
Что вобщем то более правильно, так как даже если создавать массив внутри ардуино для хранения функ кнопок для каждого лока, все равно с мышью будет рассинхронизация.
А массив внутри ардуино.
Смотри в XpressNet.h с 77 по 88 строку, 99 и 146.
А в XpressNet.cpp работа c массивом с 379 строки и по 550.
(Прикол, а стрелки хранятся в мыше.)
Alexmit вне форума  
Вверх
Пользователь сказал cпасибо:
Старый 19.09.2015, 17:56   #129
BR95009
Brocken-Meister
 
Аватар для BR95009
 
Регистрация: 27.04.2012
Адрес: !Msk
Сообщений: 8,618
Сказал(а) 'не согласен(а)'!: 7
Сказали 'не согласен'! 110 раз(а) в 87 сообщениях
Сказал(а) спасибо: 7,024
Поблагодарили 9,323 раз(а) в 3,311 сообщениях
Все 'Спасибо' этого пользователя. :
0 за это сообщение
0 Всего
Репутация: репутация неоспорима (9364)
По умолчанию

Стал копать дальше. Чем дальше в лес, тем толще партизаны.

Вылезли новые мульки.

При первом нажатии на шкалу скорости(та, которая разноцветная) плчему то она устанавливается не в нужную позицию, а в какие то аццкие шаги(если установлена индикация шагов) или км/ч. При втором надатии уже все ок.

Я подозреваю, что при выборе лока клиент посылает запрос на возврат инфо о локе(шаги, сцепка, скорость, кнопки), но его не получает. И хранится эта инфо не в клиенте, а в станции.

Бум дописывать.

И еще непонятно отрабатывается команда на изменение шагов. (Из меню настроек конкретного лока).

Она шаги посылает на станцию(например 14). Но следующая команда на изменение скорости посылает шаги например 128, а потом 28 и капец.

Тоже разбираюсь.

И еще неприятная мулька. Спаял таки основательно шилд с RS485 интерфейсом, как у Панандрея.

При питании от компа 5 вольт все работает. При питании от шины Xbus 12 вольт работает минуту, а дальше на этернет шилде гаснут огоньки и все глохнет.

+12 вольт завел на VIN, а минус - на GND. Правда там по схеме еще кондер и диод должны быть, но их не впаял пока.

Не хватает ампер на X Bas-е или питание с гармошкой какой?
__________________
H0 - DR/DB, Ep.III, G и H0m - HSB, Н0е - DR/ÖBB/Zillertalbahn Ep.V-VI. И эночка.
Московский Модуль H0-присоединяйтесь!
BR95009 вне форума  
Вверх
3 пользователя(ей) сказали cпасибо:
Старый 19.09.2015, 21:16   #130
Alexmit
Местный
 
Регистрация: 29.06.2010
Адрес: Москва
Сообщений: 2,837
Сказал(а) 'не согласен(а)'!: 6
Сказали 'не согласен'! 2 раз(а) в 2 сообщениях
Сказал(а) спасибо: 972
Поблагодарили 2,652 раз(а) в 1,569 сообщениях
Все 'Спасибо' этого пользователя. :
0 за это сообщение
1 Всего
Репутация: репутация неоспорима (2678)
По умолчанию

Цитата:
Сообщение от BR95009 Посмотреть сообщение
Не хватает ампер на X Bas-е или питание с гармошкой какой?
Померил свою - 130mA и это с экраном, а от USB не работает - виснет.
Надо будет с конденсаторами поэкспериментировать.
Alexmit вне форума  
Вверх
Пользователь сказал cпасибо:
Старый 19.09.2015, 22:52   #131
BR95009
Brocken-Meister
 
Аватар для BR95009
 
Регистрация: 27.04.2012
Адрес: !Msk
Сообщений: 8,618
Сказал(а) 'не согласен(а)'!: 7
Сказали 'не согласен'! 110 раз(а) в 87 сообщениях
Сказал(а) спасибо: 7,024
Поблагодарили 9,323 раз(а) в 3,311 сообщениях
Все 'Спасибо' этого пользователя. :
0 за это сообщение
0 Всего
Репутация: репутация неоспорима (9364)
По умолчанию

Кнопки пофиксил с помощью массива. Теперь все кнопки красиво включаются и не мешают друг другу у локов с разными адресами.

Теперь копаюсь с шагами. Пока не очень получается. То есть 128 шагов - без проблем. А вот на 14 шагов не переключается.

Вернее переключается, но потом опять перескакивает на 128.

---------- Сообщение добавлено в 00:52 ---------- Предыдущие сообщение было в 00:51 ----------

оффтопик
__________________
H0 - DR/DB, Ep.III, G и H0m - HSB, Н0е - DR/ÖBB/Zillertalbahn Ep.V-VI. И эночка.
Московский Модуль H0-присоединяйтесь!
BR95009 вне форума  
Вверх
Пользователь сказал cпасибо:
Старый 20.09.2015, 13:39   #132
BR95009
Brocken-Meister
 
Аватар для BR95009
 
Регистрация: 27.04.2012
Адрес: !Msk
Сообщений: 8,618
Сказал(а) 'не согласен(а)'!: 7
Сказали 'не согласен'! 110 раз(а) в 87 сообщениях
Сказал(а) спасибо: 7,024
Поблагодарили 9,323 раз(а) в 3,311 сообщениях
Все 'Спасибо' этого пользователя. :
0 за это сообщение
0 Всего
Репутация: репутация неоспорима (9364)
По умолчанию

На всякий случай, фотка моего девайса в конечной версии:
Нажмите на изображение для увеличения
Название: IMG_0724.jpg
Просмотров: 909
Размер:	173.7 Кб
ID:	115889

Использован RS485 интерфейс, куплен в чиидипе за 350 руб.

Подключение его:
VCC => 5V ардуины;
GND => земля ардуины
RO => TX1 (18) ардуины
DI => RX1 (19) ардуины
RSE => Pin 3 ардуины (цифровой)
(4) на плате интерфейса, оранжевый провод - это +12V от шины Х Баса, через кондер, диод и джампер заведено на VIN ардуины. Если питание идет от USB, джампер долой. Если от XBus - то одеваем.
(1) на плате интерфейса - это земля, законекчена на GND ардуины.

ВАЖНО: перемычке на плате интерфейса должны быть перепаяны, как на фото выше: А3 и В2.



ЗЫ В принципе все уже описано Алексмитом и Пандреем, но на всякий случай еще раз все сразу.

Нажмите на изображение для увеличения
Название: z21 Arduino RS485  connections.jpg
Просмотров: 837
Размер:	565.2 Кб
ID:	116299
__________________
H0 - DR/DB, Ep.III, G и H0m - HSB, Н0е - DR/ÖBB/Zillertalbahn Ep.V-VI. И эночка.
Московский Модуль H0-присоединяйтесь!

Последний раз редактировалось BR95009; 30.09.2015 в 11:28.
BR95009 вне форума  
Вверх
4 пользователя(ей) сказали cпасибо:
Старый 20.09.2015, 15:55   #133
Tolyan
Заглянувший
 
Регистрация: 27.06.2010
Адрес: Москва
Сообщений: 175
Сказал(а) 'не согласен(а)'!: 1
Сказали 'не согласен'! 1 раз в 1 сообщении
Сказал(а) спасибо: 70
Поблагодарили 160 раз(а) в 39 сообщениях
Все 'Спасибо' этого пользователя. :
0 за это сообщение
0 Всего
Репутация: - весьма и весьма положительная личность (160)
По умолчанию

Прошу помощи, загружаю скетч с разными IP адресами, а в мониторе показывает один и и тот-же адрес. Ничего не меняется.У меня почему-то ничего не заработало(((.Приложение Roco Z21 для андроида эмулятор не увидела. И как узнать MAC и IP ethernet шилда?

Последний раз редактировалось Tolyan; 20.09.2015 в 18:44.
Tolyan вне форума  
Вверх
Старый 20.09.2015, 18:48   #134
BR95009
Brocken-Meister
 
Аватар для BR95009
 
Регистрация: 27.04.2012
Адрес: !Msk
Сообщений: 8,618
Сказал(а) 'не согласен(а)'!: 7
Сказали 'не согласен'! 110 раз(а) в 87 сообщениях
Сказал(а) спасибо: 7,024
Поблагодарили 9,323 раз(а) в 3,311 сообщениях
Все 'Спасибо' этого пользователя. :
0 за это сообщение
0 Всего
Репутация: репутация неоспорима (9364)
По умолчанию

Цитата:
Сообщение от Tolyan Посмотреть сообщение
Ничего не меняется.
Толян, без паники. Просто в Вашей дуне уже в памяти EEPROM есть какие то данные, по этому скеч их пропускает.

Лечится просто. Всместо куска в функции setup();:

Arduino код:
// EEPROM usage for storing the IP adresses
  
if (digitalRead(ResetPin) == LOW || EEPROM.read(EEXNet) < 32) {
    
XNetAddress EEPROM.read(EEXNet);
  }
  else {
    
EEPROM.write(EEXNetXNetAddress);
    
EEPROM.write(EEipip[0]);
    
EEPROM.write(EEip 1ip[1]);
    
EEPROM.write(EEip 2ip[2]);
    
EEPROM.write(EEip 3ip[3]);
  }

  
ip[0] = EEPROM.read(EEip);
  
ip[1] = EEPROM.read(EEip 1);
  
ip[2] = EEPROM.read(EEip 2);
  
ip[3] = EEPROM.read(EEip 3); 
пишем:

Arduino код:
 // EEPROM usage for storing the IP adresses
  
if (digitalRead(ResetPin) == LOW || EEPROM.read(EEXNet) < 32) {
    
XNetAddress EEPROM.read(EEXNet);
  }
  else {
    
EEPROM.write(EEXNetXNetAddress);
    
EEPROM.write(EEipip[0]);
    
EEPROM.write(EEip 1ip[1]);
    
EEPROM.write(EEip 2ip[2]);
    
EEPROM.write(EEip 3ip[3]);
  }

    
// тупо вписываем адрес в EEPROM  безо всяких условий
    
EEPROM.write(EEXNetXNetAddress); 
    
EEPROM.write(EEipip[0]);
    
EEPROM.write(EEip 1ip[1]);
    
EEPROM.write(EEip 2ip[2]);
    
EEPROM.write(EEip 3ip[3]);
    
// конец тупого вписывания :)

  
ip[0] = EEPROM.read(EEip);
  
ip[1] = EEPROM.read(EEip 1);
  
ip[2] = EEPROM.read(EEip 2);
  
ip[3] = EEPROM.read(EEip 3); 
Заливаем скеч, запускаем все, проверяем, что адресс правильный, и если все ОК, меняем снова на тот код, который был (удаляем секцию в комментах)

---------- Сообщение добавлено в 20:48 ---------- Предыдущие сообщение было в 20:44 ----------

Цитата:
Сообщение от Tolyan Посмотреть сообщение
И как узнать MAC и IP ethernet шилда?
IP адрес шилда - это тот адрес, который у вас вбит в начале скетча. Вы можете его менять. Он выводится в окно терминала при отладке.

МАК адрес шилда-уже сложнее. Он долже быть написан на шилде или в описании, там где вы его покупали.

IP подсети - это IP адрес сети, который можно посмотреть внас тройках планшета после подключения в вайфаю роутера, в который воткнут ethernet shield.

И не забудьте в само приложение Roco Z21 вбить адрес эмуля.
__________________
H0 - DR/DB, Ep.III, G и H0m - HSB, Н0е - DR/ÖBB/Zillertalbahn Ep.V-VI. И эночка.
Московский Модуль H0-присоединяйтесь!

Последний раз редактировалось BR95009; 15.12.2015 в 14:41.
BR95009 вне форума  
Вверх
2 пользователя(ей) сказали cпасибо:
Старый 20.09.2015, 21:26   #135
Tolyan
Заглянувший
 
Регистрация: 27.06.2010
Адрес: Москва
Сообщений: 175
Сказал(а) 'не согласен(а)'!: 1
Сказали 'не согласен'! 1 раз в 1 сообщении
Сказал(а) спасибо: 70
Поблагодарили 160 раз(а) в 39 сообщениях
Все 'Спасибо' этого пользователя. :
0 за это сообщение
0 Всего
Репутация: - весьма и весьма положительная личность (160)
По умолчанию

планшет соединить удалось, смартфон пока нет. Попробую еще с другим роутером.
Tolyan вне форума  
Вверх
Старый 21.09.2015, 17:36   #136
Alexmit
Местный
 
Регистрация: 29.06.2010
Адрес: Москва
Сообщений: 2,837
Сказал(а) 'не согласен(а)'!: 6
Сказали 'не согласен'! 2 раз(а) в 2 сообщениях
Сказал(а) спасибо: 972
Поблагодарили 2,652 раз(а) в 1,569 сообщениях
Все 'Спасибо' этого пользователя. :
0 за это сообщение
1 Всего
Репутация: репутация неоспорима (2678)
По умолчанию

Цитата:
Сообщение от Alexmit Посмотреть сообщение
Померил свою - 130mA и это с экраном,
При подключении ethernet ток возрастает до 166mA.
С USB разобрался - очень тонкий провод. И при подключении ethernet - напряжение падает ниже 5 вольт.
Цитата:
Сообщение от BR95009 Посмотреть сообщение
При питании от шины Xbus 12 вольт работает минуту, а дальше на этернет шилде гаснут огоньки и все глохнет.
Вольтметры на Vin и на +5V, и смотреть. Очень может быть, что шина не тянет.
Alexmit вне форума  
Вверх
Старый 21.09.2015, 22:35   #137
Tolyan
Заглянувший
 
Регистрация: 27.06.2010
Адрес: Москва
Сообщений: 175
Сказал(а) 'не согласен(а)'!: 1
Сказали 'не согласен'! 1 раз в 1 сообщении
Сказал(а) спасибо: 70
Поблагодарили 160 раз(а) в 39 сообщениях
Все 'Спасибо' этого пользователя. :
0 за это сообщение
0 Всего
Репутация: - весьма и весьма положительная личность (160)
По умолчанию

перегревается 5-ти вольтовый стабилизатор и уходит в защиту на основной плате, при таком включении. Я пока питаю от usb адаптера.
Tolyan вне форума  
Вверх
Пользователь сказал cпасибо:
Старый 21.09.2015, 23:33   #138
BR95009
Brocken-Meister
 
Аватар для BR95009
 
Регистрация: 27.04.2012
Адрес: !Msk
Сообщений: 8,618
Сказал(а) 'не согласен(а)'!: 7
Сказали 'не согласен'! 110 раз(а) в 87 сообщениях
Сказал(а) спасибо: 7,024
Поблагодарили 9,323 раз(а) в 3,311 сообщениях
Все 'Спасибо' этого пользователя. :
0 за это сообщение
0 Всего
Репутация: репутация неоспорима (9364)
По умолчанию

Цитата:
Сообщение от Tolyan Посмотреть сообщение
перегревается 5-ти вольтовый стабилизатор и уходит в защиту
Дык может резистор какой впаять в цепь 12 вольт, шоб вольтаж поменее был?

---------- Сообщение добавлено в 01:33 ---------- Предыдущие сообщение было в 01:30 ----------

У меня другая мулька. Вся конструкция перестала видеть Х Бас.

Прозвонил пайку от платы интерфейса рс485, все ок. Скетчи старые залил все равно не работает. Сам Хбас в рокомыше работает, проверил. Видать плата интерфейса навернулась. поеду новую куплю, попробую.
__________________
H0 - DR/DB, Ep.III, G и H0m - HSB, Н0е - DR/ÖBB/Zillertalbahn Ep.V-VI. И эночка.
Московский Модуль H0-присоединяйтесь!
BR95009 вне форума  
Вверх
Старый 23.09.2015, 16:49   #139
Tolyan
Заглянувший
 
Регистрация: 27.06.2010
Адрес: Москва
Сообщений: 175
Сказал(а) 'не согласен(а)'!: 1
Сказали 'не согласен'! 1 раз в 1 сообщении
Сказал(а) спасибо: 70
Поблагодарили 160 раз(а) в 39 сообщениях
Все 'Спасибо' этого пользователя. :
0 за это сообщение
0 Всего
Репутация: - весьма и весьма положительная личность (160)
По умолчанию

потребление всего модуля в сборе от 12 вольт составляет более 200 мА. Стабилизатор стоящий на основной плате в корпусе sot 89 расчитан max на 100 мА. Вот и затыкается от перегрева.
Tolyan вне форума  
Вверх
Старый 23.09.2015, 18:12   #140
BR95009
Brocken-Meister
 
Аватар для BR95009
 
Регистрация: 27.04.2012
Адрес: !Msk
Сообщений: 8,618
Сказал(а) 'не согласен(а)'!: 7
Сказали 'не согласен'! 110 раз(а) в 87 сообщениях
Сказал(а) спасибо: 7,024
Поблагодарили 9,323 раз(а) в 3,311 сообщениях
Все 'Спасибо' этого пользователя. :
0 за это сообщение
0 Всего
Репутация: репутация неоспорима (9364)
По умолчанию

А как вылечить????
__________________
H0 - DR/DB, Ep.III, G и H0m - HSB, Н0е - DR/ÖBB/Zillertalbahn Ep.V-VI. И эночка.
Московский Модуль H0-присоединяйтесь!
BR95009 вне форума  
Вверх
Старый 23.09.2015, 21:48   #141
Tolyan
Заглянувший
 
Регистрация: 27.06.2010
Адрес: Москва
Сообщений: 175
Сказал(а) 'не согласен(а)'!: 1
Сказали 'не согласен'! 1 раз в 1 сообщении
Сказал(а) спасибо: 70
Поблагодарили 160 раз(а) в 39 сообщениях
Все 'Спасибо' этого пользователя. :
0 за это сообщение
0 Всего
Репутация: - весьма и весьма положительная личность (160)
По умолчанию

может быть разделить питание, 12 вольт с Х-баса подать на основную плату и 12 через 5-ти вольтовый стабилизатор на сетевую плату. Лучше взять LM7805 в корпусе ТО-220. Надо пробовать.
Tolyan вне форума  
Вверх
2 пользователя(ей) сказали cпасибо:
Старый 23.09.2015, 21:55   #142
Tolyan
Заглянувший
 
Регистрация: 27.06.2010
Адрес: Москва
Сообщений: 175
Сказал(а) 'не согласен(а)'!: 1
Сказали 'не согласен'! 1 раз в 1 сообщении
Сказал(а) спасибо: 70
Поблагодарили 160 раз(а) в 39 сообщениях
Все 'Спасибо' этого пользователя. :
0 за это сообщение
0 Всего
Репутация: - весьма и весьма положительная личность (160)
По умолчанию

Я тут давеча установил свой "Z21" в корпус GAINTA G762, купленный в Чип и Дипе за 370 р.
Миниатюры:
Нажмите на изображение для увеличения
Название: 20150923_202044[1].jpg
Просмотров: 1272
Размер:	160.7 Кб
ID:	116046Нажмите на изображение для увеличения
Название: 20150923_202144[1].jpg
Просмотров: 1206
Размер:	105.7 Кб
ID:	116047Нажмите на изображение для увеличения
Название: 20150923_202249[1].jpg
Просмотров: 1298
Размер:	141.8 Кб
ID:	116048Нажмите на изображение для увеличения
Название: 20150923_211348[1].jpg
Просмотров: 1207
Размер:	134.8 Кб
ID:	116049
Tolyan вне форума  
Вверх
3 пользователя(ей) сказали cпасибо:
Старый 27.09.2015, 11:51   #143
BR95009
Brocken-Meister
 
Аватар для BR95009
 
Регистрация: 27.04.2012
Адрес: !Msk
Сообщений: 8,618
Сказал(а) 'не согласен(а)'!: 7
Сказали 'не согласен'! 110 раз(а) в 87 сообщениях
Сказал(а) спасибо: 7,024
Поблагодарили 9,323 раз(а) в 3,311 сообщениях
Все 'Спасибо' этого пользователя. :
0 за это сообщение
0 Всего
Репутация: репутация неоспорима (9364)
По умолчанию

Новый скеч. Версия 02.

Z21-FB2z21-V02.zip

Пофиксил кнопки для каждого лока. Теперь они нажимаются и не мешают кнопкам других локов. Скорость и направление отображаются корректно.

В настройках лока можно выставить шаги и они будут для всех локов. (пока так, нужно разобраться с обратной связью XBus => Arduino.)

Короче с помощью этой версии уже можно спокойно рулить макетом.

Теперь буду разбираться с отсутствием обратной связи XBus => Arduino, так как это наиболее критично.

Приложение-клиент (например z21 app для айпада) не помнит все настройки локов (шаги, кнопки и тд). Оно лишь отображает то, что храниться в коммандной станции z21(в нашем случае в ком станции Roco), посылая/отправляя запросы следующим образом:

- при запуске Клиент посылает запросы к z21 вида LAN_X_GET_LOCO_INFO на каждый лок, хранящийся в его библиотеке.

- z21 посылает обратно статус каждого лока в ответ на этоти запросы соответсвенно LAN_X_LOCO_INFO.

- далее Клиент периодично посылает запросы LAN_X_GET_LOCO_INFO на каждый лок или 2 лока, панели управления которыми открыты в программе в данный момент.

- z21 посылает обртано статус каждого лока (скорость/направления/функции/шаги) в ответ на этоти запросы соответсвенно: LAN_X_LOCO_INFO.

- при управлении локом через программу- Клиент она посылает пакеты управления на z21 и также хочет в ответ получить LAN_X_LOCO_INFO.

Хитрость в том, что все параметры лока хранятся в коммандной станции. И функция LAN_X_LOCO_INFO должна брать данные не из внутренних переменных аруины, а получать эти днанные из коммандной станциии Роко через XBus.

А этого почему то не происходит. За исключением данных о питанни рельс.

Пока я сделал массивы с этими данными внутри ардуины, и клиент получает их от Ардуины. Но это костыли, которые работают не очень корректно с шагами и тд.

Бум разбираться.
__________________
H0 - DR/DB, Ep.III, G и H0m - HSB, Н0е - DR/ÖBB/Zillertalbahn Ep.V-VI. И эночка.
Московский Модуль H0-присоединяйтесь!
BR95009 вне форума  
Вверх
2 пользователя(ей) сказали cпасибо:
Старый 27.09.2015, 13:37   #144
BR95009
Brocken-Meister
 
Аватар для BR95009
 
Регистрация: 27.04.2012
Адрес: !Msk
Сообщений: 8,618
Сказал(а) 'не согласен(а)'!: 7
Сказали 'не согласен'! 110 раз(а) в 87 сообщениях
Сказал(а) спасибо: 7,024
Поблагодарили 9,323 раз(а) в 3,311 сообщениях
Все 'Спасибо' этого пользователя. :
0 за это сообщение
0 Всего
Репутация: репутация неоспорима (9364)
По умолчанию

Цитата:
Сообщение от Tolyan Посмотреть сообщение
Я тут давеча установил свой "Z21" в корпус GAINTA G762
Во! Нашел по-элегантнее. Но стоит!




http://www.chipdip.ru/product1/8044005534/

http://www.farnell.com/datasheets/1682242.pdf
__________________
H0 - DR/DB, Ep.III, G и H0m - HSB, Н0е - DR/ÖBB/Zillertalbahn Ep.V-VI. И эночка.
Московский Модуль H0-присоединяйтесь!
BR95009 вне форума  
Вверх
Пользователь сказал cпасибо:
Старый 27.09.2015, 15:03   #145
Garri
Местный
 
Аватар для Garri
 
Регистрация: 22.07.2014
Адрес: Санкт Петербург
Сообщений: 1,431
Сказал(а) 'не согласен(а)'!: 18
Сказали 'не согласен'! 6 раз(а) в 5 сообщениях
Сказал(а) спасибо: 2,955
Поблагодарили 1,495 раз(а) в 715 сообщениях
Все 'Спасибо' этого пользователя. :
0 за это сообщение
0 Всего
Репутация: обеспечил(а) себе прекрасное будущее (1506)
По умолчанию

Дороговат корпус , там дешевле можно найти.
Garri вне форума  
Вверх
Старый 27.09.2015, 15:20   #146
BR95009
Brocken-Meister
 
Аватар для BR95009
 
Регистрация: 27.04.2012
Адрес: !Msk
Сообщений: 8,618
Сказал(а) 'не согласен(а)'!: 7
Сказали 'не согласен'! 110 раз(а) в 87 сообщениях
Сказал(а) спасибо: 7,024
Поблагодарили 9,323 раз(а) в 3,311 сообщениях
Все 'Спасибо' этого пользователя. :
0 за это сообщение
0 Всего
Репутация: репутация неоспорима (9364)
По умолчанию

Вроде разобрался с обратной связью XBus=>Arduino.

Фишка в том, что ардуино читает изменения параметров в рокомыше не по прерванию от рокомыши, а по запросу.

Работате примерно так:

Пишем функцию в цикле:
XpressNet.getLocoInfo (0, 25); // для адреса лока 25

Библиотека запрашивает инфо по этому локу у мыши и запускает функцию
notifyLokAll(uint8_t Adr_High, uint8_t Adr_Low, boolean Busy, uint8_t Steps, uint8_t Speed, uint8_t Direction, uint8_t F0, uint8_t F1, uint8_t F2, uint8_t F3, boolean Req )

В которую передает все параметры. А в ней уже можно писать любой обработчик этих параметров.

Тот же принцип для функций:
XpressNet.getLocoFunc (byte Adr_High, byte Adr_Low);
XpressNet.getLocoStateFull (byte Adr_High, byte Adr_Low, false);
XpressNet.getTrntInfo (byte FAdr_High, byte FAdr_Low);

и т.д....

__________________
H0 - DR/DB, Ep.III, G и H0m - HSB, Н0е - DR/ÖBB/Zillertalbahn Ep.V-VI. И эночка.
Московский Модуль H0-присоединяйтесь!
BR95009 вне форума  
Вверх
Пользователь сказал cпасибо:
Старый 27.09.2015, 16:31   #147
shalex
Местный
 
Регистрация: 08.07.2015
Адрес: МО
Сообщений: 2,858
Сказал(а) 'не согласен(а)'!: 0
Сказали 'не согласен'! 3 раз(а) в 2 сообщениях
Сказал(а) спасибо: 4,650
Поблагодарили 3,274 раз(а) в 1,172 сообщениях
Все 'Спасибо' этого пользователя. :
0 за это сообщение
1 Всего
Репутация: репутация неоспорима (3285)
По умолчанию

спасибо за ссылку на корпус. как вариант за 1200руб. примерно: http://www.ebay.com/itm/A000009-Box-...item2ca24d401f
shalex вне форума  
Вверх
Старый 27.09.2015, 17:04   #148
BR95009
Brocken-Meister
 
Аватар для BR95009
 
Регистрация: 27.04.2012
Адрес: !Msk
Сообщений: 8,618
Сказал(а) 'не согласен(а)'!: 7
Сказали 'не согласен'! 110 раз(а) в 87 сообщениях
Сказал(а) спасибо: 7,024
Поблагодарили 9,323 раз(а) в 3,311 сообщениях
Все 'Спасибо' этого пользователя. :
0 за это сообщение
0 Всего
Репутация: репутация неоспорима (9364)
По умолчанию

Разобрался с обратной связью окончательно! )) Зааарррработало!!

У немца в скетче тупо была ошибка. Теперь ручку на мыше крутишь - ползунок на айпаде ездит. Тоже с кнопками и шагами.

Массивы убрал. Теперь все пишется в и читается из рокомыш(и).
__________________
H0 - DR/DB, Ep.III, G и H0m - HSB, Н0е - DR/ÖBB/Zillertalbahn Ep.V-VI. И эночка.
Московский Модуль H0-присоединяйтесь!
BR95009 вне форума  
Вверх
5 пользователя(ей) сказали cпасибо:
Старый 27.09.2015, 17:25   #149
Alexmit
Местный
 
Регистрация: 29.06.2010
Адрес: Москва
Сообщений: 2,837
Сказал(а) 'не согласен(а)'!: 6
Сказали 'не согласен'! 2 раз(а) в 2 сообщениях
Сказал(а) спасибо: 972
Поблагодарили 2,652 раз(а) в 1,569 сообщениях
Все 'Спасибо' этого пользователя. :
0 за это сообщение
1 Всего
Репутация: репутация неоспорима (2678)
По умолчанию

А я в свою сторону копаю.
Спаял схему на новом шилде. Провёл ходовые испытания. Работает.
Нажмите на изображение для увеличения
Название: IMG_9929-2.JPG
Просмотров: 843
Размер:	118.8 Кб
ID:	116138
В скетче 130416.zip только управление стрелками и обработка датчиков обратной связи на MCP23017.
(См. стр. 109)

Последний раз редактировалось Alexmit; 13.04.2016 в 20:55. Причина: Замена скетча.
Alexmit вне форума  
Вверх
6 пользователя(ей) сказали cпасибо:
Старый 27.09.2015, 19:05   #150
BR95009
Brocken-Meister
 
Аватар для BR95009
 
Регистрация: 27.04.2012
Адрес: !Msk
Сообщений: 8,618
Сказал(а) 'не согласен(а)'!: 7
Сказали 'не согласен'! 110 раз(а) в 87 сообщениях
Сказал(а) спасибо: 7,024
Поблагодарили 9,323 раз(а) в 3,311 сообщениях
Все 'Спасибо' этого пользователя. :
0 за это сообщение
0 Всего
Репутация: репутация неоспорима (9364)
По умолчанию

Свежий скеч, версия 03.

Все ОК кроме: функциональные кнопки больше чем 12, не передаются на мышь; клиент посылает запросы не на те локи, которые отображаются в данный моомент, соответственно, не всегда изменения на мыше отображаются в клиенте.

А так - чистый мед!
Вложения:
Тип файла: zip Z21-FB2z21-V03.zip (7.1 Кб, 106 просмотров)
__________________
H0 - DR/DB, Ep.III, G и H0m - HSB, Н0е - DR/ÖBB/Zillertalbahn Ep.V-VI. И эночка.
Московский Модуль H0-присоединяйтесь!
BR95009 вне форума  
Вверх
4 пользователя(ей) сказали cпасибо:
Ответ

Опции темы
Опции просмотра

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

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

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
DCC серво декодер своими руками за 5 долларов и 1 вечер BR95009 Arduino 170 09.01.2021 19:46
Автотранспорт своими руками et2l027 Флейм 65 11.02.2018 20:31
RollerStand своими руками Yuriy НО (1:87) 16 02.10.2014 20:59
DCC своими руками Taizer ЧАВО 51 16.07.2012 18:31
УЖД модели - своими руками HUMANIST УЖД 7 18.09.2010 17:08


Текущее время: 04:02. Часовой пояс GMT +3.


Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2024, vBulletin Solutions, Inc. Перевод: zCarot
Copyright © ModelldepO.ru 2006 -