Deutsch

Воспоминания Fischertechnik и Lego 19.12.2024

38  
uscheswoi_82 коренной житель3 дня назад, 13:36
uscheswoi_82
3 дня назад, 13:36 
Последний раз изменено 3 дня назад, 13:37 (uscheswoi_82)

Всем привет!

Когда приехал в Германию узнал о роботе Fischertechnik. Но тогда когда я узнал о роботе, робот стоял бешеных каких-то денег. Нужно было покупать раздельно 4 вещи - аккумулятор, софт Robo Pro, конструктор, и главный модуль контроллер Fischertechnik TXT. Сейчас два - конструктор Fischertechnik и аккумулятор, а софт Robo Pro скачиваешь с сайте производителя. В колледже часть класса программировало на Lego Mindstorms NXT, а часть Fischertechnik Robotics TXT Discovery Set. Мне достался Lego Mindstorms NXT, я делал первый проект нужно проехать 5 полосок и остановится, а второй мой проект нужно сортировать цветные шарики.

Когда я учился в колледже пол класса такого программировала робота:



Мне купили по дешёвки такой набор, с устаревшим модулем, poдитeли знали что я не буду собирать робота. Допустим на 30 лет мне подарили Lego Mindstorms NXT 2.0, и он лежит в шкафу пылится. Я хотел с дeвyшкoй подружиться, т.к. она с ума сходит по программированию роботов. Тут в Германии девушки иногда любят мужскую профессию. Просто у меня всё теряется, и я вижу плохо т.к. на один глаз зрение 0.2, на другой 0.5. Допустим я потерял детали как-то лего, так и не нашёл. На НГ/рождество мне подарили такой конструктор-робот:



Кстати есть переходник из Fischertechnik на лего см.:


Если я кому-то отвечаю, это не значит что я ему симпатизирую, каждый остаётся при своём мнение Дневник тяжелобольного инвалида
#1 
uscheswoi_82 коренной житель3 дня назад, 13:41
uscheswoi_82
NEW 3 дня назад, 13:41 
в ответ uscheswoi_82 3 дня назад, 13:36

Вот что можно сделать из Lego целый завод:


А на Fischertechnik такое:


Если я кому-то отвечаю, это не значит что я ему симпатизирую, каждый остаётся при своём мнение Дневник тяжелобольного инвалида
#2 
uscheswoi_82 коренной житель3 дня назад, 13:55
uscheswoi_82
NEW 3 дня назад, 13:55 
в ответ uscheswoi_82 3 дня назад, 13:41

Короче чтобы робот проехал 5 полосок и остановился код такой см. https://programming.mybb.ru/viewtopic.php?id=85:

#define MAX  4 // Максимально количество полосок
#define THRESHOLD 40 // Порог

task main()
{
  int count = 0; // Количество полосок 
  SetSensorLight(IN_3);   // Port 3, датчик освещения
  OnFwd(OUT_AB, 75); // Запускаем моторо A и B со скоростью 75

  while(1) {
    until(Sensor(IN_3) > THRESHOLD); // Пока не привысет порог
    count++; // Увеличиваем количество полосок
    until(Sensor(IN_3) < THRESHOLD); // Пока не меньше порога
    if(count >= MAX) break; // Если количество полосок больше или равно максимальному значению, то останавливаем цикл
  }
  PlayTone(1000, 1000); // Включаем писк
  Wait(1000); // Ждём 1000 мсек.
  PlayTone(0, 0); // Выключаем писк
  Off(OUT_AB); // Останавливаем моторы A и B
}


Я его программировал bricxx:



Компилятор бесплатный https://bricxcc.sourceforge.net/, кстати я пытался ещё на Java программировать https://lejos.sourceforge.io/

А вот так работает в симуляторе, я симулятор настроил:






Если я кому-то отвечаю, это не значит что я ему симпатизирую, каждый остаётся при своём мнение Дневник тяжелобольного инвалида
#3 
uscheswoi_82 коренной житель3 дня назад, 13:58
uscheswoi_82
NEW 3 дня назад, 13:58 
в ответ uscheswoi_82 3 дня назад, 13:55

Мы в колледже программировали робота Lego спомощью американской программы RobotC.

Если я кому-то отвечаю, это не значит что я ему симпатизирую, каждый остаётся при своём мнение Дневник тяжелобольного инвалида
#4 
uscheswoi_82 коренной житель3 дня назад, 14:04
uscheswoi_82
NEW 3 дня назад, 14:04 
в ответ uscheswoi_82 3 дня назад, 13:58

Сейчас я кушаю швейцарский сыр, покушаю, продолжу.

Если я кому-то отвечаю, это не значит что я ему симпатизирую, каждый остаётся при своём мнение Дневник тяжелобольного инвалида
#5 
uscheswoi_82 коренной житель3 дня назад, 15:07
uscheswoi_82
NEW 3 дня назад, 15:07 
в ответ uscheswoi_82 3 дня назад, 14:04

Короче продолжим дальше. Те, кто купил Visual Studio 2008 Standard/Professional, или скачал Visual Studio 2008 Express Edition, и успел скачать Microsoft Robitcs Studio 4.0, могли программировать роботов на C# или VB.NET, и VPL.

На Visual C# или VB.NET писали вот такую службу:






Вот код:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using Microsoft.Ccr.Core;
using Microsoft.Dss.Core.Attributes;
using Microsoft.Dss.ServiceModel.Dssp;
using Microsoft.Dss.ServiceModel.DsspServiceBase;
using W3C.Soap;
using submgr = 
Microsoft.Dss.Services.SubscriptionManager;

namespace DSSService1 {
  [Contract(Contract.Identifier)]
  [DisplayName("DSSService1")]
  [Description("DSSService1 service (no description provided)")]
  class DSSService1Service : DsspServiceBase {
    /// <summary>
    /// Service state
    /// </summary>
    [ServiceState]
    DSSService1State _state = new DSSService1State();

    /// <summary>
    /// Main service port
    /// </summary>
    [ServicePort("/DSSService1", AllowMultipleInstances = true)]
    _mainPort = new DSSService1Operations();

    [SubscriptionManagerPartner]
    submgr.SubscriptionManagerPort _submgrPort = 
    new submgr.SubscriptionManagerPort();

    /// <summary>
    /// Service constructor
    /// </summary>
    public DSSService1Service(DsspServiceCreationPort creationPort)
      : base(creationPort) {
    }

    /// <summary>
    /// Service start
    /// </summary>
    protected override void Start() {
      // 
      // Add service specific initialization here
      // 
      base.Start();
    }

    /// <summary>
    /// Handles Subscribe messages
    /// </summary>
    /// <param name="subscribe">the subscribe request</param>
    [ServiceHandler]
    public void SubscribeHandler(Subscribe subscribe) {
      SubscribeHelper(_submgrPort, subscribe.Body, subscribe.ResponsePort);
    }
  }
}



И на VPL:






Если я кому-то отвечаю, это не значит что я ему симпатизирую, каждый остаётся при своём мнение Дневник тяжелобольного инвалида
#6