1 / 54

LASER GUIDED MOUSE

LASER GUIDED MOUSE. ECE 445: Senior Design Spring 2007 Samir Desai Howard Luo James Lin. Project Description.

bono
Download Presentation

LASER GUIDED MOUSE

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. LASER GUIDED MOUSE ECE 445: Senior Design Spring 2007 Samir Desai Howard Luo James Lin

  2. Project Description • Through the combination of a standard laser pointer and a clicking device that we designed, we have revolutionized the presentation industry by introducing a new freedom of movement while maintaining control of the computer wireless and effortlessly

  3. Project Sub-units • This project was divided into three main sub-units: • Device design and fabrication • System integration and driver manipulation • Image acquisition and analysis

  4. Device Circuit Design • Goals of the Clicking Device: • Wireless • Simple Logic • Low Power Consumption • Configurable size • No lag time • Very little noise • Transmission speed that allows rapid double clicking

  5. Design Basics • Two capacitive push buttons send parallel signals that represent the Left and Right mouse clicks • Parallel signals are encoded into a serial signal using an 8 bit shift register. The shift register provides a start and stop code that enclose the LR signals: 010LR010

  6. Design Basics Continued • Shift Register outputs serial signal to a Transmitter which then wireless sends the signal to a Receiver on a different board. • Receiver takes the signal and sends it to a Max232 which converts the voltages into values the serial port will recognize and transfers them via DB9 and RS232 cable to the com port.

  7. 555 Timer • Shift register needed a clock frequency that would be recognized by comport and be fast enough to allow a rapid double click. • We chose 2400 bits per second (Hz) • LM 555 Timer allowed us to generate a clock very near this frequency

  8. 555 Timer continued Using two resisters of value 1600 Ohms and 2000 Ohms and two capacitors of value .1uF and .01uF, we generated a clock signal of 2576 Hz with a duty cycle 64.3%

  9. 555 Generated Waveform

  10. Design issues and solutions • After the basic design was completed, there were some problematic issues that needed fixing: • Too much noise • Power source regulation • Square wave generation

  11. Clicker Schematic

  12. Receiver Schematic

  13. Printed Circuit Boards • Once final boards were built and successfully tested, we designed PCBs • Helped with size configuration • Provided more suitable casing options

  14. PCB issues • The PCBs for the clicker and the receiver were never successfully tested • 555 timer • Max232 • Hardwiring • Floating voltages

  15. PCB pictures: Clicker

  16. PCB pictures: Receiver

  17. Casing Pictures: Clicker

  18. Casing Pictures: Clicker continued

  19. Casing Pictures: Receiver

  20. Casing Pictures: Receiver continued

  21. Testing and Plots • Capacitive button:

  22. Testing and Plots continued • Transmitter to Receiver 2400 Hz:

  23. Testing and Plots continued • Transmitter to DB9 input at 2400 Hz and 20 feet:

  24. Future Improvements • Drag and Drop feature • Miniaturization • USB implementation

  25. System Integration • Serial data read into COM port and analyzed • Relative location of laser pointer acquired from image processing • Integration of these two factors followed by mouse driver manipulation

  26. Block Diagram of Integration

  27. Serial Port Test HowTo • Hardware: Serial loop back • Software: Reads in data from the serial port and interprets data as Left or Right click

  28. Serial port loopback • Serial port pin diagram

  29. RS232 Test Program

  30. RS232 Test Program

  31. RS232 Test Program

  32. RS232 Test Program

  33. Behind the GUI • Serial Port Settings • Baud Rate: 2400 • Data Bits: 7 • Stop Bit: 1 • Parity Bit: none

  34. Reading from the Receiver

  35. SerialPort Class in .Net Framework • Close: Closes the port connection and sets the IsOpen property to false • Open: Opens a new serial port connection • ReadExisting: Reads all immediately available bytes, based on the encoding, in both the stream and the input buffer of the SerialPort object. • Write: Writes data to the serial port output buffer

  36. Process for reading COM port • Open COM port • On data received, read in data from COM port buffer • Interpret data • Close COM port

  37. GUI of COM port tester

  38. Reading from Image Processor • clickLocation = detector.point;

  39. Mouse control HowTo • Use import method SendInput of the user32.dll library • DllImport the User32.dll • Remember to add the library using System.Runtime.InteropServices;

  40. Testing Mouse Control

  41. Process for Mouse Control • Set Text Left / Right • Set the cursor to memorized location • Set up the INPUT structure • Fill it for mouse down and send the input • Fill it for mouse up and send the input

  42. Image Processing • Logitech QuickCam Fusion • Microsoft DirectShow • 320x240 BitMap • ~8-10 fps • Applied a red filter to camera lens

  43. Image Processing

  44. Image Processing • Every 5 pixels of BitMap is checked • Finds brightest spot in picture

  45. GUI

  46. Calibration • Software automatically determines the user’s screen resolution • Define four corners using laser pointer and buttons on GUI • Use corners to determine upper lower, left, and right bounds • Calculate XFactor and YFactor • Convert BitMap location to screen (x, y)

  47. Calibration Marks

  48. Calibration

  49. Calibration • XFactor and YFactor ~ 3.5 – 4.5 • Therefore approximately every 20 pixels on the screen is clickable • point = new Point(ScreenX, ScreenY)

  50. Calibration

More Related