1
0
mirror of https://github.com/arduino/Arduino.git synced 2024-12-05 16:24:12 +01:00
Arduino/libraries/Robot_Control/examples/learn/AllIOPorts/AllIOPorts.ino

150 lines
3.5 KiB
C++

/*
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 M inputs on the Control Board are multiplexed and therefore
it is not recommended to use them as outputs. The D pins on the
Control Board as well as the D 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[] = { M0, M1, M2, M3, M4, M5, M6, M7 };
uint8_t arr2[] = { D0, D1, D2, D3, D4, D5 };
uint8_t arr3[] = { D7, D8, D9, D10 };
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 D inputs at the Motor Board as analog
//analogReadB_Ds();
// read all the D inputs at the Motor Board as digital
//digitalReadB_Ds();
// read all the M inputs at the Control Board as analog
//analogReadMs();
// read all the M inputs at the Control Board as digital
//digitalReadMs();
// read all the D inputs at the Control Board as analog
analogReadT_Ds();
// read all the D inputs at the Control Board as digital
//digitalReadT_Ds();
// write all the D outputs at the Motor Board as digital
//digitalWriteB_Ds();
// write all the D outputs at the Control Board as digital
//digitalWriteT_Ds();
delay(40);
}
// read all M inputs on the Control Board as analog inputs
void analogReadMs() {
for(int i=0;i<8;i++) {
Serial.print(Robot.analogRead(arr[i]));
Serial.print(",");
}
Serial.println("");
}
// read all M inputs on the Control Board as digital inputs
void digitalReadMs() {
for(int i=0;i<8;i++) {
Serial.print(Robot.digitalRead(arr[i]));
Serial.print(",");
}
Serial.println("");
}
// read all D inputs on the Control Board as analog inputs
void analogReadT_Ds() {
for(int i=0; i<6; i++) {
Serial.print(Robot.analogRead(arr2[i]));
Serial.print(",");
}
Serial.println("");
}
// read all D inputs on the Control Board as digital inputs
void digitalReadT_Ds() {
for(int i=0; i<6; i++) {
Serial.print(Robot.digitalRead(arr2[i]));
Serial.print(",");
}
Serial.println("");
}
// write all D outputs on the Control Board as digital outputs
void digitalWriteT_Ds() {
// 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 D outputs on the Motor Board as digital outputs
void digitalWriteB_Ds() {
// 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 D inputs on the Motor Board as analog inputs
void analogReadB_Ds() {
for(int i=0; i<4; i++) {
Serial.print(Robot.analogRead(arr3[i]));
Serial.print(",");
}
Serial.println("");
}
// read all D inputs on the Motor Board as digital inputs
void digitalReadB_Ds() {
for(int i=0; i<4; i++) {
Serial.print(Robot.digitalRead(arr3[i]));
Serial.print(",");
}
Serial.println("");
}