Installing the NewCDbot Programmer Software (NCPS):

Before installing the NCPS software you must download and install the OOPic Multi-Language Compiler and you may need to install the Port95nt.exe, which can be downloaded from the OOPic website. After installing the OOPic Multi-Language Compiler and checking to see if you need the Port95nt.exe and installing if necessary, you will be ready to begin installation of the NCPS software. If you are not running Windows XP or don't have the latest .Net Framework installed, please visit the Windows Update Site and scan for any new updates before attempting to install the NCPS. Click here to download a Beta Version of the NCPS . Follow the NCPS setup instructions and the install should be over in a few simple steps.  You will need a program like WinZip to be able to unzip the NCPS. The NCPS supports various sensors, check out their connections here. After installing the NCPS software you will need to configure the programming cable on the OOPic Multi-Language Compiler. Follow the cable configuration instructions below. You will only have to configure the programming once, but if you uninstall the software you will have to re-configure the cable.

Programming Cable Configuration:

First, open the OOPic Multi-Language Compiler.

Next, click on the Tool menu in the OOPic Multi-Language Compiler program and then click on the Cable Configuration menu item as shown below.

The Cable Configuration form should appear as shown below.

Click on the Find Parallel Cable button, but make sure that your OOPic Programming cable is plugged into your computer's parallel port. Do not connect the cable to your NewCDbot yet! This will find your cable. Once your cable has been found you can click on the Find Delay button and this will find the appropriate delay for your Programming Cable. Again, do not connect the cable to your NewCDbot! Be sure to accept the delay it offers you. You have just configured your OOPic Programming cable!

Also, be sure to go under the "Tools" menu and click on "Language" and set to "Basic", then go back under the "Tools" menu and click on "Target Device" and select "Version A.1.x" as shown below. You can look on the label of your OOPic and it will list the version of the firmware that you have installed. It might be version A.2.x if you have a newer OOPic I.

Tools >Language > Basic

Tools >Target Device > OOPic Firmware Version A.2.x

Glossary of NCPS Features

Retrace Path CheckBox:

    The Retrace Path Checkbox allows you to program your robot to return home after collecting the specified number of data points. The robot must be programmed to collect data before this option becomes active and the robot must also be equipped with a second EEPROM chip, which must be installed in the E1 slot on the OOPic controller.

Motion Buttons:

    The motion buttons can be used to make the robot move in a specified direction. For example, the Forward button will cause the robot to begin moving forward. To make the robot move in a specified direction for a set amount of time, the specified  motion must be followed by a set amount of delay. Use the Add Delay button and scrollbar.

Add Delay Button and Scrollbar:

    The Add Delay button and scrollbar can be used to make the robot's program halt execution for a set amount of time. One possible use for the "Add Delay" function is when you want to make your robot go forward for 2 seconds. First click the Forward button, move the Add Delay scrollbar until it reads 2 seconds and finally click the Add Delay button.

IR Block Distance Button and Scrollbar:

    The IR Block Distance button and scrollbar can be used to set the distance at which the robot responds to its Sharp GP2D12 infrared sensors. If you set the block distance to 40cm the robot will only detect obstacles that are within the range of 40-80cm. This scrollbar is to be used in conjunction with the IR Range Sensors menu.

CDbot Speed Button and Scrollbar:

    The CDbot Speed button and scrollbar can be used to set the speed of your robot. The speed can be changed and set as many times as you like within your program. Use the scrollbar to select the speed and then click the Set Speed button.

Temperature Scrollbar:

    The Temperature Scrollbar can be used to set the temperature level. This must be used in conjunction with the Temperature Sensor commands, which are found under the Temperature Sensor menu.

Light Threshold Scrollbar:

    The Light Threshold Scrollbar can be used to set the Light Threshold. This must be used in conjunction with the Light Sensor commands, which are found under the Light Sensor menu.

Add a Blank Line of Code:

    The Add a Blank Line of Code button can be used to insert  a blank line of code.

Add a Comment:

    The Add a Comment button can be used to add a comment line to your code. Comments are a good way to document your code so that later on you will be able to figure out what you were trying to accomplish in your code.

Add a Line Separator:

    The Add a Line Separator button can be used to add a separating line to your code. Line Separators  are a good way to partition your code so that it is easier to read.

Delete Line of Code:

    The Delete Line of Code button allows you to delete the currently highlighted line of code.

Add Do Loop:

    The Add Do Loop button will add a do loop to your code so that it will repeat forever or until you turn off your robot.

Remove Do Loop:

    The Remove Do Loop button will delete the Do Loop from your code.

Format Code:

    The Format Code button will add the proper spacing and indents to your code so that it is easier to read. The Format Code button will also check to make sure that you have closed each If statement with an End If statement.

End If:

    The End If button is used to insert an End If statement into your code. An End If statement must be inserted after all If statements.

Add Your Own Code:

    The Add Your Own Code button will allow you to insert your own custom lines of code. This is only recommended for advanced who understand the OOPic and Basic coding.

File Menu:

    The File Menu has several useful items.

    The New item will create a new file for you so that a new program can be constructed.

    The Open item will open a previously saved program.

    The Print item will print the current program and the Print Setup item allows you to configure your printer.

    The Compile and Download Code Item item will compile and begin the download process.

    The Save item allows you to save a program and the Save As item allows to save a previously saved program with a different name.

Bumper Switches Menu:

    The If Left Bumper Pressed item will insert an If statement which will check to see if the left bumper switch is pressed and if the left switch is pressed the code in between the If and End If statements will be executed.

    The If Right Bumper Pressed item will insert an If statement which will check to see if the right bumper switch is pressed and if the right switch is pressed the code in between the If and End If statements will be executed.

    The If Either Bumper Pressed item will insert an If statement which will check to see if either bumper switch is pressed and if either switch is pressed the code in between the If and End If statements will be executed.

    The If Both Bumpers Pressed item will insert an If statement which will check to see if both bumper switches are pressed and if both the switches are pressed the code in between the If and End If statements will be executed.

    The If Both Bumpers Not Pressed item will insert an If statement which will check to see if both bumper switches are not pressed and if both the switches are not pressed the code in between the If and End If statements will be executed.

    The End If item is used to insert an End If statement into your code. An End If statement must be inserted after all If statements.

Data Menu:

    The Data menu allows you to program your robot to collect data or any collected data can be downloaded from your robot.

    The Collect Data item will allow you to program your robot to collect a specified number of data points. You must first add a do loop to your code before you can make use of the Collect Data item. You will be asked to enter the number of data points for your robot to collect. A maximum of 50 data points can be collected. You must also have an additional EEPROM chip installed in the E1 memory slot on the OOPic controller.

    The Download Data From EEPROM Item will download any collected data from your robot. You must also have an additional EEPROM chip installed in the E1 memory slot on the OOPic controller and a data downloader cable is also needed for data collection and downloading to be possible.

IRPD Sensor Menu:

 

    The If Front LeftIRPD Blocked item will insert an If statement which will check to see if the left Front IRPD sensor is blocked and if the left Front IRPD is blocked the code in between the If and End If statements will be executed.

    The If Front RightIRPD Blocked item will insert an If statement which will check to see if the right Front IRPD sensor is blocked and if the right Front IRPD is blocked the code in between the If and End If statements will be executed.

    The If Both Front IRPDs Blocked item will insert an If statement which will check to see if both of the Front IRPD sensors are blocked and if both are blocked the code in between the If and End If statements will be executed.

    The If Either Front IRPD is Blocked item will insert an If statement which will check to see if either Front IRPD sensor is blocked and if either is blocked the code in between the If and End If statements will be executed.

    The If Both Front IRPDs Clear item will insert an If statement which will check to see if the both Front IRPD sensors are clear and if both are clear the code in between the If and End If statements will be executed.

   

    The If Rear LeftIRPD Blocked item will insert an If statement which will check to see if the left Rear IRPD sensor is blocked and if the left Rear IRPD is blocked the code in between the If and End If statements will be executed.

    The If Rear RightIRPD Blocked item will insert an If statement which will check to see if the right Rear IRPD sensor is blocked and if the right Rear IRPD is blocked the code in between the If and End If statements will be executed.

    The If Both Rear IRPDs Blocked item will insert an If statement which will check to see if both of the Rear IRPD sensors are blocked and if both are blocked the code in between the If and End If statements will be executed.

    The If Either Rear IRPD is Blocked item will insert an If statement which will check to see if either Rear IRPD sensor is blocked and if either is blocked the code in between the If and End If statements will be executed.

    The If Both Rear IRPDs Clear item will insert an If statement which will check to see if the both Rear IRPD sensors are clear and if both are clear the code in between the If and End If statements will be executed.

    The End If item is used to insert an End If statement into your code. An End If statement must be inserted after all If statements.

IR Range Sensors Menu:

    The If Left IR is Blocked item will insert an If statement which will check to see if the left IR sensor is blocked and if the left IR is blocked the code in between the If and End If statements will be executed.

    The If Right IR is Blocked item will insert an If statement which will check to see if the right IR sensor is blocked and if the right IR is blocked the code in between the If and End If statements will be executed.

    The If Both IRs Blocked item will insert an If statement which will check to see if both of the IR sensors are blocked and if both are blocked the code in between the If and End If statements will be executed.

    The If Either IR is Blocked item will insert an If statement which will check to see if either IR sensor is blocked and if either is blocked the code in between the If and End If statements will be executed.

    The If Both IRs are Clear item will insert an If statement which will check to see if the both IR sensors are clear and if both are clear the code in between the If and End If statements will be executed.

Use the IR Block Distance Scrollbar to set the detection distance.

    The End If item is used to insert an End If statement into your code. An End If statement must be inserted after all If statements.

Temperature Sensor Menu:

    The If Temperature Sensor >= Temperature will insert an If statement which will check to see if the temperature sensed by the Temperature sensor is greater than or equal to the set temperature value. If this is true the code in between the If and End If statements will be executed. Use the Temperature Scrollbar to set the temperature value.

    The If Temperature Sensor <= Temperature will insert an If statement which will check to see if the temperature sensed by the Temperature sensor is less than or equal to the set temperature value. If this is true the code in between the If and End If statements will be executed. Use the Temperature Scrollbar to set the temperature value.

    The End If item is used to insert an End If statement into your code. An End If statement must be inserted after all If statements.

Light Sensor Menu:

The If LightSensor >= LightThreshold will insert an If statement which will check to see if the amount of light sensed by the Light sensor is greater than or equal to the set LightThreshold value. If this is true the code in between the If and End If statements will be executed. Use the Light Threshold Scrollbar to set the LightThreshold value.

The If LightSensor <= LightThreshold will insert an If statement which will check to see if the amount of light sensed by the Light sensor is less than or equal to the set LightThreshold value. If this is true the code in between the If and End If statements will be executed. Use the Light Threshold Scrollbar to set the LightThreshold value.

Servos Menu:

    The Set Left Servo Stop allows you to set the stop value for your robot's left servo. The servo stop value is used to set the stop position of the servo. If your robot does not drive straight, then you may need to adjust your servo stop positions using this menu item.

    The Set Right Servo Stop allows you to set the stop value for your robot's right servo. The servo stop value is used to set the stop position of the servo. If your robot does not drive straight, then you may need to adjust your servo stop positions using this menu item.

    The Using Hitec Servos instructs the program to adjust for the Hitec servos. If you select the wrong type of servo to be used your robot may spin left when you program it to spin right and visa-versa.

    The Using Parallax Servos menu item instructs the program to adjust for the Parallax servos. If you select the wrong type of servo to be used your robot may spin left when you program it to spin right and visa-versa.