Step 6: Program and connect the Arduino

Picture of Program and connect the Arduino
You will need to download and install the Arduino software onto your computer.  This is the program which will let you load the Sketch onto your Arduino which will make it perform its function in this system.  The Arduino software communicates to the Arduino through a serial port which appears to your computer after the USB interface is plugged in.

If the Arduino is plugged in and your computer can't figure out that it is a serial port, you will need to download a driver from the Arduino website.

You will also need the sketch we have written for this application.

All of the above software is linked in Step Two of this instructable.

Once you have the Arduino software running, and it recognizes your Arduino hardware (which is plugged into your computers' USB port) you will need to load the sketch we have written using the File menu.  Then go to the Tools menu and select "Board" and choose the model of Arduino you have.  The Diecimila, Duemilanove or Uno are very similar and any of them would work for this application.  Next, from the Tools menu, make sure the Serial Port of your Arduino is selected.

At this point, with our sketch loaded, you can go to the File menu and select "Upload to I/O board" to load the sketch into your Arduino.  After this step works, you can quit the Arduino program.  You won't need it again unless you want to change the way your Arduino operates, and it shouldn't be running while the Python program is running.

After this, you will need to make a connector to go between the Arduino and the interface board which controls the joystick of the wheelchair.  We used pins 10, 2, 3, 4, 5, 6, 7, 8, of the Arduino and connected them to pins 2, 3, 4, 5, 6, 7, 8 and 9 of the DB25F connector from the interface board.  We also connected Ground from the Arduino to pin 18 of the DB25F connector.

If it is not obvious at this point, you can skip the whole DB25 connector and just wire directly from the Arduino to the transistors on the interface board.  Our setup is the result of originally using the parallel port of the PC instead of an Arduino (which is still an option if you have a parallel port and don't want to use an Arduino)