1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
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("");
}
|