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/AllIOPorts.ino | |
| 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/AllIOPorts.ino')
| -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(""); +} | 
