Автор Тема: Pybricks - програмиране на Техник хъб  (Прочетена 3636 пъти)

0 Потребители и 1 Гост преглежда(т) тази тема.

Неактивен vladoniki

  • Администратор
  • Супер маниак
  • *****
  • Публикации: 4930
  • Пол: Мъж
    • Владо Никифоров
    • Светът на Владо
  • Набор: '82
  • Телефон: 0888897207
Pybricks - програмиране на Техник хъб
« -: 30, Август, 2021, 07:51:29 am »
Наскоро открих https://pybricks.com/ и се опитвам да редактирам намерени в Интернет програми - гола вода съм в програмирането... Темата е продължение на Powered UP и Control+ управление с Gamepad.

За начало гледам 2 програми за 42124:

- Програма 1;
- Програма 2.

В програма 1 е заложено drive_speed += 1000, а в програма 2: drive_speed += 100.

И в 2-та случая бъгите се движи на максимална скорост (до колкото мога да преценя визуално). Въпросът ми е защо в единия случай макс е 100, а в другия e 1000, а крайният резултат е еднакъв?

Поиграх си и със "steer.run_target(500, steer_angle, wait=False)" - когато сменя 500 с 1000 завиващият мотор се движи по-бързо и на практика по-бързо достига максималния ъгъл на колелетата.

Като цяло ми се струва, че има някакво забавяне при обръщане на посоката на движение напред-назад. Сякаш след натискане на противоположния бутон, има забавяне и колата изчаква някакво време (части от секундата), преди да тръгне в обратна посока. При контролиране на хъба с оригиналната програма на Лего не съм забелязал подобно забавяне. За това има ли причина в програмата (кода) или е ограничение от самия хъб или Pybricks firmware-а?

Темата е обширна и мисля, че и други казуси ще изникват с времето.


Неактивен ender

  • Супер маниак
  • *****
  • Публикации: 338
  • Пол: Мъж
    • Владимир Йосифов
    • brickset
  • Набор: 86
Re: Pybricks - програмиране на Техник хъб
« Отговор #1 -: 01, Септември, 2021, 04:19:42 pm »
Така както аз го чета:
    # Choose the drive speed based on the right controls.
    drive_speed = 0
    if Button.RIGHT_PLUS in pressed:
        drive_speed += 1000
    if Button.RIGHT_MINUS in pressed:
        drive_speed -= 1000

    # Apply the selected speed.
    front.run(drive_speed)
...
     # Wait.
    wait(10)
На всеки цикъл от по 10 милисекунди, т.е. една стотна, скоростта се презаписва с 0, 1000 или -1000
Не се ДОБАВЯ към текущата, а се подменя с една от тези 3. Така реално или е макс напред, или макс назад, или неподвижен
Щом казваш, че няма разлика между 100 и 1000, може би 100 е максимума.
Ако искаш да се държи като влаковете, т.е. едно цъкане на плюса го задвижва, второ го ускорява, и т.н., мога да се пробвам с нов код. Ако искаш продължително натискане да ускорява все повече, и това може да се случи... Всичко това е на база само на този код, и логични заключения :D

Неактивен vladoniki

  • Администратор
  • Супер маниак
  • *****
  • Публикации: 4930
  • Пол: Мъж
    • Владо Никифоров
    • Светът на Владо
  • Набор: '82
  • Телефон: 0888897207
Re: Pybricks - програмиране на Техник хъб
« Отговор #2 -: 30, Януари, 2023, 02:01:41 pm »
Още една питанка по темата - отново преработвам готова програма и сменям параметри, докато ми хареса резултатът, но запецнах.

Тук моторът на завиването измерва максималният ъгъл от крайно ляво до крайно дясно положение на гумите:

#steering calibration sequence
steering.run_until_stalled(500)
steering.reset_angle(0)
steering.run_until_stalled(-500)
maxAngle = steering.angle()
steering.run_target(500, (maxAngle/2))
steering.reset_angle(0)

А тук - при натискане на бутон + или - на дистанционното, завива в определената посока с 1/2 от максималния ъгъл на завиване:

 #commands to steer
    if Button.RIGHT_PLUS in pressed:
        steering.run_target(2000, (maxAngle/2), Stop.HOLD,False)
    elif Button.RIGHT_MINUS in pressed:
        steering.run_target(2000, -(maxAngle/2), Stop.HOLD,False)
    else:
        steering.run_target(2000, 0, Stop.HOLD, False)


Питането ми е има ли начин да му "кажа" да завива с по 10 градуса по-малко от половината от максималния ъгъл в посока? Тоест - условно ъгълът от най-ляво до най-дясно, ако е 180 градуса (да речем, че толкова го е измерил), да завива не с по 90 градуса в посока, а с 80 градуса.

Пробвах с различни комбинации на скоби, знак "-" и числото 10, но програмата никак не ме "разбра". Не знам какъв е словоредът на нейния език...  8)

Пробвах и да разделя максималния ъгъл (maxAngle/2) на 2 и нещо, но дори и това не помогна - Нито "." приема за десетична запетая, нито ","-та сработва.

Неактивен vladoniki

  • Администратор
  • Супер маниак
  • *****
  • Публикации: 4930
  • Пол: Мъж
    • Владо Никифоров
    • Светът на Владо
  • Набор: '82
  • Телефон: 0888897207
Re: Pybricks - програмиране на Техник хъб
« Отговор #3 -: 16, Февруари, 2024, 05:03:35 pm »
Това е жестоко!!!



Някой може ли да предложи какъв джойстик би бил оптимален, ако има геймари наоколо...? :)

Ако правилно се ориентирам, нещо подобно май трябва да върши работа - Връзка.

Моля за мнение и препоръки за избора на безжичен джойстик за XBox.

Неактивен mamun

  • Супер маниак
  • *****
  • Публикации: 967
  • Пол: Мъж
    • Васил Шулев
  • Набор: 1976
Re: Pybricks - програмиране на Техник хъб
« Отговор #4 -: 16, Февруари, 2024, 07:31:16 pm »
Pybrciks-a e яко.
Слагал съм го на влаков хъб със сензор за цветове в долната част на влака ;)

Неактивен vladoniki

  • Администратор
  • Супер маниак
  • *****
  • Публикации: 4930
  • Пол: Мъж
    • Владо Никифоров
    • Светът на Владо
  • Набор: '82
  • Телефон: 0888897207
Re: Pybricks - програмиране на Техник хъб
« Отговор #5 -: 16, Февруари, 2024, 07:52:30 pm »
Pybrciks-a e яко.
Слагал съм го на влаков хъб със сензор за цветове в долната част на влака ;)

Да, удобна опция за някоя влакова диорама. Duplo Train имат вграден сензор за цвят в базата и изпълняват 5 основни функции, като минат над съответния цвят. Имаме си вкъщи 10874 и сме посъбрали цветни тайлове. :)

Неактивен mamun

  • Супер маниак
  • *****
  • Публикации: 967
  • Пол: Мъж
    • Васил Шулев
  • Набор: 1976
Re: Pybricks - програмиране на Техник хъб
« Отговор #6 -: 16, Февруари, 2024, 09:07:51 pm »
Да, удобна опция за някоя влакова диорама. Duplo Train имат вграден сензор за цвят в базата и изпълняват 5 основни функции, като минат над съответния цвят. Имаме си вкъщи 10874 и сме посъбрали цветни тайлове. :)

Tочно от там взех идеята. като стигне бял тайл на релсата да обърне посоката ;)

Неактивен vladoniki

  • Администратор
  • Супер маниак
  • *****
  • Публикации: 4930
  • Пол: Мъж
    • Владо Никифоров
    • Светът на Владо
  • Набор: '82
  • Телефон: 0888897207
Re: Pybricks - програмиране на Техник хъб
« Отговор #7 -: 22, Февруари, 2024, 09:55:13 am »
Освен, че работи с хъба, контролът е пропорционален и за завиването и за движението... Уникален ъпдейт за всякакви модели!  :)


Неактивен vladoniki

  • Администратор
  • Супер маниак
  • *****
  • Публикации: 4930
  • Пол: Мъж
    • Владо Никифоров
    • Светът на Владо
  • Набор: '82
  • Телефон: 0888897207
Re: Pybricks - програмиране на Техник хъб
« Отговор #8 -: 23, Февруари, 2024, 08:59:24 am »
« Последна редакция: 23, Февруари, 2024, 11:52:51 am от vladoniki »

Неактивен vladoniki

  • Администратор
  • Супер маниак
  • *****
  • Публикации: 4930
  • Пол: Мъж
    • Владо Никифоров
    • Светът на Владо
  • Набор: '82
  • Телефон: 0888897207
Re: Pybricks - програмиране на Техник хъб
« Отговор #9 -: 28, Май, 2024, 07:06:01 am »
Управляваш Лего модела, блъскаш го в стената или моторите се натоварват от някое изкачване и контролерът вибрира в ръцете ти... Жестока нова опция за Force Feedback с XBOX контролер и PyBricks. Тествах го на катерача и работи отлично.

« Последна редакция: 28, Май, 2024, 07:33:38 am от vladoniki »

Неактивен gibona

  • Младши маниак
  • *
  • Публикации: 13
  • Пол: Мъж
    • Александър
  • Набор: 1990
Re: Pybricks - програмиране на Техник хъб
« Отговор #10 -: 29, Август, 2024, 11:44:09 pm »
Видео от събитието за Pybricks:

Повече информация може да се намери на Как да програмираме Lego модели с Pybricks
Член на Brick Hunters - български Lego клуб

Неактивен vladoniki

  • Администратор
  • Супер маниак
  • *****
  • Публикации: 4930
  • Пол: Мъж
    • Владо Никифоров
    • Светът на Владо
  • Набор: '82
  • Телефон: 0888897207
Re: Pybricks - програмиране на Техник хъб
« Отговор #11 -: 30, Август, 2024, 07:53:45 am »
Видео от събитието за Pybricks:

Повече информация може да се намери на Как да програмираме Lego модели с Pybricks

Браво! Много интересно! :)

Аз съм нетърпелив кога PYBricks ще хванат цаката на навия хъб от 42176 Porsche GT4 e-Performance Race Car. Появиха се някакви видеа как се контролира сетът с XBox контролер, но системата е доста сложна и нямам идея как да го подкарам...

Хъбът и компактен и освен колички, мисля, че може да се измисли нещо верижно.

Освен това ми се върти в главата някоя бърза количка, която, поне леко, да дрифтва в завой. Но за целта трябва да не работи жироскопът, който е в хъба. А това без PYBricks, едва ли е възможно. :)

Неактивен gibona

  • Младши маниак
  • *
  • Публикации: 13
  • Пол: Мъж
    • Александър
  • Набор: 1990
Re: Pybricks - програмиране на Техник хъб
« Отговор #12 -: 30, Август, 2024, 11:11:28 am »
Работят по тази задача. Може да следиш напредъка тук: New LEGO Hub support - 42176 Porsche GT4 e-Performance
Относно дрифта - може и без жироскоп - Drifting LEGO® 42096 Porsche 911 RSR
Трябва да имаш различни мотори на задните колела и да ги управляваш като танк (с различна скорост).
Член на Brick Hunters - български Lego клуб

Неактивен mamun

  • Супер маниак
  • *****
  • Публикации: 967
  • Пол: Мъж
    • Васил Шулев
  • Набор: 1976
Re: Pybricks - програмиране на Техник хъб
« Отговор #13 -: 30, Август, 2024, 11:37:20 am »
Аз съм нетърпелив кога PYBricks ще хванат цаката на навия хъб от 42176 Porsche GT4 e-Performance Race Car.

Освен Размерите има ли някаква нова функционалност в него спрямо предишните PU хъбове ?

Неактивен gibona

  • Младши маниак
  • *
  • Публикации: 13
  • Пол: Мъж
    • Александър
  • Набор: 1990
Re: Pybricks - програмиране на Техник хъб
« Отговор #14 -: 30, Август, 2024, 01:57:01 pm »
City hub - 1 бутон, 1 LED, 2 изхода
Technic hub - 1 бутон, 1 LED, 4 изхода
42176 hub - 1 бутон, 5 LED, 0 изхода, 3 мотора.
Член на Brick Hunters - български Lego клуб

БрикМания БГ - Лего обществото на България

Re: Pybricks - програмиране на Техник хъб
« Отговор #14 -: 30, Август, 2024, 01:57:01 pm »