Colour Sensor for
the Blind
Overview
The proposal for this project is to design a prototype of a colour sensor device, which can recognize at least 64 different colours and speak the recognized colour. The device should be suitable for use by vision-impaired people to allow them to perform basic colour recognition tasks.
The prototype uses a Red-Green-Blue LED to illuminate a surface. The level of reflected light from each colour is measured with a photodiode. The operation of the system is controlled by a Mitsubishi M16C/62 microcontroller. The determined colour is spoken through a ISD2548 chipcorder speech chip.
The overall aim is to develop this system using a minimum of parts for the lowest possible cost.
The Sensor
The sensor is consists of a tri-colour LED (light emitting diode) and a photodiode. The test material is illuminated by each colour in turn and the photodiode measured the level of reflected light from each colour. The prototype shown below has the photodiode on the left and LED on the right. The housing is a black cardboard tube and clay painted matt-black holds the diodes in place.
The photodiode allows a small reverse current to flow when exposed to light. The signal from the photodiode is fed into a op-amp circuit to be amplified into a useable voltage range. The image below shows the prototype circuit.
Software
The colour sensor is controlled by a Mitsubishi M16C/62 Microprocessor. The embedded software drives the RGB LED and takes readings from the signal conditioning circuit. Readings are taken using the built-in A/D. The microcontroller uses algorithms to correct the red, green and blue readings and determine the overall colour. Driving the LEDs uses 5 lines of a port and the speech circuit requires 1 port (8 bits).
The diagram below shows the flow of the software.
Hardware
The following table outlines the major hardware components of the project.
Microcontroller | Mitsubishi M16C/62 |
Tri-colour LED | Kingbright LF59EMBGMBC RGB LED |
Photodiode | Centronic BPW21 |
Op-Amp | Texas Instruments TLC251 |
Voice Chip | Winbond ISD 2548 (48 second) |
Work Completed
Construction of colour sensor.
Developed amplifier circuit for photodiode.
Calibrated RGB intensity to allow for photodiode’s non-linear response.
Developed embedded software to control sensor and take readings.
Developed software to convert RGB values in to one of defined set of colours.
Interface pre-recorded messages on ISD2548 to M16C – to speak each colour.
Conclusion
The colour sensor can correctly identify around 27 colours and pronounce the appropriate words for each colour. The sensor's colour determination algorithm can be easily modified for a colour range of 125+. However this would require a more precise sensor housing and PCB development.
Work Still to be
Done
- Modify RGB software and/or sensor to compensate for differing materials. ie cloth, paper and metal.
- Trial the changing sensor/source arrangement to single light source (white light) with 3x filtered sensors.
- Change op-amp circuit to cascaded circuit, each op-amp with a lower gain.
- Extended number of detectable colours.
Useful Links
http://www.m16canz.com - The Mitsubishi M16C Australia Site
http://www.renesas.com/eng/products/mpumcu/16bit/m16c/mcdsume.htm - M16C Datasheets
Contacts
Iain Murray – Project Supervisor iain@ece.curtin.edu.au
Craig Treeby – Project Student
Mark Chiam – Project Student