Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- Analog input, analog output, serial output
- Reads an analog input pin, maps the result to a range from 0 to 255
- and uses the result to set the pulsewidth modulation (PWM) of an output pin.
- Also prints the results to the serial monitor.
- The circuit:
- * potentiometer connected to analog pin 0.
- Center pin of the potentiometer goes to the analog pin.
- side pins of the potentiometer go to +5V and ground
- * LED connected from digital pin 9 to ground
- created 29 Dec. 2008
- modified 9 Apr 2012
- by Tom Igoe
- This example code is in the public domain.
- */
- // These constants won't change. They're used to give names
- // to the pins used:
- const int analogInPinRGBLED_RED = A0; // Analog input pin that the potentiometer is attached to
- const int analogInPinRGBLED_BLUE = A1;
- const int analogInPinRGBLED_GREEN = A2;
- const int analogOutPin = 9; // Analog output pin that the LED is attached to
- int potRGBLED_RED = 0; // value read from the pot
- int potRGBLED_BLUE = 0;
- int potRGBLED_GREEN = 0;
- void setup() {
- pinMode(RGBLED_RED, OUTPUT);
- pinMode(RGBLED_BLUE, OUTPUT);
- pinMode(RGBLED_GREEN,OUTPUT);
- // initialize serial communications at 9600 bps:
- Serial.begin(9600);
- }
- void loop() {
- // read the analog in value:
- potRGBLED_RED = analogRead(analogInPinRGBLED_RED);
- potRGBLED_GREEN = analogRead(analogInPinRGBLED_GREEN);
- potRGBLED_BLUE = analogRead(analogInPinRGBLED_BLUE);
- // map it to the range of the analog out:
- potRGBLED_RED = map(potRGBLED_RED , 0, 1023, 0, 255);
- potRGBLED_GREEN = map(potRGBLED_GREEN , 0, 1023, 0, 255);
- potRGBLED_BLUE = map(potRGBLED_BLUE , 0, 1023, 0, 255);
- // change the analog out value:
- analogWrite(RGBLED_RED, potRGBLED_RED);
- analogWrite(RGBLED_GREEN, potRGBLED_GREEN);
- analogWrite(RGBLED_BLUE, potRGBLED_BLUE);
- // print the results to the serial monitor:
- Serial.print(potRGBLED_RED, HEX);
- Serial.print(potRGBLED_GREEN, HEX);
- Serial.println(potRGBLED_BLUE, HEX);
- // wait 2 milliseconds before the next loop
- // for the analog-to-digital converter to settle
- // after the last reading:
- delay(2);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement