Page 54
examples. If you've programmed in C, NQC will look familiar. If you have never programmed in C, don't worry; NQC is easy to learn.
This chapter presents NQC in four steps:
1. To get you started with NQC, this chapter begins with a simple example.
2. To understand how NQC works, you need to understand the software that's running on the RCX. This chapter describes the important pieces of the RCX's software architecture.
3. This chapter provides a detailed listing of NQC's commands, with examples.
4. Finally, this chapter contains software for Trusty written in NQC.
A Quick Start
Let's get right to the good stuff with a working example. First, you'll need to download and install NQC. It's available for MacOS, Linux, and Windows. Navigate to the NQC web site (
http://www.
enteract.com/~dbaum/lego/nqc/), and follow the instructions to download and install the latest version. The examples in this book were written with the NQC version 2.0b1.
Once it's installed, enter the following program using a text editor. This program operates Hank, the robot from Chapter 2, Hank, the Bumper Tank. Save the program in a file called Hank.nqc.
#define BACK_TIME 50
#define TURN_TIME 80
task main() {
SetSensor(SENSOR_1, SENSOR_TOUCH);
SetSensor(SENSOR_3, SENSOR_TOUCH);
OnFwd(OUT_A + OUT_C);
while (true) {
if (SENSOR_1 == 1) {
PlayTone(440, 50);
OnRev(OUT_A + OUT_C);
Wait(BACK_TIME);
OnFwd(OUT_A);
Wait(TURN_TIME);
OnFwd(OUT_C);
}
if (SENSOR_3 == 1) {
PlayTone(880, 50);
OnRev(OUT_A + OUT_C);
Wait(BACK_TIME);
OnFwd(OUT_C);
Wait(TURN_TIME);
OnFwd(OUT_A);
}
}
}