aboutsummaryrefslogtreecommitdiff
path: root/libraries/Wire/examples/digital_potentiometer
diff options
context:
space:
mode:
authorThibaut VIARD <thibaut.viard@atmel.com>2011-06-21 00:20:43 +0200
committerThibaut VIARD <thibaut.viard@atmel.com>2011-06-21 00:20:43 +0200
commit0887b98f627500271b5ad8b3c4f6c7b90bc227ee (patch)
treeef8626954567ba22e392c68c8f3606416b07b5b5 /libraries/Wire/examples/digital_potentiometer
parent90c487402cefadb6a2aab907ab07075cbb759e34 (diff)
Moving all AVR specific libraries to hardware/avr
Diffstat (limited to 'libraries/Wire/examples/digital_potentiometer')
-rw-r--r--libraries/Wire/examples/digital_potentiometer/digital_potentiometer.pde39
1 files changed, 39 insertions, 0 deletions
diff --git a/libraries/Wire/examples/digital_potentiometer/digital_potentiometer.pde b/libraries/Wire/examples/digital_potentiometer/digital_potentiometer.pde
new file mode 100644
index 0000000..38da1c5
--- /dev/null
+++ b/libraries/Wire/examples/digital_potentiometer/digital_potentiometer.pde
@@ -0,0 +1,39 @@
+// I2C Digital Potentiometer
+// by Nicholas Zambetti <http://www.zambetti.com>
+// and Shawn Bonkowski <http://people.interaction-ivrea.it/s.bonkowski/>
+
+// Demonstrates use of the Wire library
+// Controls AD5171 digital potentiometer via I2C/TWI
+
+// Created 31 March 2006
+
+// This example code is in the public domain.
+
+// This example code is in the public domain.
+
+
+#include <Wire.h>
+
+void setup()
+{
+ Wire.begin(); // join i2c bus (address optional for master)
+}
+
+byte val = 0;
+
+void loop()
+{
+ Wire.beginTransmission(44); // transmit to device #44 (0x2c)
+ // device address is specified in datasheet
+ Wire.write(byte(0x00)); // sends instruction byte
+ Wire.write(val); // sends potentiometer value byte
+ Wire.endTransmission(); // stop transmitting
+
+ val++; // increment value
+ if(val == 64) // if reached 64th position (max)
+ {
+ val = 0; // start over from lowest value
+ }
+ delay(500);
+}
+