diff options
author | Cristian Maglie <c.maglie@bug.st> | 2013-06-01 23:16:02 +0200 |
---|---|---|
committer | Cristian Maglie <c.maglie@bug.st> | 2013-06-01 23:16:02 +0200 |
commit | 177ad96f866714a4962be57f69cd3d5a6334cde1 (patch) | |
tree | 1072239986340d6a239adac924eddf2e1d1ca566 /libraries/Robot_Control/examples/learn/AllIOPorts | |
parent | 6cff36ac5e85c74bcb45cc53491ad69d64520b36 (diff) | |
parent | d90fcca5839d13d57ed527d4009b78d22dafbde7 (diff) |
Merge branch 'merge-1.0.5' into ide-1.5.x-discovery
Diffstat (limited to 'libraries/Robot_Control/examples/learn/AllIOPorts')
-rw-r--r-- | libraries/Robot_Control/examples/learn/AllIOPorts/AllIOPorts.ino | 149 |
1 files changed, 149 insertions, 0 deletions
diff --git a/libraries/Robot_Control/examples/learn/AllIOPorts/AllIOPorts.ino b/libraries/Robot_Control/examples/learn/AllIOPorts/AllIOPorts.ino new file mode 100644 index 0000000..3520214 --- /dev/null +++ b/libraries/Robot_Control/examples/learn/AllIOPorts/AllIOPorts.ino @@ -0,0 +1,149 @@ +/* + All IO Ports + + This example goes through all the IO ports on your robot and + reads/writes from/to them. Uncomment the different lines inside + the loop to test the different possibilities. + + The TK inputs on the Control Board are multiplexed and therefore + it is not recommended to use them as outputs. The TKD pins on the + Control Board as well as the TK pins on the Motor Board go directly + to the microcontroller and therefore can be used both as inputs + and outputs. + + Circuit: + * Arduino Robot + + created 1 May 2013 + by X. Yang + modified 12 May 2013 + by D. Cuartielles + + This example is in the public domain + */ + +#include <ArduinoRobot.h> + +// use arrays to store the names of the pins to be read +uint8_t arr[] = { TK0, TK1, TK2, TK3, TK4, TK5, TK6, TK7 }; +uint8_t arr2[] = { TKD0, TKD1, TKD2, TKD3, TKD4, TKD5 }; +uint8_t arr3[] = { B_TK1, B_TK2, B_TK3, B_TK4 }; + +void setup(){ + // initialize the robot + Robot.begin(); + + // open the serial port to send the information of what you are reading + Serial.begin(9600); +} + +void loop(){ + // read all the TK inputs at the Motor Board as analog + analogReadB_TKs(); + + // read all the TK inputs at the Motor Board as digital + //digitalReadB_TKs(); + + // read all the TK inputs at the Control Board as analog + //analogReadTKs(); + + // read all the TK inputs at the Control Board as digital + //digitalReadTKs(); + + // read all the TKD inputs at the Control Board as analog + //analogReadTKDs(); + + // read all the TKD inputs at the Control Board as digital + //digitalReadTKDs(); + + // write all the TK outputs at the Motor Board as digital + //digitalWriteB_TKs(); + + // write all the TKD outputs at the Control Board as digital + //digitalWriteTKDs(); + delay(5); +} + +// read all TK inputs on the Control Board as analog inputs +void analogReadTKs() { + for(int i=0;i<8;i++) { + Serial.print(Robot.analogRead(arr[i])); + Serial.print(","); + } + Serial.println(""); +} + +// read all TK inputs on the Control Board as digital inputs +void digitalReadTKs() { + for(int i=0;i<8;i++) { + Serial.print(Robot.digitalRead(arr[i])); + Serial.print(","); + } + Serial.println(""); +} + +// read all TKD inputs on the Control Board as analog inputs +void analogReadTKDs() { + for(int i=0; i<6; i++) { + Serial.print(Robot.analogRead(arr2[i])); + Serial.print(","); + } + Serial.println(""); +} + +// read all TKD inputs on the Control Board as digital inputs +void digitalReadTKDs() { + for(int i=0; i<6; i++) { + Serial.print(Robot.digitalRead(arr2[i])); + Serial.print(","); + } + Serial.println(""); +} + +// write all TKD outputs on the Control Board as digital outputs +void digitalWriteTKDs() { + // turn all the pins on + for(int i=0; i<6; i++) { + Robot.digitalWrite(arr2[i], HIGH); + } + delay(500); + + // turn all the pins off + for(int i=0; i<6; i++){ + Robot.digitalWrite(arr2[i], LOW); + } + delay(500); +} + +// write all TK outputs on the Motor Board as digital outputs +void digitalWriteB_TKs() { + // turn all the pins on + for(int i=0; i<4; i++) { + Robot.digitalWrite(arr3[i], HIGH); + } + delay(500); + + // turn all the pins off + for(int i=0; i<4; i++) { + Robot.digitalWrite(arr3[i], LOW); + } + delay(500); +} + +// read all TK inputs on the Motor Board as analog inputs +void analogReadB_TKs() { + for(int i=0; i<4; i++) { + Serial.print(Robot.analogRead(arr3[i])); + Serial.print(","); + } + Serial.println(""); +} + +// read all TKD inputs on the Motor Board as digital inputs +void digitalReadB_TKs() { + for(int i=0; i<4; i++) { + Serial.print(Robot.digitalRead(arr3[i])); + Serial.print(","); + } + Serial.println(""); +} |