Zspace Linux Fix
From Immersive Visualization Lab Wiki
Contents |
Project Overview
The goal of this project is to create a fix for the zspace's stereo display of content, which gets mixed up from time to time. Using additional hardware external to the computer, a fix can be made which determines if the screen is correctly initialized and displaying content with the proper stereo orientation.
Arduino Info and Tutorials
- Most basically, the Arduino homepage has everything from basic language reference to links to tutorials.
- Also, there is another tutorial website with clearer instructions and copyable codes. A related link has photocell information.
- This is very basic Arduino information presented clearly. I did not use this, but found it while searching for useful, simple URL's.
- These two links (here and here) seemed useful to you when you were programming the C++ software.
Milestones
- Power the light intensity to frequency converter via an Arduino Uno.
- Obtain light intensity measurement by reading frequency from the diode.
- Write an application to read/write light-intensity to/from the Ardunio Uno by means of a tty device (e.g. "/dev/ttyACM0").
- Create a cable with the special diode fastened in place behind a polarized lens.
- Test the cable to make sure the polarized lens makes a difference when switching left/right screens in CalVR.
- Integrate code with CalVR to show proof of concept.
Known Bugs/Issues
- The ZSpace has a 50/50 chance at initializing the left and right images in an inverted manner.
- Must be detected so screens can be inverted [again] to their correct positions.
- Requires additional hardware to monitor which screen is being displayed.
- Arduino Uno serves this purpose and reports light intensity of current view back to host OS.
Hardware
- The Arduino itself, attached to the computer using a COM port.
- Attach the photocell using a Pin(currently programmed to Pin13) and the GND pin.
- A resistor is needed (10Kohms?).
Arduino Software
- The Arduino software needs to be downloaded before the Arduino itself can be programmed.
- The specific COM port to which the Arduino is attached is an important detail involved in the programming (see below).
- The Baud rate also should be programmed (currently programmed at 9600).
- This is the Arduino program that reads and prints a photocell reading from a pin (currently programmed to be pin13) every millisecond.
Source Code
- Source code for receiving light-intensity information from the Arduino Uno in Linux (Gray):
- Source code for actually measuring the light-intensity from the light sensor on the Arduino Uno (Gray).
- A windows C++ code (visual studio 2010) that prints the Arduino commands (Kubasak). This program includes the assumption that the Arduino is attached to the COM3 serial port.
Developers
Software Developer
- Thomas Gray
- Matthew Kubasak
Project Advisor
- Jurgen Schulze