You are on page 1of 21



Index

AdaFruit motor-shield, 66
„ Numbers adapter boards, IMU, for Seg-bot, 464–465
adapter plates, Servo motor, 266, 272
2.4gHz camera, 79, 318 adapters, programming for RoboBoat robot,
2.4gHz frequency range, 71 367
2.4gHz radio equipment, 296 Add tool, Eagle, 210
2.4gHz R/C system, 520–523 AF motor-shield, 121
3.3v (volt) power, for Seg-bot, 459 AGM (Absorbed Glass Mat) batteries, 111
6v 1000mAh NiCad battery pack, 276 AH (Amp/Hours), 11
8-pin IC sockets, Wally robot, 176 air bubbler, use in etching, 238
10k ohm resistors, 122 air pump, 206
12v (volt) supply, for Seg-bot, 476–477 Allegro Microsystems ACS714 +/-30amp
16MHz resonator, 227, 249 current sensor, 309, 311
22AWG wire, 120 Alternating Current (AC), 10
28DIP socket, 228 aluminum, 114
80mm PC cooling fan, 429 aluminum rear bumper, Bug-bot, 279–280
900mHz video camera, 318 AM (Amplitude Modulation) radio systems, 70
7805 5v regulator, 228 amperage, 9
calculating resistor power using Ohm's law,
„A 13–14
current sensing, 103–104
Absolute Maximum Ratings, datasheet, 16 of DC motors, calculating heat using
Absorbed Glass Mat (AGM) batteries, 111 Rds(On) and, 62–63
AC (Alternating Current), 10 motor, 91–92
AC motors, 83 motor-controller, 104
accelerometers, 76–77, 459–461 overview, 4
gyroscopes versus, 463 Amp/Hours (AH), 11
Seg-bot, weighted average, 463–464 amplifier, 51
accessories, for Lawn-Bot 400 robot, 447–452 Amplitude Modulation (AM) radio systems, 70
dump bucket, 449–450 analog multi-meters, 9
headlights, 448 Analog output signal, ultrasonic range finder
lawnmower kill-switch, 450–451 sensors, 171
painting, 447 analog ports, connecting sensors to, 148
acetone, 205 analog signals, 30–35
ACS-712 bi-directional current sensor, 80–81 duty-cycle, 32–33
ACS714 +/-30amp current sensor, Allegro frequency, 33–34
Microsystems, 309, 311 inputs, 30–31
ACS714 bidirectional +/- 30amp current sensor, outputs, 31–32
430 PWM
ACS-714 current sensor, 104 example, 34–35
actuators, linear, 90–91 overview, 31–32

581
„ INDEX

analogRead( ) command, 30 assembling RoboBoat robot, 340–355, 365–


analogRead(pin) command, 171 367
analogWrite( ) command, 32–33, 51 applying finish, 350
anchors, inserting for RoboBoat robot, 347–348 coating, 348–350
angle-grinders, 114 deck, 351
angles fins, 350
checking readings, 496 inserting foam anchors, 347–348
filtering, 463–464 painting, 351
anodes, 37 programming adapter, 367
antennae sensors segments, 343–347
for Bug-Bot robot, 259–260, 277–278 templates, 340–342
wire connections for, 281 Atmega8 chips, 21
AP_RoboBoat module, for RoboBoat robot, Atmega328 chips, 21–22, 227
370–372 Atmega1280 chips, 22
application notes, semi-conductor, 17 Auto tool, Eagle, 211
Arduino auto_level( ) function, 498–499
Battle-bot, 542 automotive power relay, 52
board design, 523–524 averages, weighted, 463–464
clones axes of rotation, 76
circuits, 247–250 axles
Jduino, 227–228 Battle-bot, 534–554, 557
home page, 20 Lawn-bot rear wheels, 409, 414, 417
IDE, 387–389, 563–564 mounting grooves, Battle-bot, 528–529
mounting, 274–275
playground website, 34
Seg-bot „B
power supply, 459, 477 Back EMF (Back Electro-Motive Force), 16, 57,
wiring connections, 492 95, 101
system timers, 99–101 base, Wally robot frame, 182
Wally robot, 184–186 Base pin, BJT, 59
Arduino primer, 20–35 baseplates, for RoboBoat robot, 357
IDE, 23–24 Basic Micro Robo Claw 2x25 motor controller,
signals, 26–35 428
analog, 30–35 batteries, 107–113, 122
digital, 27–30 amperage, 9
sketches, 24–26 for Battle-Bot, 514, 538–539
loop( ) function, 25–26 bracket for, 301–302
setup( ) function, 24–25 charging, 113
variable declaration, 24 installing, 190–192, 275–277
variants, 20–22 for Lawn-Bot 400 robot, 406
Arduino Mega, 22 Lead-Acid, 110–112
clones, 22 Linus line-bot, 149–150
Standard Arduino, 21–22 LiPo, 109–110
Arduino programming language, 20–24 NiCad, 107
Arduino Protoshield, Seg-bot, 457, 465 NiMH, 108
Arduino SoftwareSerial library, Seg-bot, 476 parallel connections, 14
ArduPilot PCBs, RoboBoat, 362–363, 366–367, in schematics, 43
388, 390, 397–398 for Seg-bot, 456, 475–477
arguments, 193 12v supply, 476–477
armor, for Battle-Bot, 550–551 charging, 476, 483
assemblies, propulsion, 356–361

582
„ INDEX

sealed lead-acid, 475–476 bolts, 115


wiring diagram, 477 Seg-bot, 457, 478
series and parallel connection, 15 using with metal, 114
series connections, 14 bootstrap circuit, 98
battery packs braces, Battle-bot frame, 529–530
Lawn-bot, 419 brackets
propulsion assembly, 395 for battery, 301–302
for RoboBoat robot, 365 Battle-bot weapon mount, 553–554
Battle-Bot, 513–562 for camera, 319–321
armor, 550–551 for Lawn-Bot 400 robot, motor mount, 420–
batteries, 538–539 424
code for, 545–550 mounting Wally robot sensors on, 187–188
combat, 515–517 brakes
rules and regulations, 515 generating, 93–94
unrestricted construction price, 516–517 removal of electric, 467–471
drive train, 532–538 .brd (board layout file), 208
chain tensioning nut, 534–538 breadboards, 40–41
gearing, 533–534 breakout boards, 431–435
electronics, 523–525 broad beam angle, ultrasonic range finders, 75
Arduino board design, 523–524 brushed DC motors, 84–85
motor controllers, 524–525 brushless DC (BLDC) outrunner motor,
securing, 540–544 RoboBoat, 356, 360–361, 365, 396
frame, 525–532 brushless motors, 85–86
buying vs. building, 526–527 Bug-Bot robot, 257–294
wheels, 527–528 antennae sensors for, 259–260, 277–278
input control, 520–523 bumper sensors for, 260, 278–281
parts list for, 517–520 code for, 283–291
weapons, 552–561 complete, 285–291
website, 561 creating delay, 283–284
Battle-box, 541 variables in, 284–285
Battle-kits, 526 frame for, 267–277
baud rate, serial monitor, 317 cutting PlexiGlass, 269–271
beam angles, ultrasonic range finders, 75 installing battery, 275–277
Bi-directional Analog control, Sabertooth 2x25 marking PlexiGlass, 267–269
dual 25-amp motor-controller, 67 mounting Arduino, 274–275
bidirectional spears, Battle-bot, 552–561 mounting caster wheels, 272–274
BioHazard robot, 552 mounting motors, 271–272
Bipolar Junction Transistors (BJTs), 16, 38, 58– parts list for, 260–261
60 reading digital state of Input pin, 258–259
bipolar stepper motors, 87 Servo motors for, 261–267
BJT H-Bridge controlling, 264
circuits, 250–253 converting pulse value to degrees, 265
parts list for, 228 modifying, 261–264
BJTs (Bipolar Junction Transistors), 16, 38, 58– mounting wheels to, 266–267
60 top hat for, 292–294
BLDC (brushless DC) outrunner motor, wire connections, 281–283
RoboBoat, 356, 360–361, 365, 396 building Arduinos, 314
board design, Arduino, 523–524 bump sensors
board editor, 208, 216–226 adding to existing robots, 261
board layout file (.brd), 208 antennae sensors, 259–260, 277–278
boards, IR sensor, 123–132 bump, antennae sensors, 278

583
„ INDEX

bump sensors (cont.) schematic editor, 211–216


connecting switch, 258 transferring, 226–236
overview, 257 IC, 17–18
rear, 260 prototyping, 40–46
bump switches, 72–73 breadboards, 40–41
bumper sensors perf-boards, 41–42
for Bug-Bot robot, 260, 278–281 printed circuit boards, 42–43
wire connections for, 281 soldering, 43–46
schematics, 36–40
for Wally wall-bot, 176–182
„C clones
CAD (computer aided design) program, 203 Arduino
CadSoft Eagle program. See Eagle program circuits, 247–250
calculate_angle( ) function, 496–497 Jduino clone, 227–228
cameras overview, 22
for Explorer-Bot robot, 318–321 closed-circuits, 6–8
brackets for, 319–321 CNC (Computer Numeric Controlled)
pan and tilt, 319 machines, 88
overview, 79 coasting motors, 93
capacitance, 9–10, 61–62 coatings, for RoboBoat robot, 348–350
capacitors, 228 code
Arduino clone, 249 for Bug-Bot robot, 283–291
overview, 9–10 complete, 285–291
in schematics, 38 creating delay, 283–284
for Wally robot, 171, 189 variables in, 284–285
caster wheel, 122, 410 for Explorer-Bot robot, 321–330
cathodes, 37 for Lawn-Bot 400 robot, 442–447
ceramic resonator, 38 for RoboBoat robot
chain, 116 compiling and uploading, 389–390
for Lawn-Bot 400 robot, installing, 424–426 customizing, 390–392
Lawn-bot drive train, 420 for Seg-bot, 493–509
chain tensioning nut, 534–538 auto_level( ) function, 498–499
measuring chains, 536–537 calculate_angle( ) function, 496–497
spacers, 537–538 checking angle readings, 496
threading sequence, 535–536 full, 503–509
Change tool, Eagle, 209 read_pots( ) function, 497–498
channels, failsafe, 436–438 sample_accel( ) function, 494
children, in work space, 49 sample_gyro( ) function, 494–495
circuit boards serial_print_stuff( ) function, 502–503
ArduPilot PCB, for RoboBoat robot, 362–363 time_stamp( ) function, 501–502
printed, 42–43 update_motor_speed( ) function, 499–
circuit design, creating, 203 501
circuitry, internal motor driving, 135–137 for Wally wall-bot, 192–201
circuits, 6–7, 35–46. See also PCBs code listing, Linus, 150–153, 155, 159
boards, layouts for, 208–211 coil resistance, determining, 55
designing, 35–36 Collector pin, BJT, 59
designs for, 206–226 combat, 515–517
board editor, 216–226 rules and regulations, 515
custom, 208–211 unrestricted construction price, 516–517
open-source, 207 comments, in sketches, 26

584
„ INDEX

commercial websites, for gear motors, 92 radio control systems, 69–72


commutators, 84 tethered (wired), 68
Compile button, 23, 26, 321 cooling fans, for motor controller, 429
compiling code, for RoboBoat robot, 389– coordinates, employing Google Earth, 393–396
390 copper clad board, 42
components, through-hole, 18–20 copper clad PCB, 205, 227
IC sockets, 19 Copy tool, Eagle, 209
SMT, 19–20 crossbar, for Explorer-Bot robot, 306–308
computer, for building robot, 47 cross-brackets, Lawn-bot, 414–416
computer aided design (CAD) program, 203 cross-conduction state, 33
computer control of robot. See controls current. See also amperage
Computer Numeric Controlled (CNC) calculating draw, 55–56
machines, 88 DC, motors, 62–63
conductors, 2, 8, 10 sensors, 80–82
connections current flow, in resistance, 10
Arduino breakout board, 433–434 current rating, transistors, 58
electrical, 14–16 current sensing
for Lawn-Bot 400 robot, 441–442 in Explorer-Bot robot, 297
for Linus line-bot, 148–149 for motor controller, 309–430
securing, 431–435 overview, 103–104
between Wally robot Arduino and motor- current-limiting
controller, 184–186 bias resistors, 214
Wally robot motor-controller, 181 Sabertooth 2x25 motor controller, 427
wiring, for Seg-bot, 492–493 Currie Technologies motors, 532
contact sensing, 72–73 cutting
contactor, relay, 52 Battle-bot frame pieces, 528–530
continuous rotation cross-brackets, Lawn-bot, 415
modifying Servo motors for, 132–137 frame risers, Lawn-bot, 416
direct DC drive with external speed main frame rails, Lawn-bot, 415
controller, 133–135 metal, 114
pulse drive with internal motor driving plexiglass, 267
circuitry, 135–137 segments, for RoboBoat robot, 343–345
Servo motor, 90, 261–265 cycle time, 462
control protocol, alternate control, 566–567 cycle_val variable, 35
controls
alternate, 563–579
control protocol, 566–567 „D
joysticks, 565, 572 D13 LED, Arduino clone, 249
parts list for, 564 dannyg.com website, 11
Processing tool, 563–566 datasheets, 16–17
protocol, 566–567 DC (Direct Current), 8
selecting input, 565 drivers, with external speed controller, 133–
sketches, 567–579 135
USB controllers, 565–574 motors
Xbee radios, 579 amperage of, 62–63
Explorer-bot motor, 297 assembly, Battle-bot, 555
motor, 524–525. See also H-bridges controlling using SPDT switches, 55
rudder, customizing for RoboBoat robot, debug( ) command, 572
391 debug module, for RoboBoat robot, 372–374
user, 68–72 deck, of RoboBoat robot, 351
IR, 68–69

585
„ INDEX

decoding R/C channels, 431 installing chain, 424–426


decoding signals, with Processing tool, 563–564 motor mount brackets, 420–424
deep-cycle lead-acid batteries, 110, 406 drive wheels, 122, 137–141
degrees, converting pulse value to, 265 drivers
delay, creating, 283–284 DC, with external speed controller, 133–135
delay( ) function, 283 pulse, with internal motor driving circuitry,
Delete tool, Eagle, 209 135–137
designs driving motors, 91–92
for Bug-bot hat, 292–293 DSO Nano digital oscilloscope, 12
for RoboBoat robot, 338–340 dump-bucket, for Lawn-Bot 400 robot, 406,
DFRobot.com web site, 182 449–450
digital outputs, Wally robot, 185 duty-cycles, 32–33, 35–40, 92
digital signals, 27–30 Dynam Supermate DC6 multi-function battery
external interrupts, 28–30 charger, 113
inputs, 27
outputs, 27–28
digital state of Input pin, reading, 258–259 „E
digitalRead( ) command, 27–28, 73, 283 Eagle CAD program, 36
digitalRead(pin) command, 258 Eagle PC board layout file, Battle-bot Arduino,
digitalWrite( ) command, 51, 258 524
diode, Back-EMF and, 57 Eagle program, 204, 206–211
diodes eBay, 517
BJT H-bridge, 251 editors
defined, 16 board, 216–226
protection, H-bridges, 95, 101 schematic, 211–216
in schematics, 37 electric brakes, removal, 467–471
DIP switches electric drills, 47
Sabertooth 2x25 motor controller, 428 electric motors, 83–92
Sabertooth 2x25 motor controllers, 524 brushed DC, 84–85
Direct Current. See DC brushless, 85–86
disarm switch, Battle-bot weapon, 545 calculating power, 91
distance sensing, 73–76 driving, 91–92
IR sensor, 73–75 finding, 92
laser range finder, 75–76 gear, 88
ultrasonic range finder, 75 linear actuators, 90–91
DPDT (Double Pole, Double Throw) relay, 54, Servo, 88–90
96–97 stepper, 86–87
DPST (Double Pole, Single Throw) relay, 54 electric scooter motors, 532
Drain pin, MOSFET, 60 Electrical Characteristics section, datasheet, 17
draw( ) function, 571 electric-braking, 93–94
Dremel tool, 144, 422 electricity, 2–15
drift, 77, 462 analogy, 3
drilling, PCBs, 245–246 basics, 4–6
drills, electric, 47 calculating resistor power using Ohm's law,
drive trains, 532–538 11–12
chain tensioning nut, 534–538 circuits, 6–7
measuring chains, 536–537 connections, 14–16
spacers, 537–538 parallel, 14–15
threading sequence, 535–536 series, 14–15
gearing, 533–534 loads, 13
for Lawn-Bot 400 robot, 420–426

586
„ INDEX

measuring expanded Polystyrene (EPS), RoboBoat, 335


amperage, 9 Explorer-Bot robot, 295–330
capacitance, 9–10 camera for, 318–321
multi-meters, 7–8 brackets for, 319–321
resistance, 10–11 pan and tilt, 319
voltage, 8–9 code for, 321–330
oscilloscopes, 12–13 current sensing in, 297
Electro-Motive Force (EMF), backwards, 57 frame for, 300–308
electron-flow theory, 6 battery bracket, 301–302
Electronic Speed Controller (ESC), for crossbar and caster wheels, 306–308
RoboBoat, 65–67, 105, 364, 397–398, 523 cutting and bending main piece, 304–
electronic switches, 15–16 306
electronics, 15–20 cutting top frame braces, 303–304
for Battle-Bot, 523–525 cutting top frame brackets, 303
Arduino board design, 523–524 plexiglass deck, 308
motor controllers, 524–525 specs, 300–301
securing, 540–544 motor controller for, 308–313
datasheets, 16–17 current sensing and limiting, 309
ICs, 17–18 H-bridge design of, 309–313
installing Seg-bot, 488–493 motors for, 297
soldering inputs, 491–492 parts list for, 298–300
wiring connections, 492–493 R/C control, 296–297
for RoboBoat robot, 361–367 setting up Arduino, 313–315
ArduPilot PCB, 362–363 setting up Xbee, 315–318
assembling, 365–367 video-enabled, 297
battery pack, 365 Xbee-enabled, 297–298
ESC, 364 Extech MN16a digital multi-meter, 9
GPS module, 363–364 extents, customizing for RoboBoat robot, 392
motor, 365 external interrupts, 28–30
rudder Servo, 365 extruded Polystyrene (XPS), RoboBoat, 335,
semi-conductors, 16 339, 351
through-hole components, 18–20
IC sockets, 19
SMT, 19–20 „F
electronics-tutorials.ws website, 4 failsafe
EM406 GPS module, RoboBoat, 364, 369 Battle-bot, 523, 545
EM406 GPS sensor, 78 Lawn-Bot 400, 407, 435–441
EMF (Electro-Motive Force), backwards, 57 avoiding R/C failsafe, 440–441
Emitter pin, BJT, 59 power relays, 439–440
engage switch, 455–456, 483, 486 R/C toggle switch, 436–438
epoxy resin, for RoboBoat robot, 336, 349–351 female headers, 228
EPS (expanded Polystyrene), RoboBoat, 335 fiberglass fabric, for RoboBoat robot, 336–338,
EPS/XPS board. See Styrofoam board 349
ESC (Electronic Speed Controller), for fighting robots. See Battle-bot
RoboBoat, 65–67, 105, 364, 397–398, 523 files, header, 386
etchant solutions, 204 filtering, angle, 463–464
etching PCBs, 236–245 finishes, for RoboBoat robot, 350
measuring solution for, 237 fins, for RoboBoat robot, 350
method 1, 238–239 Fly Sky CT-6 transmitter, 520–523
method 2, 239–242 FM (Frequency Modulation) radio systems, 70
removing toner, 242–245

587
„ INDEX

foam anchors, for RoboBoat robot, 347–348, gearing, 533–534


350 calculating gear ratio, 533
four-wheel drive, Battle-bot, 513–514 modifications, 533–534
frames gel-cell lead-acid batteries, 111
for Battle-Bot, 514, 525–532 Global Positioning Satellite systems. See GPS
buying vs. building, 526–527 systems
wheels, 527–528 glossy magazine paper, 205
for Bug-Bot robot, 267–277 gloves, for RoboBoat robot, 336
cutting PlexiGlass, 269–271 gluing
installing battery, 275–277 for RoboBoat robot, 338
marking PlexiGlass, 267–269 segments, for RoboBoat robot, 346–347
mounting Arduino, 274–275 templates on Styrofoam board, for
mounting caster wheels, 272–274 RoboBoat robot, 342–343
mounting motors, 271–272 GND (ground wire), 6, 39, 278
for Explorer-Bot robot, 300–308 GND bolt, antennae sensors, 259, 278
battery bracket, 301–302 Goodman, Danny, 11
crossbar and caster wheels, 306–308 Google Earth, 393–396
cutting and bending main piece, 304– GPS (Global Positioning Satellite) systems
306 modules, for RoboBoat robot, 363–364
cutting top frame braces, 303–304 receivers, for RoboBoat robot, 368–369
cutting top frame brackets, 303 RTK, 78
plexiglass deck, 308 GPS sensor, 76
specs, 300–301 Ground plane, 222–223
for Lawn-Bot 400 robot, 406, 412–419 ground wire (GND), 6, 39, 278
for Linus line-bot, 141–147 Group tool, Eagle, 208–209
for Seg-bot, 477–482 gyro_scale variable, Seg-bot, 496
building, 479–482 gyroscopes, 77, 461–462
design, 478 versus accelerometers, 463
for Wally wall-bot, 182–187 cycle time, 462
freeware version, Eagle program, 206 drift, 462
free-wheeling hub assembly, Battle-bot, 527 Seg-bot, cycle time, 463
frequencies, 33–34 Seg-bot, weighted average, 463–464
changing PWM, 99–101 starting point, 462
homemade PWM example, 35–40
ranges, 71
Frequency Modulation (FM) radio systems, 70 „H
Fritzing program, 36–42 handle_command function, 579
FTDI programming cable, 21, 227–228, 313 Harbor Freight tools, 245, 408
functions, Wally robot, 192–193 hardware, required for building robots, 46–48
H-bridges (half-bridge circuits), 92–93
„G Back EMF, 101
changing PWM frequencies, 99–101
gains, 455, 483 circuits, BJT, 250–253
Gate pin, MOSFET, 60 commercial, 104–107
gear motors large (over 10amps), 106–107
finding, 92 medium (up to 10amps), 105
overview, 88 small (up to 3amps), 104–105
Servo motor as, 90 connecting to Arduino, 314–315
gear ratio, 88

588
„ INDEX

current sensing, 103–104 inductive loads, 13


design of motor controller, 309–313 Inertial Measurement Unit (IMU) board, Seg-
DPDT Relay with simple switch, 96–97 bot, 455, 459–461, 464–465
electric-braking, 93–94 infrared emitting diode (IRED), 69
generating brake, 93–94 infrared light. See IR light
ICs, 98 init module, for RoboBoat robot, 374–375
implementation, 94–95 input control, for Battle-Bot, 520–523
N-channel H-bridge, 98 Input pins
P-channel and N-channel mosfets, 97 antennae sensors, 259
simple switches, 95 reading digital state of, 258–259
motor controller circuits, 207 wire connections for, 281
p-channel and n-channel mosfets, 97 inputs
schematics, 215 analog, 30–31
using simple switches, 95 digital, 27
for Wally robot, 171–182 for Seg-bot, 483–488
header files, for RoboBoat robot, 386 engage switch, 483
headers, for Wally robot motor-controller, 180– gain, 483
181 level-start, 483–484
headlights, for Lawn-Bot 400 robot, 406–407, mounting to frame, 484–488
448 soldering, 491–492
heat steering, 483
calculating using Rds(On) and amperage of selecting, 565
DC motor, 62–63 installing Eagle program, 207
in electricity, 2 insulators, 10
heat sink, MOSFET, 62 int variable, millis( ) system timer, 284
HIGH state Integrated Circuits. See ICs
digital signal, 27 Integrated Development Environment (IDE),
Input pin, 258–259 20, 23–24
high-side switches, 57–58, 174 integrating RoboBoat robot system, 397–399
hobby radio control systems, 296 interfacing, 51–67
hobby Servo motors, 121 motor-controller, 65–67
holders, battery, 191 relays, 52–58
homemade Arduino boards, 21 Back-EMF considerations, 57
horns, for RoboBoat robot, 360 calculating current draw, 55–56
housings, for Battle-Bot electronics, 541 configurations of, 53–54
hydrogen peroxide solution, 205, 236 solid-state switches, 57–58
types of, 52–53
uses for, 55
„I transistors, 58–64
IC sockets, Wally robot, 176 BJT, 58–60
ICs (Integrated Circuits), 17–18, 65–67 MOSFETs, 60–64
ICs (integrated Circuits), 98 photo-transistors, 64
ESCs, 66–67 internal pull-up resistors, 258, 278
packages, 18 Interrupt Service Routine (ISR), 28–30
sockets, 19 interrupts, external, 28–30
IDE (Integrated Development Environment), Intersil HIP4081 H-bridge driver, 106
20, 23–24 IR (infrared) light
if statement, 28 control using, 68–69
IMU (Inertial Measurement Unit) board, Seg- sensor board, 123–132
bot, 455, 459–461, 464–465 sensors, 73–75
IR emitter/detectors, 121

589
„ INDEX

IRED (infrared emitting diode), 69 headlights for, 406–407


iron, 205 lawn mower deck for, 405
ISR (Interrupt Service Routine), 28–30 motor controller, 427–430
cooling fans for, 429
current sensor for, 430
„J Sabertooth 2x25, 427–429
Jduino Arduino clone, 227–228 parts list for, 407–408
jigsaws, 47 wheels for, 408–412
joysticks are pneumatic tires, 406
alternate control, 565, 572 front, 409
FlySky CT-6, 521 rear, 409–410
sprockets for, 410–412
LDRs (Light Dependent Resistors), 16
„K Lead-Acid batteries, 110–112, 475–476
LEDs (light emitting diodes), 16, 37, 122, 157–
Kalman filter, Seg-bot, 465 159
kill-switch, for lawnmower, 450–451 level-start input, 483–484
.kml file format, RoboBoat, mission planning, Light Dependent Resistors (LDRs), 16
394–395 light emitting diodes (LEDs), 16, 37, 122, 157–
Kv rating, BLDC motors, 85 159
lights, LED, 157–159
„L linear actuators, 90–91, 450
Linus line-bot, 119–166
L293D H-bridge IC chip, 98, 104 add-ons for, 157–166
L298N H-bridge IC chip, 98, 104 LED lights, 157–159
laser printer, 203–205 painting, 160–163
laser range finders, 75–76 speed regulator (potentiometer), 164–
Latching relay, 53 166
launching RoboBoat robot, 399–400 batteries, 149–150
lawn mower, Lawn-bot, 418 code for, 150–155
Lawn-Bot 400 robot, 403–452 connections, 148–149
accessories for, 447–452 fitting drive wheels, 137–141
dump bucket, 449–450 frame of, 141–147
headlights, 448 how bot works, 122–123
lawnmower kill-switch, 450–451 IR sensor board, 123–132
painting, 447 modifying Servo motor for continuous
Arduino, 430–435 rotation, 132–137
building breakout board, 431–435 direct DC drive with external speed
securing connections, 431–435 controller, 133–135
batteries for, 406 pulse drive with internal motor driving
code for, 442–447 circuitry, 135–137
connections for, 441–442 parts list for, 120–122
drive-train, 420–426 testing, 157
installing chain, 424–426 track, 123, 155–156
motor mount brackets, 420–424 LiPo (Lithium Polymer) batteries, 109–110, 514,
dump-bucket for, 406 538–539
failsafe, 407, 435–441 lithium batteries, 113
avoiding R/C failsafe, 440–441 LM7805 linear voltage regulator chip, 39
power relays, 439–440 loads, 6–8, 13
R/C toggle switch, 436–438 logic-level MOSFETs, vs. standard MOSFETs, 61
frame for, 406, 412–419 long variable, millis( ) system timer, 285

590
„ INDEX

loop( ) function, 25–26, 192, 370 MOSFETs (Metal-oxide Semi-Conductor Field


LOW state Effect Transistors), 60–64
digital signal, 27 capacitance of, 61–62
Input pin, 258–259 Explorer-bot H-bridge, 309–311
low-side switches, 57–58, 174–176 H-bridges, 95–97
logic-level vs. standard, 61
Open Source Motor Controller, 106–107
„M parallel, 63–64
M5 bolts with eyes, RoboBoat, hull, 352–353, P-channel and N-channel, 97
356 Rds(On), 62
magnetic intervals, stepper motor, 87 for Wally robot, 171–172, 174–178
mAH (milliamp/hours), 9 motion
main frame rails, Lawn-bot, 414–416, 422–423 batteries, 107–113
Main Loop, Seg-bot, 493 charging, 113
male headers, Arduino clone, 249 Lead-Acid, 110–112
master (universal) chain links, 424–425 LiPo, 109–110
materials, 48, 114–117 NiCad, 107
chain and sprockets, 116 NiMH, 108
metals, 114 electric motors, 83–92
nuts and bolts, 115 brushed DC, 84–85
PCB, 205 brushless, 85–86
plastics, 116 calculating power, 91
wheels, 116–117 driving, 91–92
wood, 114 finding, 92
Maxbotics sensors, 171, 189–190 gear, 88
MaxBotix LV-EZ0 ultrasonic range finder, 79 linear actuators, 90–91
measurement terms, electrical, 5 Servo, 88–90
mechanical switches, 15 stepper, 86–87
Mega, Arduino, 20, 22 H-bridges, 92–107
memory, NiCad batteries, 107 Back EMF, 101
Metal-oxide Semi-Conductor Field Effect changing PWM frequencies, 99–101
Transistors. See MOSFETs commercial, 104–107
metals, 48, 114 current sensing, 103–104
micro drill bits, 206 generating brake, 93–94
milliamp/hours (mAH), 9 ICs, 98
millis( ) main system timer value implementation, 94–98
creating delay with, 284 materials, 114–117
variables, 284–285 chain and sprockets, 116
Mirror tool, Eagle, 209, 213 metals, 114
mission planning, for RoboBoat robot, 392–396 nuts and bolts, 115
mode switch, Bug-bot, 277 plastics, 116
modules wheels, 116–117
AP_RoboBoat, for RoboBoat robot, 370–372 wood, 114
debug, for RoboBoat robot, 372–374 motor controllers. See also H-bridges
init, for RoboBoat robot, 374–375 for Battle-Bot, 524–525, 542
navigation, for RoboBoat robot, 375–382 for Explorer-Bot robot, 308–313
PID_control, for RoboBoat robot, 382–383 current sensing and limiting, 309
Servo_control, for RoboBoat robot, 384–386 H-bridge design of, 309–313
momentary button switches, 37 interfacing IC, 65–67

591
„ INDEX

motor controllers (cont.) cross-brackets, Lawn-bot, 416


for Lawn-Bot 400 robot, 427–430 dump bucket, Lawn-bot, 449
cooling fans for, 429 frame pieces, Battle-bot, 530–531
current sensor for, 430 frame risers, Lawn-bot, 416
Sabertooth 2x25, 427–429 holes, Battle-bot motor, 528–529
PWM frequencies, changing, 99–101 Lawn-bot rear wheel axle, 417
for Seg-bot, 472–475 motor-controller and Arduino to frame,
Sabertooth simplified Serial protocol, Wally robot, 184
474–475 motors to brackets, Lawn-bot, 421
SoftwareSerial library, 473–474 position, for Seg-bot motor, 471–472
varying voltage with, 91 robot sensors, Wally, 187–190
for Wally bot, 171, 184–186 Servo motors, Explorer-bot, 320–321
for Wally wall-bot, 173–182 sprockets, Lawn-bot, 411
circuit, 176–182 weapon pieces, Battle-bot, 553–555
switches, 174–176 Move tool, Eagle, 209
motor drive circuitry, Servo motor, 88 mower deck, Lawn-bot, 418
motor driving circuitry, internal, 135–137 multi-meters, 7–8
motor output, testing Lawn-bot, 426 for building robot, 47
motor terminals measuring amperage with, 9
electric-braking, 93–94 measuring capacitance with, 9
H-bridges, 92–93 measuring resistance with, 11
motor-mounting holes, Battle-bot, 528–529 measuring voltage with, 8
motors muriatic acid, 204–205, 236
Battle-bot, 530, 532, 555
DC, calculating heat using Rds(On) and
amperage of, 62–63 „N
electric, 83–92 Name tool, Eagle, 210
brushed DC motors, 84–85 narrow beam angle, ultrasonic range finders, 75
brushless motors, 85–86 navigation module, for RoboBoat robot, 375–
calculating power, 91 382
driving, 91–92 NC (Normally-Closed) relay, 53
finding, 92 N-channel H-bridges, 98
gear motors, 88 N-channel mosfets, 97, 309, 314
linear actuators, 90–91 power relay, Lawn-bot, 439
Servo motors, 88–90 for Wally robot, 174–179
stepper motors, 86–87 negative end of electrical systems, 6
for Explorer-Bot robot, 297 Negative Positive Negative (NPN) resistor, 59
Lawn-bot, 404–405, 450 Net tool, Eagle, 208, 210
RoboBoat robot, 360–361, 365 New button, Arduino IDE toolbar, 23
customizing speed, 391 NiCad (Nickel Cadmium) batteries, 107
not starting, 401–402 NiMH (Nickel Metal Hydride) batteries, 108
in schematics, 39 NMEA-parser, RoboBoat, programming, 375
for Seg-bot, 456, 465–472 NO (Normally-Open) relay, 53
electric brake removal, 467–471 non-autonomous sensing, 79–82
mounting position, 471–472 cameras, 79
specifications, 467 current sensors, 80–82
Wally robot, 182 Non-latching relay, 53
mounting Normally-Closed (NC) relay, 53
battery, Bug-bot, 275 Normally-Open (NO) relay, 53
battery bracket, Explorer-bot, 301–302 NPN (Negative Positive Negative) resistor, 59
bumper sensors, 279–280

592
„ INDEX

NPN transistors, 38, 253 for Lawn-Bot 400 robot, 407–408


nuts, 115 for Linus line-bot, 120–122
for RoboBoat robot, 332–338
epoxy resin, 336
„O fiberglass fabric, 336–337
Ohm's law gloves, 336
calculating resistor power using, 11–12 glue, 338
overview, 4 paintbrush, 338
On-State Resistance (Rds(On)), 62 polystyrene foam, 335
Open button, Arduino IDE toolbar, 23 sanding paper, 338
Open Source Motor Controller (OSMC), 98, Styrofoam cutter and razor knife, 338
106–107, 207, 525, 542 for Seg-bot, 456–457
open-circuits, 6–8 for Wally wall-bot, 172–173
open-source circuit designs, 207 PC game controllers, 565
optical-isolator, 64 PCBs (printed circuit boards), 42–43, 203–256
orientation (position) sensing, 76–78 circuit designs, 206–226
accelerometer, 76–77 board editor, 216–226
GPS systems, 78–79 custom, 208–211
gyroscope, 77 open-source, 207
IMU, 77 schematic editor, 211–216
oscilloscopes, 12–13 transferring, 226–236
OSMC (Open Source Motor Controller), 98, description of, 203–204
106–107, 207, 525, 542 drilling, 245–246
output duty-cycle, 92 etching, 236–245
output shaft, Servo motor, 89, 263 measuring solution for, 237
outputs method 1, 238–239
analog, 31–32 method 2, 239–242
digital, 27–28 removing toner, 242–245
over-current protection feature, 103–104 Explorer-bot, 311–312
over-travel switch, 72 Lawn-bot, 435
required materials, 204–206
soldering, 246–253
„ P, Q Arduino clone circuit, 247–250
BJT H-bridge circuit, 250–253
packages, 18 testing, 253–256
paint, spray, 122 P-channel mosfets, 97, 174–178, 309, 314
paintbrushes, for RoboBoat, 338 perf-boards, 41–42
painting perforated prototyping board, 122, 431–432
Lawn-Bot 400 robot, 447 Permanent Magnet Direct Current (PMDC)
Linus line-bot, 160–163 motor. See brushed DC motor
RoboBoat robot, 351 photo-transistors, 58, 64
pan, for camera, 319 PID (proportional-integrator-derivator)
paper templates, RoboBoat, 342–344 constants, customizing for RoboBoat robot,
paper towels, 206 391
parallel connection, 14–15 PID_control module, for RoboBoat robot, 382–
parallel MOSFETs, 63–64 383
parts lists pinions, 533
for alternate controls, 564 pinMode( ) command, 24, 27, 258
for Battle-Bot, 517–520 pivots, for RoboBoat robot, 358
for Bug-Bot robot, 260–261 planning mission, for RoboBoat robot, 392–396
for Explorer-Bot robot, 298–300 plastics, 48, 116

593
„ INDEX

PlexiGlass, 116 processing tool


for Bug-bot hat, 292–293 decoding signals with, 563–564
cutting, 267, 269–271 prerequisites for, 566
for Explorer-Bot robot, deck, 308 proCONTROLL library, 566
marking, 267–269 programming adapters, for RoboBoat robot,
mounting motors to, 271 367
PMDC (Permanent Magnet Direct Current) programming language, Arduino, 20–24
motor. See brushed DC motor programming port, Arduino breakout board,
pneumatic tires, Lawn-bot, 408 433
PNP (Positive Negative Positive) resistor, 59 project boxes
PNP transistors, 38 Explorer-bot, 315
polarity, motor terminal, 92–95 Seg-bot, 457, 488–489
Pololu 24v23 CS motor controller, 428 propeller, RoboBoat, 356, 361, 401
Pololu ACS-714, +/-30A current sensor IC, proportional-integrator-derivator (PID)
430 constants, customizing for RoboBoat robot,
Polygon tool, Eagle, 210 391
polystyrene foam, for RoboBoat robot, 335 propulsion assembly, for RoboBoat robot, 356–
pooling solder, 45 361
position (orientation) sensing, 76–78 baseplate, 357
accelerometer, 76–77 motor, 360–361
GPS systems, 78–79 pivot, 358
gyroscope, 77 pushrods, 361
IMU, 77 rudder horns, 360
positive end of electrical systems, 6 Servo, 361
Positive Negative Positive (PNP) resistor, 59 tube, 359
potentiometers (speed regulators), 122, 164– protection diodes, H-bridges, 95, 101
166, 253 protocols, 566–567
overview, 30 prototyping, 40–46
in schematics, 38 breadboards, 40–41
Seg-bot, 455–456, 483–485 perf-boards, 41–42
Servo motor, 261–265 printed circuit boards, 42–43
power soldering, 43–46
calculating, 91 pull-down resistors, 61, 179
DC motor, 85 pull-up resistors, for Wally robot, 178
gear motor, 88 pulse drive, with internal motor driving
linear actuator, 91 circuitry, 135–137
motor, 92 pulse signal, Servo motor, 264, 283–284
resistors, 11–12 pulse value, converting to degrees, 265
power relays, 52, 439–440, 442 Pulse Width Modulation. See PWM
power supply connection, R/C receiver, pulseIn( ) command, 27
297 push-button switches, Seg-bot, 455–456
power switches, 122 push-pull driver, 92
Bug-bot, 276 pushrods, RoboBoat, 356, 361
Explorer-bot, 329 PVC foam sheets, RoboBoat, 339–340, 350, 357
installing, for Wally wall-bot, 190–192 PVC plastic, 116
for Linus line-bot, 150 PVC tube, RoboBoat, 356–359
pressure, water tank electricity example, 3 PWM (Pulse Width Modulation)
printed circuit boards. See also PCBs changing frequencies, 99–101
processing sketch, 567–574 example, 34–35
explanation of, 570–571 overview, 31–32
testing, 572–574 PWM pins, 314

594
„ INDEX

PWM signal, 92, 96–97, 174 calculating current draw, 55–56


PWM switching speeds, 313 configurations of, 53–54
solid-state switches, 57–58
types of, 52–53
„R uses for, 55
radio control systems, 69–72 Reset button, Arduino, 228, 249
AM, 70 resistance, 10–11
FM, 70 in electricity, 2, 4
Spread Spectrum, 71 measuring with multi-meters, 7
Xbee, 71–72 On-State. See Rds(On)
Radio Shack, 190–191 water tank electricity example, 3
radius, waypoint, 392 resistive loads, 13
ramming spears, Battle-bot, 552–561 resistor divider, Servo motor, 90, 262
range detection sensors, 73 resistors, 214
range finders calculating power of using Ohm's law, 11–
laser, 75–76 12
ultrasonic, 75 current sensing with, 104–106
Ratsnest button, Wire tool, 220, 223 overview, 10–11
Ratsnest tool, Eagle, 211 in schematics, 37
razor knives, for RoboBoat robot, 338 for Wally robot, 178–180
R/C channels, Arduino decoding of, 431 RioBotz team, 561
R/C control Ripup tool, Eagle, 210
Battle-bot, 520–523, 542 risers, Lawn-bot frame, 414, 416
Explorer-Bot robot, 296–297 RoboBoat robot, 331–402
Sabertooth 2x25 dual 25-amp motor- assembling, 340–355
controller, 67 applying finish, 350
R/C mode, Sabertooth 2x25 motor controller, coating, 348–350
428 deck, 351
R/C radio system, interrupts, 29–30 fins, 350
R/C receivers, 27 inserting foam anchors, 347–348
R/C toggle switch, for Lawn-Bot 400 robot painting, 351
failsafe, 436–438 segments, 343–347
Rds(On) (On-State Resistance), 62 templates, 340–342
read_pots( ) function, 497–498, 502 design, 338–340
Real Time Kinetic (RTK) Global Positioning electronics, 361–367
Satellite (GPS) systems, 78 ArduPilot PCB, 362–363
rear wheel axle, Lawn-bot, 417 assembling, 365–367
Receiver (Rx), radio system, 69–70, 296–297, battery pack, 365
329, 431 ESC, 364
receivers, R/C, 27 GPS module, 363–364
reciprocating saws, 47, 114 motor, 365
Rectangle tool, Eagle, 210 rudder Servo, 365
reflection sensing, 73–76 integrating system, 397–399
IR sensor, 73–75 launching, 399–400
range finders mission planning, 392–396
laser, 75–76 parts list for, 332–338
ultrasonic, 75 epoxy resin, 336
relay datasheet, 56 fiberglass fabric, 336–337
relays, 52–58 gloves, 336
Back-EMF considerations, 57 glue, 338
paintbrush, 338

595
„ INDEX

RoboBoat robot, parts list for (cont.)


polystyrene foam, 335
„S
sanding paper, 338 Sabertooth 2x25 motor controllers, 66–67, 427–
Styrofoam cutter and razor knife, 338 429, 441–442, 524, 542
propulsion assembly, 356–361 Sabertooth 2x50HV motor controllers, 525
baseplate, 357 Sabertooth simplified Serial protocol motor
motor, 360–361 controller, 474–475
pivot, 358 safety
pushrods, 361 Battle-bot, 515
rudder horns, 360 work space, 49
Servo, 361 salvaging motors, 92
tube, 359 sample_accel( ) function, 494
software, 369–386 sample_gyro( ) function, 494–495
AP_RoboBoat module, 370–372 sanding paper, RoboBoat, 338, 347
debug module, 372–374 Save button, Arduino IDE toolbar, 23
GPS receivers, 368–369 saws, 47, 114
header files, 386 .sch (schematic file), 208
init module, 374–375 schematic editor, 208, 211–216
installing, 387–392 schematic file (.sch), 208
navigation module, 375–382 schematics, 35–40, 208
PID_control module, 382–383 Arduino breakout board, 433–434
Servo_control module, 384–386 Lawn-bot dump bucket motor, 450
troubleshooting, 400–402 scotch-brite abrasive pad, 205
insufficient thrust, 400–401 screw terminals, perf-board Arduino, 432
motor not starting, 401–402 Sealed Lead Acid (SLA) batteries, 111, 539
robogames.net website, 561 sealed lead-acid batteries, 475–476
Robot Marketplace, 561 Seg-bot, 453–511
robotcombat.com web site, 515 batteries, 475–477
robotics-society.org website, 561 12v supply, 476–477
RobotMarketplace.com, 526 charging, 476
robots, 46–49 sealed lead-acid, 475–476
hardware required for building, 46–48 code for, 493–509
materials, 48 auto_level( ) function, 498–499
work area, 48–49 calculate_angle( ) function, 496–497
rosin-core solder, 43, 120 checking angle readings, 496
Rotate tool, Eagle, 209 full, 503–509
rotation read_pots( ) function, 497–498
axes of, 76 sample_accel( ) function, 494
continuous sample_gyro( ) function, 494–495
modifying Servo motors for, 132–137 serial_print_stuff( ) function, 502–503
Servo motors, 90, 261–264 time_stamp( ) function, 501–502
RTK (Real Time Kinetic) GPS (Global update_motor_speed( ) function, 499–
Positioning Satellite) systems, 78 501
rubber gloves, 206 frame, 477–482
rudders, for RoboBoat robot building, 479–482
customizing control, 391 design, 478
extents, 392 how it works, 455–456
horns, 360 engage switch, 455–456
Servos, 365 IMU, 455
Rx (Receiver), radio system, 69–70, 296–297, steering and gain, 455
329, 431

596
„ INDEX

image of, 454, 510 antennae sensors, 259–260, 277–278


IMU adapter board, 464–465 bump
inputs, 483–488 adding to existing robots, 261
engage switch, 483 antennae sensors, 259–260, 277
gain, 483 connecting switch, 258
level-start, 483–484 overview, 257
mounting to frame, 484–488 rear, 260
steering, 483 wire connections for, 281–283
installing electronics, 488–493 bumper, 260, 278–281
soldering inputs, 491–492 filtering angle, 463–464
wiring connections, 492–493 gyroscope, 461–463
motor controller, 472–475 versus accelerometer, 463
Sabertooth simplified Serial protocol, cycle time, 462
474–475 drift, 462
SoftwareSerial library, 473–474 starting point, 462
motors, 465–472 installing, for Wally wall-bot, 187–190
electric brake removal, 467–471 positioning in sensor board, 127
mounting position, 471–472 ultrasonic range finder, 169–171, 187–190,
parts list for, 456–457 193–195
safety, 453 Serial command, Sabertooth 2x25 dual 25-amp
sensors, 457–464 motor-controller, 67
3.3v power, 459 serial data transfer, 27
accelerometer, 459–461 serial monitor
filtering angle, 463–464 Arduino IDE, 24
gyroscope, 461–462 testing Xbee connection, 317
testing, 509 ultrasonic range finder sensors, reading, 171
segments, for RoboBoat robot Serial protocol, simplified, 474–475
cutting out, 343–345 serial_print_stuff( ) function, 502–503
gluing together, 346–347 Serial.begin( ) command, 31
semi-conductors Series 1 Xbee radios, 315–316
datasheets, 16–17 Series 2.5 Xbee radios, 316
Integrated Circuits, 17 series connection, 14–15
packages, 18 Servo motors, 88–90, 261–267
through-hole components, 18–22 Bug-bot, 261
sensor boards, IR, 123–132 continuous rotation, 90
sensor navigation, 72–82 controlling, 264, 283
contact, 72–73 converting pulse value to degrees, 265
distance and reflection, 73–76 creating delay for, 283–284
IR sensor, 73–75 Explorer-bot, 319–321, 329
range finders, 75–76 modifying, 261–264
non-autonomous, 79–82 modifying for continuous rotation, 132–137
cameras, 79 direct DC drive with external speed
current sensors, 80–82 controller, 133–135
orientation (positioning), 76–78 pulse drive with internal motor driving
accelerometer, 76–77 circuitry, 135–137
GPS systems, 78–79 modifying to operate as gear motor, 90
gyroscope, 77 mounting, 271–272
IMU, 77 mounting wheels to, 137, 266–267
sensors, 457–464 propulsion assembly, 356, 365
3.3v power, 459 Servo pulse signal, 66–67
accelerometer, 459–461 Servo signals, 27

597
„ INDEX

Servo_control module, for RoboBoat robot, AP_RoboBoat module, 370–372


384–386 debug module, 372–374
Servo.h Arduino library, 265, 283 GPS receivers, 368–369
Servos header files, 386
for RoboBoat robot, 361 init module, 374–375
rudder, for RoboBoat robot, 365 installing, 387–392
setup( ) function, 24–25, 27, 99, 185, 258, 370, navigation module, 375–382
570 PID_control module, 382–383
Sharp GP2 series, sensors, 73–74 Servo_control module, 384–386
shoot-through, 33 SoftwareSerial library, 473–474
short-circuits, 6, 93 solder-bridge, 128
signal loss, FlySky CT-6, 521 soldering, 43–46
signal relays, 52 inputs, for Seg-bot, 491–492
signal-buffer, 51 PCBs, 246–253
signals, 26–35 Arduino clone circuit, 247–250
analog, 30–35 BJT H-bridge circuit, 250–253
duty-cycle, 32–33 shortcuts, 45–46
frequency, 33–34 surface mount ACS714 current sensor, 311
inputs, 30–31 soldering irons, 44, 48, 206
outputs, 31–32 solenoid, 52
PWM, 31–35 solid-state switches, 57–58
connecting, for Battle-Bot, 542–544 source, electricity, 6
decoding with Processing tool, 563–564 Source pin, MOSFET, 60
digital, 27–30 spacers, 537–538
external interrupts, 28–30 Sparkfun Ardumoto, 104
inputs, 27 Sparkfun Razor 6 DOF IMU, Seg-bot, 456–459,
outputs, 27–28 464
Simple PWM control, Sabertooth 2x25 dual 25- Sparkfun Razor 6 DOF inertial measurement
amp motor-controller, 67 unit, 77
Single Pole Sparkfun Xbee Explorer Regulated adapter, 314
Double Throw (SPDT) relay, 53 Sparkfun Xbee Explorer Regulated breakout
Single Throw (SPST) relay, 53, 439–440 board, 75
sketchbook, Arduino IDE, 23 Sparkfun Xbee Explorer USB breakout board,
sketches, 24–26, 574–579 72
Arduino IDE SPDT (Single Pole, Double Throw) relay, 53
loop function, 25–26 SPDT (three-way) switches, H-bridge made
setup function, 24–25 with, 95–97
variable declaration, 24 spears, Battle-bot, 552–561
loop( ) function, 25–26 speed
Processing, 567–574 Battle-bot, 533–534
explanation of, 570–571 controllers, external, 133–135
testing, 572–574 gear motor, 88
setup( ) function, 24–25 linear actuator, 91
variable declaration, 24 motor, 83, 91
SLA (Sealed Lead Acid) batteries, 111, 539 of motor, customizing for RoboBoat robot,
SMD (Surface Mount Device) chip, 309, 311 391
SMT (surface-mount components), 19–20 regulators (potentiometers), 164–166
software. See also Integrated Development speed control circuit, 96–97
Environment (IDE), Arduino speed regulators. See potentiometers
circuit design, 35–36 speed_value variable, 164
for RoboBoat robot, 369–386 Spektrum BR6000 2.4GHz R/C system, 436

598
„ INDEX

Spektrum BR6000 Bot receiver, 441 system timers, 314


Spektrum DX5e radio transmitter, 436 Arduino, 99–101
Spread Spectrum radio systems, 71 Wally robot, 185
sprockets, 116
Battle-bot, 528, 533
Lawn-Bot 400 robot, 410–412 „T
Lawn-bot drive train, 420 T6_config software, 521–522
SPST (Single Pole, Single Throw) relay, 53, 439– tank-steering robots, 171, 182
440 TC4427 mosfet driver, 176, 309
SPST switches Team Davinci, 561
bumper sensors, 260, 279–280 Team Nightmare, 561
for Wally robot, 191 Team RioBotz, 561
stackable headers, Seg-bot, 457 templates, for RoboBoat robot, 340–343
Standard Arduino, 20–22 tension, chain, 116, 420, 425–426, 534–538
standard MOSFETs, vs. logic-level MOSFETS, terminals, power relay, 439–440
61 testing
starting lead-acid batteries, 111 Battle-bot, 550
starting point, 462 Lawn-bot, 447
steel, 114 Lawn-bot motor output, 426
Battle-bot, 514, 550 Linus line-bot, 157
in Explorer-bot frame, 301 modified Servo motors, 264
steer_range variable, Seg-bot, 497 PCBs, 253–256
steering Seg-bot, 509
overview, 483 space for, 49
Seg-bot, 455 Wally robot, 200–201
stepper motors, 86–87 wheels mounted to Servo motor, 266
Stop button, Arduino IDE toolbar, 23 test-probes, multi-meter, 8
stop piece, Servo motor, 261–263 tethered (wired) control, 68
stop pulse, Servo motor, 264–265 Text tool, Eagle, 210
stroke, linear actuator, 91 threading sequence, 535–536
Styrofoam board, gluing templates on, 342– three-way (SPDT) switches, H-bridge made
343 with, 95–97
Styrofoam cutters, RoboBoat, 338, 343–344 throttle failsafe, 440–441
support braces, Lawn-bot, 414, 416 through-hole components, 18–20
Surface Mount Device (SMD) chip, 309, IC sockets, 19
311 SMT, 19–20
surface-mount components (SMT), 19–20 thrust, insufficient, 400–401
surplus websites, for gear motors, 92 tilt, for camera, 319
swinging-arm weapon, Battle-bot, 552–561 time_stamp( ) function, 501–502
switches timeout, waypoint, 392
bump, 72–73 tires, pneumatic, 408
electronic, 15–16 TO-92 IC package, 18
engage, 455–456, 483 TO-220 package, 18
for H-bridges, 94 toggle switches, Seg-bot, 457, 491
high-side, for Wally wall-bot, 174 toner, removing after etching, 242–245
low-side, for Wally wall-bot, 174–176 toolbar, Arduino IDE, 23
power, for Wally wall-bot, 190–192 tools
in schematics, 37 for Explorer-bot, 300
simple, 95–97 for Lawn-bot, 407–408
solid-state, 57–58 required for building robots, 46–48
switching cycles, 33

599
„ INDEX

top hat, for Bug-Bot robot, 292–294


torque
„V
Battle-bot, 533–534 Value tool, Eagle, 210
gear motor, 88 variable declaration, 24
traces, defined, 203 variable resistors. See potentiometers
track, for Linus line-bot, 123, 155–156 VCC symbol, in schematics, 43
transferring circuit design, 203, 226–236 ventilation, work space, 49
transistors, 58–64, 214 Via tool, Eagle, 211
BJT, 58–60 video-enabled, Explorer-Bot robot, 297
MOSFETs, 60–64 void( ) declaration, 192
capacitance of, 61–62 voltage, 8–9
logic-level vs. standard, 61 analog inputs, 30
parallel, 63–64 battery, 107
Rds(On), 62 bootstrap circuits, 98
photo-transistors, 64 current sensing, 103–104
in schematics, 38 electrical connections, 14
Transmitter (Tx), radio system, 69–70, 296, 329 measuring with multi-meters, 7–8
transmitters, Fly Sky CT-6, 520–523 motor, 83, 91–92
Triple8 motor controller, 427 motor-controller, 104
troubleshooting RoboBoat robot, 400–402 overview, 4
insufficient thrust, 400–401 voltage rating, transistors, 58
motor not starting, 401–402 voltage regulator, 39, 250
tubing voltage-meter, 426. See also multi-meters
RoboBoat robot, 359
Seg-bot, 456, 478–479, 483, 488
Tx (Transmitter), radio system, 69–70, 296, 329 „W
Wally wall-bot, 169–201
„U code, 192–201
frame, 182–187
ultrasonic range finder sensors, 169–171, 187– how it works, 170–171
190, 193–195 installing battery and power switch, 190–
ultrasonic range finders, 75 192
unipolar stepper motors, 87 installing sensors, 187–190
universal (master) chain links, 424–425 motor-controller, 173–182
unsigned int variable, millis( ) system timer, 285 circuit, 176–182
unsigned long variable, millis( ) system timer, switches, 174–176
285 parts list for, 172–173
update_motor_speed( ) function, 499–501 water tank electricity example, 3
Upload button, Arduino IDE toolbar, 24, 26 watt rating, motor, 83
uploading code, for RoboBoat robot, 389–390 watts, overview, 4
USB controllers, alternate control, 565–574 waypoints
user control, 68–72 mission planning, for RoboBoat, 392–393
IR, 68–69 radius, customizing for RoboBoat robot, 392
radio control systems, 69–72 timeout, customizing for RoboBoat robot,
AM, 70 392
FM, 70 weapons, Battle-bot, 514, 545, 552–561
Spread Spectrum, 71 weight classes, Battle-bots, 515
Xbee, 71–72 weighted average, 463–465
tethered (wired), 68 welders, 48

600
„ INDEX

welding, Battle-bot chain tensioning nut- wireless camera, Explorer-bot, 318–321


assembly, 534 wiring, Seg-bot, 492–493
wet-cell lead-acid batteries, 111 inputs, 487
wheel hub, Battle-bot, 552–553 supplies, 457
wheelchair motors, 297, 420 wiring diagram, 477
wheels, 116–117 wood, 48, 114
for Battle-Bot, 526–538 Woodruff key, 410
drive, fitting, 137–141 work areas, 48–49
for Explorer-Bot robot, 306–308
for Lawn-Bot 400 robot, 408–412
are pneumatic tires, 406 „ X, Y
front, 409 Xbee, setting up, 315–318
rear, 409–410 Xbee Explorer Regulated adapter board, 317
sprockets for, 410–412 Xbee Explorer Regulated module, 313–314
mounting, 272–274 Xbee radio systems, 71–72, 579
mounting to motor, 272 Xbee-enabled Explorer-Bot robot, 297–298
mounting to Servo motors, 266–267 XCTU programming software, 316
while( ) function, 284 XPS (extruded Polystyrene), RoboBoat, 335,
wire, for antennae sensors, 277–278 339, 351
wire connections, for Bug-Bot robot, 281–
283
Wire tool, Eagle, 210, 220 Z
wire traces, as soldering shortcut, 45–46
wired (tethered) control, 68 zero-turn radius, 182, 405

601

You might also like