Virtual Color Mixer

Share on facebook
Share on twitter
Share on linkedin

This example demonstrates how to send multiple values from the Arduino board to the computer. The readings from three potentiometers are used to set the red, green, and blue components of the background color of a Processing sketch.

Hardware Required

  • Arduino or Genuino Board
  • 3 Analog Sensors (potentiometer, photocell, FSR, etc.)
  • 3 10K ohm resistors
  • hook-up wires
  • breadboard

Software Required

  • Processing

Circuit

Connect analog sensors to analog input pins 0, 1, and 2.

This circuit uses three voltage divider sub-circuits to generate analog voltages from the force-sensing resistors. a voltage divider has two resistors in series, dividing the voltage proportionally to their values.

Code

[javascript]
/*
This example reads three analog sensors (potentiometers are easiest)
and sends their values serially. The Processing and Max/MSP programs at the bottom
take those three values and use them to change the background color of the screen.

The circuit:
* potentiometers attached to analog inputs 0, 1, and 2

http://www.arduino.cc/en/Tutorial/VirtualColorMixer

created 2 Dec 2006
by David A. Mellis
modified 30 Aug 2011
by Tom Igoe and Scott Fitzgerald

This example code is in the public domain.
*/

const int redPin = A0; // sensor to control red color
const int greenPin = A1; // sensor to control green color
const int bluePin = A2; // sensor to control blue color

void setup()
{
Serial.begin(9600);
}

void loop()
{
Serial.print(analogRead(redPin));
Serial.print(",");
Serial.print(analogRead(greenPin));
Serial.print(",");
Serial.println(analogRead(bluePin));
}
[/javascript]

David Riewe

David Riewe

Electronics Tech with over 20 years of experience in the computer industry. I enjoy building micro-controlled projects, programming and web development

Leave a Replay

Follow Me

My Latest Posts

Hacker Stars

Questions?

Sign up for our Newsletter

Click edit button to change this text. Lorem ipsum dolor sit amet, consectetur adipiscing elit