Перевод статьи "Программирование LEGO NXT роботов на языке NXC" — различия между версиями

Материал из roboforum.ru Wiki
Перейти к: навигация, поиск
 
(не показано 17 промежуточных версий этого же участника)
Строка 1: Строка 1:
 +
[[Category:Справочник решений|{{PAGENAME}}]]
 +
[[Category:Lego NXT]]
 +
 
<center><big>(перевод статьи "Programming LEGO NXT Robots using NXC")</big></center>
 
<center><big>(перевод статьи "Programming LEGO NXT Robots using NXC")</big></center>
  
Строка 6: Строка 9:
 
<p align=center><b>Автор: Daniele Benedettelli</b><br><br><i>Перевод: © Ботов Антон aka =DeaD=, 2009<br><br>Эксклюзивно для www.roboforum.ru<br> копирование на другие ресурсы и публикация перевода<br>без разрешения его автора запрещены</i></p>
 
<p align=center><b>Автор: Daniele Benedettelli</b><br><br><i>Перевод: © Ботов Антон aka =DeaD=, 2009<br><br>Эксклюзивно для www.roboforum.ru<br> копирование на другие ресурсы и публикация перевода<br>без разрешения его автора запрещены</i></p>
  
==Preface==
+
[[Программирование LEGO NXT роботов на языке NXC - Введение|Введение]]
As happened for good old Mindstorms RIS, CyberMaster, and Spybotics, to unleash the full power of
 
Mindstorms NXT brick, you need a programming environment that is more handy than NXT-G, the National
 
Instruments Labview-like graphical language that comes with NXT retail set.
 
 
 
NXC is a programming language, invented by John Hansen, which was especially designed for the Lego robots.
 
If you have never written a program before, don't worry. NXC is really easy to use and this tutorial will lead you
 
on your first steps towards it.
 
 
 
To make writing programs even easier, there is the Bricx Command Center (BricxCC). This utility helps you to
 
write your programs, to download them to the robot, to start and stop them, browse NXT flash memory, convert
 
sound files for use with the brick, and much more. BricxCC works almost like a text processor, but with some
 
extras. This tutorial will use BricxCC (version 3.3.7.16 or higher) as integrated development environment (IDE).
 
 
 
You can download it for free from the web at the address
 
* [[http://bricxcc.sourceforge.net/ http://bricxcc.sourceforge.net/]]
 
 
 
BricxCC runs on Windows PCs (95, 98, ME, NT, 2K, XP, Vista). The NXC language can also be used on other
 
platforms. You can download it from the web page
 
* [[http://bricxcc.sourceforge.net/nxc/ http://bricxcc.sourceforge.net/nxc/]]
 
 
 
Most of this tutorial should also apply to other platforms, except that you loose some of the tools included in
 
BricxCC and the color-coding.
 
 
 
The tutorial has been updated to work with beta 30 of NXC and higher versions. Some of the sample programs
 
will not compile with versions older than beta 30.
 
  
As side note, my webpage is full of Lego Mindstorms RCX and NXT related content, including a PC tool to
+
Содержание по главам:
communicate with NXT:
+
# [[Программирование LEGO NXT роботов на языке NXC - Первая программа|Первая программа]]
* [[http://daniele.benedettelli.com http://daniele.benedettelli.com]]
+
#*Постройка робота
 +
#*Запуск Bricx Command Center
 +
#*Написание программы
 +
#*Запуск программы
 +
#*Ошибки в программе
 +
#*Изменяем скорость
 +
#*Подводим итоги
 +
# [[Программирование LEGO NXT роботов на языке NXC - Более интересная программа|Более интересная программа]]
 +
#*Учимся делать повороты
 +
#*Повторяем команды
 +
#*Добавляем комментарии
 +
#*Подводим итоги
 +
# [[Программирование LEGO NXT роботов на языке NXC - Использование переменных|Использование переменных]]
 +
#*Движение по спирали
 +
#*Случайные числа
 +
#*Подводим итоги
 +
# [[Программирование LEGO NXT роботов на языке NXC - Управляющие структуры|Управляющие структуры]]
 +
#*Оператор "if"
 +
#*Оператор "do"
 +
#*Подводим итоги
 +
# [[Программирование LEGO NXT роботов на языке NXC - Сенсоры|Сенсоры]]
 +
#* Ждём информацию с сенсора
 +
#* Действия при срабатывании сенсора касания
 +
#* Сенсор освещенности
 +
#* Звуковой сенсор
 +
#* Ультразвуковой дальномер
 +
#* Подводим итоги
 +
# [[Программирование LEGO NXT роботов на языке NXC - Задачи и функции|Задачи и функции]]
 +
#*Задачи
 +
#*Функции
 +
#*Определяем макрос
 +
#*Подводим итоги
 +
# [[Программирование LEGO NXT роботов на языке NXC - Создаём музыку|Создаём музыку]]
 +
#*Проигрываем звуковые файлы
 +
#*Играем музыку
 +
#*Подводим итоги
 +
# [[Программирование LEGO NXT роботов на языке NXC - Еще раз о моторах|Еще раз о моторах]]
 +
#*Плавная остановка
 +
#*Дополнительные команды
 +
#*ПИД-управление
 +
#*Подводим итоги
 +
# [[Программирование LEGO NXT роботов на языке NXC - Дополнительная информация о сенсорах|Дополнительная информация о сенсорах]]
 +
#*Режимы и типы сенсоров
 +
#*Сенсор вращения
 +
#*Подключение нескольких сенсоров к одному входу
 +
#*Подводим итоги
 +
# [[Программирование LEGO NXT роботов на языке NXC - Параллельные задачи|Параллельные задачи]]
 +
#*Неправильная программа
 +
#*Критические секции и "мьютекс"-переменные
 +
#*Использование семафоров
 +
#*Подводим итоги
 +
# [[Программирование LEGO NXT роботов на языке NXC - Коммуникации между роботами|Коммуникации между роботами]]
 +
#*Отправка сообщений мастер-подчиненный
 +
#*Отправка чисел с подтверждением
 +
#*Прямые команды
 +
#*Подводим итоги
 +
# [[Программирование LEGO NXT роботов на языке NXC - Дополнительные возможности|Дополнительные возможности]]
 +
#*Таймеры
 +
#*Дисплей
 +
#*Файловая система
 +
#*Подводим итоги
  
===Acknowledgements===
+
[[Программирование LEGO NXT роботов на языке NXC - Заметки в окончании|Заметки в окончании]]
Many thanks go to John Hansen, whose work is priceless!
 

Текущая версия на 04:28, 2 июля 2009


(перевод статьи "Programming LEGO NXT Robots using NXC")


Исходная статья: [http://bricxcc.sourceforge.net/nbc/nxcdoc/NXC_tutorial.pdf]

Автор: Daniele Benedettelli

Перевод: © Ботов Антон aka =DeaD=, 2009

Эксклюзивно для www.roboforum.ru
копирование на другие ресурсы и публикация перевода
без разрешения его автора запрещены

Введение

Содержание по главам:

  1. Первая программа
    • Постройка робота
    • Запуск Bricx Command Center
    • Написание программы
    • Запуск программы
    • Ошибки в программе
    • Изменяем скорость
    • Подводим итоги
  2. Более интересная программа
    • Учимся делать повороты
    • Повторяем команды
    • Добавляем комментарии
    • Подводим итоги
  3. Использование переменных
    • Движение по спирали
    • Случайные числа
    • Подводим итоги
  4. Управляющие структуры
    • Оператор "if"
    • Оператор "do"
    • Подводим итоги
  5. Сенсоры
    • Ждём информацию с сенсора
    • Действия при срабатывании сенсора касания
    • Сенсор освещенности
    • Звуковой сенсор
    • Ультразвуковой дальномер
    • Подводим итоги
  6. Задачи и функции
    • Задачи
    • Функции
    • Определяем макрос
    • Подводим итоги
  7. Создаём музыку
    • Проигрываем звуковые файлы
    • Играем музыку
    • Подводим итоги
  8. Еще раз о моторах
    • Плавная остановка
    • Дополнительные команды
    • ПИД-управление
    • Подводим итоги
  9. Дополнительная информация о сенсорах
    • Режимы и типы сенсоров
    • Сенсор вращения
    • Подключение нескольких сенсоров к одному входу
    • Подводим итоги
  10. Параллельные задачи
    • Неправильная программа
    • Критические секции и "мьютекс"-переменные
    • Использование семафоров
    • Подводим итоги
  11. Коммуникации между роботами
    • Отправка сообщений мастер-подчиненный
    • Отправка чисел с подтверждением
    • Прямые команды
    • Подводим итоги
  12. Дополнительные возможности
    • Таймеры
    • Дисплей
    • Файловая система
    • Подводим итоги

Заметки в окончании