Nov. 6th, 2021

tesanoff: (Default)
Сколько-то лет назад мы купили сыну комплект Lego Mindstorms NXT. Это такой программируемый "кирпич" с обвесом в виде разных датчиков и моторов. Из них делают самодвижущихся роботов, которые потом соревнуются, выполняя разные задачи (например, пройти маршрут вдоль нарисованной черной линии, сдвинуть банки определенного цвета - и всякое такое).

Штатная среда программирования - графическая, и программируют там, составляя программу мышкой из блоков. Написанная в такой среде программа напоминает блок-схему. В принципе, это блок-схема и есть, только "продвинутая".

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

Оказывается, существует способ писать программы для Lego NXT на нормальном языке. Называется он "Not eXactly C" или NXC. Есть до сих пор работающая инструкция по установке этого добра на 64-разрядный Линукс. Пишу "до сих пор", потому что Lego NXT был, типа, немного устаревшим уже в момент покупки. Есть Evo3, который гораздо моднее, и все сейчас используют именно его.

В общем, с помощью этих ваших интернетов я себе скомпилил две тулы: "nexttool" - общается с "кирпичом" и делаем всякие служебные операции с ним; и "nbc" - компилятор исходных текстов программ, написанных на языке "Not eXactly C", в байт-код, с которым работает, собственно "кирпич".

Заодно настроил gvim, чтобы для файлов *.nxc автоматически включалась синтаксическая подсветка языка.

Прикольно. Оно реально работает.

Ссылку на инструкцию по скачиванию и компилированию тулов я дал выше (оно, кстати, написано почему-то на Паскале). Вот еще одна полезная статья. Ну и наверняка понадобится гуглить что-то еще.
Но если есть набор Lego NXT, и есть желание попробовать "что это вообще такое", то наверное лучший способ - это программировать роботов на нормальном языке, чтобы основное время тратить на написание собственно программ, а не на борьбу со средой программирования и с ограниченностью штатного "языка".

Profile

tesanoff: (Default)
Что вижу, то пою.

October 2022

S M T W T F S
      1
234 5678
9101112131415
16171819202122
23242526272829
30 31     

Style Credit

Expand Cut Tags

No cut tags
Page generated Jan. 22nd, 2026 06:50 pm
Powered by Dreamwidth Studios