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

152 lines
3.5 KiB
Arduino
Raw Normal View History

2013-05-15 10:47:17 +02:00
/*
All IO Ports
2013-05-15 10:47:17 +02:00
This example goes through all the IO ports on your robot and
reads/writes from/to them. Uncomment the different lines inside
2013-05-15 10:47:17 +02:00
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
2013-05-15 10:47:17 +02:00
and outputs.
2013-05-15 10:47:17 +02:00
Circuit:
* Arduino Robot
2013-05-15 10:47:17 +02:00
created 1 May 2013
by X. Yang
modified 12 May 2013
by D. Cuartielles
2013-05-15 10:47:17 +02:00
This example is in the public domain
*/
#include <ArduinoRobot.h>
#include <Wire.h>
#include <SPI.h>
2013-05-15 10:47:17 +02:00
// 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 };
2013-05-15 10:47:17 +02:00
void setup() {
2013-05-15 10:47:17 +02:00
// 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();
2013-05-15 10:47:17 +02:00
// read all the D inputs at the Motor Board as digital
//digitalReadB_Ds();
2013-05-15 10:47:17 +02:00
// read all the M inputs at the Control Board as analog
//analogReadMs();
2013-05-15 10:47:17 +02:00
// read all the M inputs at the Control Board as digital
//digitalReadMs();
2013-05-15 10:47:17 +02:00
// read all the D inputs at the Control Board as analog
analogReadT_Ds();
2013-05-15 10:47:17 +02:00
// read all the D inputs at the Control Board as digital
//digitalReadT_Ds();
2013-05-15 10:47:17 +02:00
// write all the D outputs at the Motor Board as digital
//digitalWriteB_Ds();
2013-05-15 10:47:17 +02:00
// write all the D outputs at the Control Board as digital
//digitalWriteT_Ds();
delay(40);
2013-05-15 10:47:17 +02:00
}
// read all M inputs on the Control Board as analog inputs
void analogReadMs() {
for (int i = 0; i < 8; i++) {
2013-05-15 10:47:17 +02:00
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++) {
2013-05-15 10:47:17 +02:00
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++) {
2013-05-15 10:47:17 +02:00
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++) {
2013-05-15 10:47:17 +02:00
Serial.print(Robot.digitalRead(arr2[i]));
Serial.print(",");
}
Serial.println("");
}
// write all D outputs on the Control Board as digital outputs
void digitalWriteT_Ds() {
2013-05-15 10:47:17 +02:00
// turn all the pins on
for (int i = 0; i < 6; i++) {
2013-05-15 10:47:17 +02:00
Robot.digitalWrite(arr2[i], HIGH);
}
delay(500);
// turn all the pins off
for (int i = 0; i < 6; i++) {
2013-05-15 10:47:17 +02:00
Robot.digitalWrite(arr2[i], LOW);
}
delay(500);
}
// write all D outputs on the Motor Board as digital outputs
void digitalWriteB_Ds() {
2013-05-15 10:47:17 +02:00
// turn all the pins on
for (int i = 0; i < 4; i++) {
2013-05-15 10:47:17 +02:00
Robot.digitalWrite(arr3[i], HIGH);
}
delay(500);
// turn all the pins off
for (int i = 0; i < 4; i++) {
2013-05-15 10:47:17 +02:00
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++) {
2013-05-15 10:47:17 +02:00
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++) {
2013-05-15 10:47:17 +02:00
Serial.print(Robot.digitalRead(arr3[i]));
Serial.print(",");
}
Serial.println("");
}