четверг, 27 января 2011 г.

NXC: работаем с цветовым сенсором.

Среда NXT-G привлекательна тем, что она позволяет сосредоточиться программисту на самом алгоритме, и практически не задумываться о таких вещах, свойственных текстовым языкам, как инициализация, синтаксис и т.п. Она предоставляет простой и удобный доступ практически ко всем возможностям моторов и сенсоров, без необходимости помнить вызовом какой процедуры или функции это происходит.
Поэтому, если вы программируете на текстовых средах, довольно часто для поиска решения проблемы по работе какого-то сенсора, которая бы на NXT-G не заняла бы у вас и одной минуты, необходимо потратить значительное количество времени.

Так, например, работая с языком NXC, вы еще достаточно легко можете найти готовый код для работы со стандартным цветовым сенсором:
task main()
{
    SetSensorColorFull(S1);
    ColorSensorReadType csr;
    csr.Port = S1;
    while(1)
    {
        SysColorSensorRead(csr);
        if (csr.Result == NO_ERR) {
            NumOut(0, LCD_LINE1, csr.ColorValue);
        }
        Wait(1000);
    }
}
В то время как, поиск примера по работе с ним в режиме светового сенсора займет определенное количество времени.

Чтобы облегчить эту задачу, можете изучить приведенный ниже пример:
task main()
{
    SetSensorColorRed(S1);
    Wait(500);

    while(1)
    {
        NumOut(0, LCD_LINE1, SENSOR_1);
        Wait(300);
    }
}
И на будущее, если у вас возникли какаие-то вопросы связанные с использованием того или иного языка программирования - идите на форум The MindBOARDS Community. И если вы там не найдете готовый ответ - не стесняйтесь, спрашивайте. Там сидит довольно много широко известных в Lego мире разработчиков, которые смогут дать вам квалифицированный ответ.

3 комментария:

  1. Bricx Command Center упрямо говорит, что таких функций (SetSensorColorFull, SysColorSensorRead) не знает, и в справке у него их реально нет. Где взять эти замечательные функции?

    ОтветитьУдалить
  2. Скачайте последний (неофициальный) билд или тестовый релиз

    ОтветитьУдалить
  3. В последней версии BCC все работает

    ОтветитьУдалить

Related Posts Plugin for WordPress, Blogger...