Wiki source code of BotBoarduino Manual
Last modified by Eric Nantel on 2023/01/19 11:43
Hide last authors
![]() |
1.1 | 1 | {{html wiki="false" clean="true"}} |
![]() |
17.1 | 2 | <table border="0"> |
![]() |
9.1 | 3 | <tbody><tr> |
![]() |
17.1 | 4 | <td align="center"><span class="headmd">Table of Contents</span></td> |
5 | <td align="center"><span class="headmd">Links</span></td> | ||
![]() |
9.1 | 6 | </tr> |
7 | <tr> | ||
![]() |
1.1 | 8 | |
![]() |
17.1 | 9 | <td > |
![]() |
9.1 | 10 | <ul class="toc"> |
![]() |
13.1 | 11 | <li><a href="https://wiki.lynxmotion.com/info/wiki/lynxmotion/view/servo-erector-set-system/ses-electronics/ses-modules/botboarduino/botboarduino-manual/#bb2lay">BotBoarduino</a> |
![]() |
9.1 | 12 | <ul class="toc"> |
![]() |
13.1 | 13 | <li class="toc"><a href="https://wiki.lynxmotion.com/info/wiki/lynxmotion/view/servo-erector-set-system/ses-electronics/ses-modules/botboarduino/botboarduino-manual/#bbufeat">BotBoarduino Hardware Information</a></li> |
14 | <li class="toc"><a href="https://wiki.lynxmotion.com/info/wiki/lynxmotion/view/servo-erector-set-system/ses-electronics/ses-modules/botboarduino/botboarduino-manual/#aglance">Shorting Bar Jumpers and Connections</a></li> | ||
15 | <li class="toc"><a href="https://wiki.lynxmotion.com/info/wiki/lynxmotion/view/servo-erector-set-system/ses-electronics/ses-modules/botboarduino/botboarduino-manual/#connections">PS2 / SSC-32 Connections</a></li> | ||
![]() |
9.1 | 16 | </ul> |
17 | </li> | ||
![]() |
13.1 | 18 | <li><a href="https://wiki.lynxmotion.com/info/wiki/lynxmotion/view/servo-erector-set-system/ses-electronics/ses-modules/botboarduino/botboarduino-manual/#testcont">Troubleshooting</a> |
![]() |
9.1 | 19 | <ul class="toc"> |
![]() |
13.1 | 20 | <li class="toc"><a href="https://wiki.lynxmotion.com/info/wiki/lynxmotion/view/servo-erector-set-system/ses-electronics/ses-modules/botboarduino/botboarduino-manual/#trouble">General Troubleshooting</a></li> |
![]() |
9.1 | 21 | </ul> |
22 | |||
23 | </li> | ||
24 | </ul> | ||
25 | </td> | ||
![]() |
17.1 | 26 | <td valign="top"> |
![]() |
9.1 | 27 | <ul class="toc"> |
![]() |
15.1 | 28 | <li><a href="https://wiki.lynxmotion.com/info/wiki/lynxmotion/download/servo-erector-set-system/ses-electronics/ses-modules/botboarduino/botboarduino-manual/WebHome/bbu01.pdf" target="_blank">BotBoarduino Schematic (pdf)</a></li> |
![]() |
9.1 | 29 | </ul> |
30 | </td> | ||
31 | |||
32 | </tr> | ||
33 | </tbody></table> | ||
34 | <hr width="95%" color="#808080"> | ||
35 | <p align="center"><span class="headmd"><a name="bb2lay">BotBoarduino.</a></span></p> | ||
![]() |
12.1 | 36 | <p><img border="0" src="https://wiki.lynxmotion.com/info/wiki/lynxmotion/download/servo-erector-set-system/ses-electronics/ses-modules/botboarduino/botboarduino-manual/WebHome/bbduinom02.jpg" width="650" height="478"></p> |
![]() |
9.1 | 37 | <p><span class="headsm"><a name="bbufeat">BotBoarduino Hardware Information.</a></span></p> |
38 | <p>The image above illustrates the shorting bar jumpers (the black rectangles) as they are on the board as it is shipped. The jumpers are used to | ||
39 | set operating parameters for the board. It should not be assumed that they are correct for your project as changes are likely to be required. Please | ||
40 | consult the tutorial for your project for the proper shorting bar jumper positions.</p> | ||
41 | |||
42 | <p>The BotBoarduino is 3.00" x 2.30" with 0.125" holes set in | ||
43 | 0.15" from each edge.</p> | ||
44 | <ol> | ||
45 | <li>The BotBoarduino is based on the Arduino Duemilanove. In the Arduino programming environment you must select "Arduino Duemilanove w/ ATmega328". Simply plug a USB Mini cable from this plug to a free USB port on your PC for programming the processor and receiving | ||
46 | debug information. For help with USB drivers, go to the <a href="http://arduino.cc/en/Guide/Windows" target="_blank">official Arduino page</a>. <font color="#FF0000">To prevent damaging the board's USB port, you must remove the USB cable from a MOBILE robot!</font></li> | ||
47 | <li>These four pins are connected to the FTDI's CTS, DSR, DCD, and RI signals. You should never have to worry about these pins. Use them only | ||
48 | if you know what you're doing as these pins can prevent the BotBoarduino from being programmed.</li> | ||
49 | |||
50 | <li>This is a Power Good LED. When you have successfully applied power to the onboard regulator, the yellow LED will turn on.</li> | ||
51 | <li>This shorting bar enables the onboard speaker. To use the speaker, send the appropriate sound generating command to Pin 5. Note, the I/O pin | ||
52 | drives a transistor amplifier. It does not drive the speaker directly.</li> | ||
53 | <li>The 3 LEDs and Pushbuttons use only 3 I/O lines to make a simple user interface for your program. By making the I/O line a low output the LED | ||
54 | can be turned on. By briefly making the I/O line an input the I/O line can be read to see if a button is being pressed. <font color="#FF0000">However, | ||
55 | do NOT make the I/O line a high output and press a button, as damage to the I/O pin can occur.</font> The shorting bars | ||
56 | directly above JA, JB, and JC will need to be | ||
57 | installed for these LEDs and Pushbuttons to be used.<br> | ||
58 | | ||
59 | <table border="1" bordercolor="#000000" width="200"> | ||
60 | <tbody><tr> | ||
![]() |
18.1 | 61 | <td align="center" bordercolor="#808080" bgcolor="#C0C0C0" height="14"><b>Chip I/O</b></td> |
![]() |
9.1 | 62 | |
![]() |
18.1 | 63 | <td align="center" bordercolor="#808080" bgcolor="#C0C0C0" height="14" colspan="2"><b>PB/LED</b></td> |
![]() |
9.1 | 64 | </tr> |
65 | <tr> | ||
![]() |
18.1 | 66 | <td align="center" bordercolor="#C0C0C0" height="1">Pin 7</td> |
67 | <td height="1" align="center" bordercolor="#C0C0C0" bgcolor="#FFFFFF">A</td> | ||
68 | <td height="1" align="center" bordercolor="#C0C0C0" bgcolor="#FFFFFF">Red</td> | ||
![]() |
9.1 | 69 | </tr> |
70 | |||
71 | <tr> | ||
![]() |
18.1 | 72 | <td align="center" bordercolor="#C0C0C0" height="14">Pin 8</td> |
73 | <td height="14" align="center" bordercolor="#C0C0C0" bgcolor="#FFFFFF">B</td> | ||
74 | <td height="14" align="center" bordercolor="#C0C0C0" bgcolor="#FFFFFF">Green</td> | ||
![]() |
9.1 | 75 | </tr> |
76 | <tr> | ||
![]() |
18.1 | 77 | <td align="center" bordercolor="#C0C0C0" height="14">Pin 9</td> |
![]() |
9.1 | 78 | |
![]() |
18.1 | 79 | <td height="14" align="center" bordercolor="#C0C0C0" bgcolor="#FFFFFF">C</td> |
80 | <td height="14" align="center" bordercolor="#C0C0C0" bgcolor="#FFFFFF">Yellow</td> | ||
![]() |
9.1 | 81 | </tr> |
82 | </tbody></table> | ||
83 | </li> | ||
84 | <li>This is where you connect servos, motor controllers, sensors, etc. to the microcontroller. Use caution when connecting anything the the I/O | ||
85 | bus. Never connect anything while the power is on. The outside row is ground, the middle row is power, and the inside row are the IO pins.</li> | ||
86 | <li>This is where you configure the I/O bus center row to use VL (+5vdc from the onboard regulator) or VS (direct from the Servo Power Input). | ||
87 | This is done in banks of four I/O pins. <font color="#FF0000">Caution, applying the servo voltage to this row with a 5vdc peripheral installed | ||
88 | will cause damage to the peripheral.</font> </li> | ||
89 | <li>This port is for connecting a Sony Playstation controller to use as a robot controller. | ||
90 | The Lynxmotion, Sony, and Madcatz controllers we tested only required a 1K pullup on Pin 6, | ||
91 | which is built into the board and must be enabled by installing a jumper on the JPU. Other | ||
92 | brands may require a pullup on Pin 9, which is not included. Note, some controllers require the green wire | ||
93 | to be connected to 7.5vdc to enable vibrating motors, or wireless operation. The Playstation 2 cables' coloring differs from different | ||
![]() |
13.1 | 94 | production runs. Please refer to the table in the <a href="https://wiki.lynxmotion.com/info/wiki/lynxmotion/view/servo-erector-set-system/ses-electronics/ses-modules/botboarduino/botboarduino-manual/#aglance">Shorting Bars and Connections section</a> to verify the color coding and |
![]() |
9.1 | 95 | connections for your cable.<br> |
96 | | ||
97 | <table border="1" bordercolor="#000000" width="200"> | ||
98 | <tbody><tr> | ||
99 | <td width="248" align="center" bordercolor="#808080" bgcolor="#C0C0C0" height="14"><b>Pin</b></td> | ||
100 | <td width="248" align="center" bordercolor="#808080" bgcolor="#C0C0C0" height="14"><b>PS2 Function</b></td> | ||
101 | </tr> | ||
102 | <tr> | ||
103 | <td width="248" align="center" bordercolor="#C0C0C0" height="1">Pin 8</td> | ||
104 | <td height="1" align="center" bordercolor="#C0C0C0" bgcolor="#FFFFFF">DAT</td> | ||
105 | </tr> | ||
106 | <tr> | ||
107 | <td width="248" align="center" bordercolor="#C0C0C0" height="14">Pin 7</td> | ||
108 | <td height="14" align="center" bordercolor="#C0C0C0" bgcolor="#FFFFFF">CMD</td> | ||
109 | </tr> | ||
110 | <tr> | ||
111 | <td width="248" align="center" bordercolor="#C0C0C0" height="14">Pin 6</td> | ||
112 | <td height="14" align="center" bordercolor="#C0C0C0" bgcolor="#FFFFFF">ATT</td> | ||
113 | </tr> | ||
114 | <tr> | ||
115 | <td align="center" bordercolor="#C0C0C0" height="14">Pin 9</td> | ||
116 | <td height="14" align="center" bordercolor="#C0C0C0" bgcolor="#FFFFFF">CLK</td> | ||
117 | </tr> | ||
118 | </tbody></table> | ||
119 | </li> | ||
120 | <li>This pin group breaks out the ICSP pins. These allow you to burn a bootloader onto the Atmega328 or program the chip with an external programmer. | ||
121 | Do not connect anything to these pins unless you know what you are doing.</li> | ||
122 | <li>This connecter brings out pins 0 and 1 of the arduino along with ground in such a way that you can connect the BotBoarduino to an SSC-32 with any servo extension cable. <font color="#FF0000">You will need to remove anything connected to these pins while programming.</font></li> | ||
123 | |||
124 | <li>This allows the VL and/or VS inputs to be connected to two of the AtMega328's analog inputs through a 4:1 voltage divider. For example, if the | ||
125 | battery voltage were 9vdc, the analog input would see 2.25vdc.<br> | ||
126 | | ||
127 | <table width="200" border="1" bordercolor="#000000"> | ||
128 | <tbody><tr> | ||
129 | <td align="center" bordercolor="#808080" bgcolor="#C0C0C0" height="14"><b>Chip I/O</b></td> | ||
130 | <td align="center" bordercolor="#808080" bgcolor="#C0C0C0" height="14"><b>Use</b></td> | ||
131 | </tr> | ||
132 | <tr> | ||
133 | |||
134 | <td align="center" bordercolor="#C0C0C0" height="1">A0</td> | ||
135 | <td bordercolor="#C0C0C0" bgcolor="#FFFFFF" height="1" align="center">V-Servo | ||
136 | / General Purpose</td> | ||
137 | </tr> | ||
138 | <tr> | ||
139 | <td align="center" bordercolor="#C0C0C0" height="14">A1</td> | ||
140 | <td bordercolor="#C0C0C0" bgcolor="#FFFFFF" height="14" align="center">V-Logic | ||
141 | / General Purpose</td> | ||
142 | </tr> | ||
143 | |||
144 | <tr> | ||
145 | <td align="center" bordercolor="#C0C0C0" height="14">A2 - A5</td> | ||
146 | <td bordercolor="#C0C0C0" bgcolor="#FFFFFF" height="14" align="center">General | ||
147 | Purpose</td> | ||
148 | </tr> | ||
149 | </tbody></table> | ||
150 | </li> | ||
151 | <li>These headers bring out analog pins A4 and A5 for use with the I2C comunication protocol. To use this header | ||
152 | you must install jumpers horizontally across the SDA-P and SCL-P headers.</li> | ||
153 | <li>This allows you to power the Servos and Logic from the same battery. It simply connects the VS input to the VL input. Caution, when using this | ||
154 | option do NOT use the VL input.</li> | ||
155 | |||
156 | <li>This button will reset the micro when pressed. This can be useful for starting different programs depending on which SUI button is pressed on | ||
157 | reset.</li> | ||
158 | <li>This is the VS (servo voltage) input. Servo voltage can be 4.8vdc to 7.2vdc. However, some micro servos will not tolerate more than 6vdc. This | ||
159 | input is used to provide power for the servos only, or to provide power to both VL and VS using the VS=VL jumper. See Item 13.<br> | ||
160 | | ||
161 | <table border="1" bordercolor="#000000" width="200"> | ||
162 | <tbody><tr> | ||
163 | <td width="248" align="center" bordercolor="#808080" bgcolor="#C0C0C0" height="14"><b>Board</b></td> | ||
164 | <td width="248" align="center" bordercolor="#808080" bgcolor="#C0C0C0" height="14"><b>Input</b></td> | ||
165 | </tr> | ||
166 | |||
167 | <tr> | ||
168 | <td width="248" align="center" bordercolor="#C0C0C0" height="1">VS +</td> | ||
169 | <td width="248" height="1" align="center" bordercolor="#C0C0C0" bgcolor="#FFFFFF">RED</td> | ||
170 | </tr> | ||
171 | <tr> | ||
172 | <td width="248" align="center" bordercolor="#C0C0C0" height="14">VS -</td> | ||
173 | <td width="248" height="14" align="center" bordercolor="#C0C0C0" bgcolor="#FFFFFF">BLACK</td> | ||
174 | |||
175 | </tr> | ||
176 | </tbody></table> | ||
177 | </li> | ||
178 | <li>This is the VL (logic voltage) input. This input is normally used with a 9vdc battery connector to provide power to the microcontroller and | ||
179 | anything connected to the 5vdc lines on the board. This input can be used to isolate the VL from the VS (servo voltage).<br> | ||
180 | | ||
181 | <table border="1" bordercolor="#000000" width="200"> | ||
182 | <tbody><tr> | ||
183 | <td width="248" align="center" bordercolor="#808080" bgcolor="#C0C0C0" height="14"><b>Board</b></td> | ||
184 | |||
185 | <td width="248" align="center" bordercolor="#808080" bgcolor="#C0C0C0" height="14"><b>Input</b></td> | ||
186 | </tr> | ||
187 | <tr> | ||
188 | <td width="248" align="center" bordercolor="#C0C0C0" height="1">VL +</td> | ||
189 | <td width="248" height="1" align="center" bordercolor="#C0C0C0" bgcolor="#FFFFFF">RED</td> | ||
190 | </tr> | ||
191 | <tr> | ||
192 | |||
193 | <td width="248" align="center" bordercolor="#C0C0C0" height="14">VL -</td> | ||
194 | <td width="248" height="14" align="center" bordercolor="#C0C0C0" bgcolor="#FFFFFF">BLACK</td> | ||
195 | </tr> | ||
196 | </tbody></table> | ||
197 | </li> | ||
198 | <li>This header selects the Logic Power source for the board. Select USB to power the Logic from the onboard USB port | ||
199 | or Select EXT to power the board from the VL terminal.</li> | ||
200 | <li>The Low Dropout regulator will provide 5vdc out with as little as 5.4vdc coming in. This is important when operating your robot from a | ||
201 | battery. It can accept a maximum of 12vdc in. The regulator is rated for 1.5A.</li> | ||
202 | |||
203 | <li>These headers are spaced to accept all Arduino compatible Shields and Extensions.</li> | ||
204 | <li>Status LEDs.<br> | ||
205 | | ||
206 | <table border="1" bordercolor="#000000" width="300"> | ||
207 | <tbody><tr> | ||
208 | <td width="20" align="center" bordercolor="#808080" bgcolor="#C0C0C0" height="14"><b>LED</b></td> | ||
209 | <td width="248" align="center" bordercolor="#808080" bgcolor="#C0C0C0" height="14"><b>Function</b></td> | ||
210 | </tr> | ||
211 | <tr> | ||
212 | <td width="20" align="center" bordercolor="#C0C0C0" height="1">L</td> | ||
213 | <td width="248" height="1" align="center" bordercolor="#C0C0C0" bgcolor="#FFFFFF">Directly connected to P13 on the Arduino chip</td> | ||
214 | </tr> | ||
215 | <tr> | ||
216 | <td width="20" align="center" bordercolor="#C0C0C0" height="14">TX</td> | ||
217 | <td width="248" height="14" align="center" bordercolor="#C0C0C0" bgcolor="#FFFFFF">Blinks when sending data</td> | ||
218 | </tr> | ||
219 | <tr> | ||
220 | <td width="20" height="14" align="center" bordercolor="#C0C0C0">RX</td> | ||
221 | <td height="14" align="center" bordercolor="#C0C0C0" bgcolor="#FFFFFF">Blinks when receiving data</td> | ||
222 | </tr> | ||
223 | </tbody></table> | ||
224 | </li> | ||
225 | <li>This is where the Atmega 328 chip is plugged in. Atmega328 pin map:<br> | ||
![]() |
11.1 | 226 | <br><img border="0" src="https://wiki.lynxmotion.com/info/wiki/lynxmotion/download/servo-erector-set-system/ses-electronics/ses-modules/botboarduino/botboarduino-manual/WebHome/atmega328map.png"> |
![]() |
9.1 | 227 | </li> |
228 | </ol> | ||
229 | |||
230 | <hr width="95%" color="#808080"> | ||
231 | <p><span class="headsm"><a name="aglance">Shorting Bar Jumpers and Connectors at a glance.</a></span></p> | ||
![]() |
11.1 | 232 | <p><img border="0" src="https://wiki.lynxmotion.com/info/wiki/lynxmotion/download/servo-erector-set-system/ses-electronics/ses-modules/botboarduino/botboarduino-manual/WebHome/bbduinom03.png" width="650" height="447"></p> |
![]() |
9.1 | 233 | The Playstation 2 cables' coloring differs from different production runs. Please refer to the diagram below to verify the color coding on your cable.<br> |
234 | |||
![]() |
11.1 | 235 | <p><img border="2" src="https://wiki.lynxmotion.com/info/wiki/lynxmotion/download/servo-erector-set-system/ses-electronics/ses-modules/botboarduino/botboarduino-manual/WebHome/wire08s.gif"><br> |
![]() |
9.1 | 236 | </p> |
237 | <p><span class="headsm"><a name="connections">PS2 / SSC-32 Connections</a></span></p> | ||
![]() |
11.1 | 238 | <p><img border="0" src="https://wiki.lynxmotion.com/info/wiki/lynxmotion/download/servo-erector-set-system/ses-electronics/ses-modules/botboarduino/botboarduino-manual/WebHome/botboarduino-ps2.jpg" width="650"></p> |
239 | <p><img border="0" src="https://wiki.lynxmotion.com/info/wiki/lynxmotion/download/servo-erector-set-system/ses-electronics/ses-modules/botboarduino/botboarduino-manual/WebHome/botboarduino-ssc32.jpg" width="650"></p> | ||
240 | <p><img border="0" src="https://wiki.lynxmotion.com/info/wiki/lynxmotion/download/servo-erector-set-system/ses-electronics/ses-modules/botboarduino/botboarduino-manual/WebHome/botboarduino-ssc-32-ps2.jpg" width="650"></p> | ||
![]() |
9.1 | 241 | <hr width="95%" color="#808080"> |
242 | <p align="center"><span class="headmd"><a name="testcont">Troubleshooting</a></span></p> | ||
243 | <p><span class="headsm"><a name="trouble">General Troubleshooting</a></span></p> | ||
244 | <p>The yellow power (PWR) LED should glow if the regulator is getting the proper power. You must make sure to connect the battery or wall pack with | ||
245 | the proper polarity. This means the red wire is positive (+) and the black wire is ground (-). <font color="#FF0000">If you connect the battery or | ||
246 | wall pack with the polarity reversed, the regulator and the microcontroller can be instantaneously and permanently damaged!</font> Check your wiring | ||
247 | carefully before applying power.</p> | ||
248 | <p><font color="#FF0000">If SSC-32 is connected to RX/TX/Gnd (hardware serial port on pin 0 and 1) it must be removed while programming! This is because the USB port shares the same IO pins.</font></p> | ||
249 | <p>The maximum voltage for VL is 12vdc. If you use a higher voltage the regulator may overheat and you could get burned!</p> | ||
250 | |||
251 | <p>Confirm that the Atmega 328 chip's notch is aligned with the socket's notch.</p> | ||
252 | <p>In the Arduino programming environment, make sure you have selected "Arduino Duemilanove w/ ATmega328".</p> | ||
253 | <p>The Lynxmotion PS2 controller has issues with the analog mode on the Lynxmotoin left pad (often displaying 0 rather than analog values). We suggest using the joysticks as alternative analog inputs.</p> | ||
254 | </div> | ||
255 | |||
256 | |||
257 | |||
258 | |||
259 | </body> | ||
![]() |
1.1 | 260 | {{/html}} |