Do you need to distinguish black from white? While we can't help you with your moral decisions, for most other purposes you can try using this digital line sensor.
This line sensor allows you to determine the color of the surface below it. The output is a simple binary digital signal, a 1 or 0, depending on the color that it sees (1 if black, 0 otherwise).
The main photocell works in the infrared spectrum. Additionally, the sensor is equipped with an LED which lights up when the surface under the sensor is lit. This is convenient for configuration, diagnosis, and bug squashing.
A variable resistor mounted on the sensor will allow you to adjust the sensitivity over a wide range. With this you can calibrate the sensor to specifically suit your needs, depending on material coating and various external illumination conditions.
The sensor can be attached to the bottom of a chassis to help a robot to stay on track, or so that it follows a line.
The sensor can also be used as a rotary encoder. By placing it on a rotating object pointed at black and white target, you can find with what angular speed the object rotates and how many turns it makes.
Connect the sensor via 3-pin jumper cable to receive a signal from the scanner. The 3-pin jumper cable needed for the connection is included in the kit.
There are several different ways to wire this module:
Troyka Shield. The most straightforward method. Connect the module to a pin group on Troyka Shield with the 3-pin jumper cable and you’re ready to interface with it from your Arduino.
Troyka Slot Shield. The best choice for quick prototyping. Using slots on the shield, you can get rid of cables. The module will be held securely in place using both pin headers.
Breadboard. For advanced use. Troyka pin headers have 0.1” spacing which is compatible with any breadboard. Simply wire the module like you would do with any IC.
If you need gradations in measuring the brightness of an object's color, i.e. an analog signal, try the analog line sensor.