aboutsummaryrefslogtreecommitdiff
path: root/examples/AnalogInOutSerial/AnalogInOutSerial.ino
diff options
context:
space:
mode:
authorSudar <sudar@sudarmuthu.com>2014-09-21 12:05:12 +0530
committerSudar <sudar@sudarmuthu.com>2014-09-21 12:05:12 +0530
commitee1855c6b1aabf4d50afcfba69cecd2417d27237 (patch)
tree05db0503f3cb1ffbd41f077ecf6135a429d5b66b /examples/AnalogInOutSerial/AnalogInOutSerial.ino
parent6f46722abb40c60dcaa0e40292342d015906c8bf (diff)
parentd092c14d7ec845246f6588704e22718615626982 (diff)
Merge pull request #268 from peplin/259-move-examples
Move tests back to 'examples', skip non-testable examples when testing. Fix #259 Fix #260
Diffstat (limited to 'examples/AnalogInOutSerial/AnalogInOutSerial.ino')
-rw-r--r--examples/AnalogInOutSerial/AnalogInOutSerial.ino53
1 files changed, 53 insertions, 0 deletions
diff --git a/examples/AnalogInOutSerial/AnalogInOutSerial.ino b/examples/AnalogInOutSerial/AnalogInOutSerial.ino
new file mode 100644
index 0000000..e142f69
--- /dev/null
+++ b/examples/AnalogInOutSerial/AnalogInOutSerial.ino
@@ -0,0 +1,53 @@
+/*
+ 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 30 Aug 2011
+ 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 analogInPin = A0; // Analog input pin that the potentiometer is attached to
+const int analogOutPin = 9; // Analog output pin that the LED is attached to
+
+int sensorValue = 0; // value read from the pot
+int outputValue = 0; // value output to the PWM (analog out)
+
+void setup() {
+ // initialize serial communications at 9600 bps:
+ Serial.begin(9600);
+}
+
+void loop() {
+ // read the analog in value:
+ sensorValue = analogRead(analogInPin);
+ // map it to the range of the analog out:
+ outputValue = map(sensorValue, 0, 1023, 0, 255);
+ // change the analog out value:
+ analogWrite(analogOutPin, outputValue);
+
+ // print the results to the serial monitor:
+ Serial.print("sensor = " );
+ Serial.print(sensorValue);
+ Serial.print("\t output = ");
+ Serial.println(outputValue);
+
+ // wait 10 milliseconds before the next loop
+ // for the analog-to-digital converter to settle
+ // after the last reading:
+ delay(10);
+}