(document
:title [challenge-bot]
+ (toc)
(chapter
:title [mechanical]
+ :number "0"
(p [let's build your robot!])
(section
:title [arduino to deck]
+ :number "0"
(p [let's attach the arduino to the deck.])
(subsection
:title [required materials]
(image :file
"0-arduino-to-deck/screw-cross-section.png"))
(p [check])
- (itemize
+ (enumerate
(item
[what would happen if the drill bit were larger than the
screw thread?])
make sure that the teeth end up gripping the flat part of
the drill bit.])
(p [check])
- (itemize
+ (enumerate
(item
[where should the teeth clamp down on the drill bit?])
(item
place the arduino hole mid-way between the two
deck holes.])
(p [check])
- (itemize
+ (enumerate
(item
[should the arduino be upside-down?])
(item
(item [once the drill is back out of the hole, let go of the
trigger]))
(p [check])
- (itemize
+ (enumerate
(item
[should the drill be at full speed while the drill bit is
going down into the wood and coming back up?])
(item [once the drill is back out of the hole, let go of the
trigger]))
(p [check])
- (itemize
+ (enumerate
(item
[should the drill be at full speed while the drill bit is
going down into the wood and coming back up?])
(figure :legend "arduino to deck / #6-32 screw"
(image :file "0-arduino-to-deck/6-32-screw.png"))
(p [check])
- (itemize
+ (enumerate
(item
[in the motor assembly, there are #4-40x1.25\" screws.
are those fatter, thinner, or the same thickness as the
(p [the head is the flat part where some tool, like the alan
wrench, can exert force to spin the screw.])
(p [check])
- (itemize
+ (enumerate
(item [how many times will the thread wrap around one inch of
the screw body?])
(item [what about 2 inches?
(p [the arduino should still be flat against the deck still, just
as it was before tightening the screw.])
(p [check])
- (itemize
+ (enumerate
(item [why do we insert the first screw partially before
holding up the arduino?])
(item [which side of the deck is the top side?])))
(item [there should be no warping on the arduino.
this could happen if the screws are too tight.]))))
(section
- :title [breadboard]
- (p [next, let's attach other parts to the deck.
- we'll start with the breadboard.
- there are many ways to do this, but one handy approach is
- glue dots.
- glue dots can be placed easily, are good at attaching flat
- surfaces that directly touch and do not get much stress.])
- (figure :legend "breadboard to deck / required materials"
- (image
- :file "1-breadboard-to-deck/0-required-materials.png"))
- (p [for this section, we will need the deck with arduino attached,
- breadboard, and glue dots.])
- (figure :legend "breadboard to deck / video"
- (video
- :file "1-breadboard-to-deck/0-breadboard-to-deck.ogv"))
- (enumerate
- (item [take your breadboard out of its bag.])
- (item [peel the backing.])
- (item [put the shiny medal plate on the back.])
- (item [break 4 glue dots away from the rest. put the rest back
- into the bag.])
- (item [break off a glue dot from the group of 4, and peel away the
- backing, exposing a sticky side.])
- (item [put the glue dot on one corner of the shiny side of the
- breadboard.
- make sure to push it down firmly.])
- (item [repeat for the other corners.])
- (item [put the breadboard on the center of the deck.
- position it so the black chip is on the right, and the
- blue line is up against the arduino.])
- (item [press firmly in each of the corners.]))
- (p [check])
- (itemize
- (item [should the black chip be on the right or the left?])
- (item [how many glue dots should be on the breadboard?])))
- (section
- :title [battery packs]
+ :title [battery wiring]
(subsection
:title [leads]
(subsubsection
make sure the heat shrink is either clear or matches
the color of the lead.]))
(p [check])
- (itemize
+ (enumerate
(item [should you pick up a battery by its leads?])
(item [should you strip the leads a large amount at a time?])
(item [what's the name of wires made of a bunch of tiny
(p [the solid core wire is the stiff short wire.
it is much easier to poke into the breadboard.])
(p [check])
- (itemize
+ (enumerate
(item [why are we using a solid core wire?])))
(subsubsection
:title [solder]
there will be smoke.])
(item [move the solder away, then move the iron away.]))
(p [check])
- (itemize
+ (enumerate
(item [should the wires melt the solder?])
(item [why should we clean off the tip of the soldering iron?])
- (item [why do we put more solder back on the tip of the iron?]))))
- (subsection
- :title [deck attachment]
- (subsubsection
- :title [motor battery pack attachment]
- (p [attach the motor battery pack to the robot deck.])
- (figure
- :legend "batteries / placement / motor pack"
- (video
- :file "2-batteries/1-placement/0-motor-battery-pack.ogv"))
- (p [we will use glue dots to attach the motor battery pack to the
- deck.
- the pack could be placed anywhere, but we will place it
- in the lower left side of the robot.
- this battery pack has 4 AA batteries in it.
- each battery has 1.5 volts difference between the positive
- and negative side.
- the batteries are connected in series.
- the total voltage difference for the whole battery pack is
- the sum of the individual voltages, which is 6 volts.])
- (enumerate
- (item [make sure you are placing dots on the side of the battery
- pack without the on/off switch.])
- (item [peel off a glue dot for each of the corners of the
- battery pack.])
- (item [when placing the battery pack, make sure the screw hole
- aligns with a hole on the deck.]))
- (p [check])
- (enumerate
- (item [why place the glue dots on the side of the battery pack
- without the on/off switch?])))
- (subsubsection
- :title [arduino battery pack attachment]
- (p [attach the arduino battery pack to the robot deck.])
- (figure
- :legend "batteries / placement / arduino pack"
- (video
- :file "2-batteries/1-placement/1-arduino-battery-pack.ogv"))
- (p [next, we will attach the arduino battery pack to the deck.
- again, the pack could be placed anywhere, but we will
- place it in the lower right side of the robot.])
- (enumerate
- (item [make sure you are placing dots on the side of the battery
- pack without the on/off switch, just as before.])
- (item [peel off a glue dot for each end of the pack.])
- (item [when placing the battery pack, make sure the screw hole
- aligns with a hole on the deck.]))
- (p [check])
- (enumerate
- (item [why align the screw with a hole on the deck?])))))
+ (item [why do we put more solder back on the tip of the iron?])))))
(section
- :title [motors]
+ :title [motor wiring]
(subsection
:title [leads]
(p [attach leads to the motors to supply the motor with power.])
(item [what are we doing to reinforce the motor tabs mechanically?])
(item [does hot glue make an electrical connection?])))
(subsection
- :title [deck attachment]))
+ :title [motor mount]
+ (p [now let's attach the motor mount to the motor.])
+ (subsubsection
+ :title [angle bracket to motor mount]
+ (p [first, attach the angle brackets to the motor mounts with
+ #6-32x3/8 inch screws.])
+ (figure
+ :legend "motors / mount / angle bracket"
+ (video
+ :file "3-motor-assemblies/1-motor-mount/0-angle-brackets.ogv"))
+ (p [if you cover up 2 of the holes on the motor mount, the
+ remaining holes look like a surprised face.
+ these are the holes to attach the angle brackets.
+ make sure the angle brackets on one motor mount are attached
+ in a mirror image to the other.])
+ (p [check])
+ (enumerate
+ (item [should the motor mounts have angle brackets attached in
+ a mirror image fashion?])
+ (item [why should the motor mounts have angle brackets attached in
+ a mirror image fashion?])))
+ (subsubsection
+ :title [motor mount to motor]
+ (p [now attach the motor mount with angle brackets to the motor.])
+ (figure
+ :legend "motor / mount / mount to motor"
+ (video
+ :file
+ "3-motor-assemblies/1-motor-mount/1-motor-mount-to-motor.ogv"))
+ (p [we will attach the motor mount to the motor using #4 bolts.
+ these screws are thinner than the #6 bolts we have used.
+ to clamp down on the motor, we will use a #4 nut.
+ the white side of the nut should face outward.
+ this section of the nut will keep the nut from jiggling
+ loose off the bolt during normal operation.
+ the head of the #4 bolt is a philips head, so we will
+ use a philips head driver for it.])
+ (p [check])
+ (enumerate
+ (item [is the #4 bolt thicker or thinner than the #6?])
+ (item [do you have a ratcheting socket wrench, or not?]))))
+ (subsection
+ :title [deck attachment]
+ (p [now that the motor assemblies are together, we will attach them
+ to the deck.])
+ (figure
+ :legend "motor / motor assembly to deck"
+ (video
+ :file "3-motor-assemblies/2-motor-assembly-to-deck.ogv"))
+ (p [when attaching the motor assembly to the deck, be sure to push
+ the assembly as far outward from the center of the robot
+ as you can while tightening it down.
+ this will give more clearance to the wheels of the robot
+ so they do not rub the deck.])))
(section
- :title [wheels]
+ :title [breadboard]
+ (p [next, let's attach other parts to the deck.
+ we'll start with the breadboard.
+ there are many ways to do this, but one handy approach is
+ glue dots.
+ glue dots can be placed easily, are good at attaching flat
+ surfaces that directly touch and do not get much stress.])
+ (figure :legend "breadboard to deck / required materials"
+ (image
+ :file "1-breadboard-to-deck/0-required-materials.png"))
+ (p [for this section, we will need the deck with arduino attached,
+ breadboard, and glue dots.])
+ (figure :legend "breadboard to deck / video"
+ (video
+ :file "1-breadboard-to-deck/0-breadboard-to-deck.ogv"))
+ (enumerate
+ (item [take your breadboard out of its bag.])
+ (item [peel the backing.])
+ (item [put the shiny medal plate on the back.])
+ (item [break 4 glue dots away from the rest. put the rest back
+ into the bag.])
+ (item [break off a glue dot from the group of 4, and peel away the
+ backing, exposing a sticky side.])
+ (item [put the glue dot on one corner of the shiny side of the
+ breadboard.
+ make sure to push it down firmly.])
+ (item [repeat for the other corners.])
+ (item [put the breadboard on the center of the deck.
+ position it so the black chip is on the right, and the
+ blue line is up against the arduino.])
+ (item [press firmly in each of the corners.]))
+ (p [check])
+ (enumerate
+ (item [should the black chip be on the right or the left?])
+ (item [how many glue dots should be on the breadboard?])))
+ (section
+ :title [battery attachment]
(subsection
- :title [tread])
+ :title [motor battery pack attachment]
+ (p [attach the motor battery pack to the robot deck.])
+ (figure
+ :legend "batteries / placement / motor pack"
+ (video
+ :file "2-batteries/1-placement/0-motor-battery-pack.ogv"))
+ (p [we will use glue dots to attach the motor battery pack to the
+ deck.
+ the pack could be placed anywhere, but we will place it
+ in the lower left side of the robot.
+ this battery pack has 4 AA batteries in it.
+ each battery has 1.5 volts difference between the positive
+ and negative side.
+ the batteries are connected in series.
+ the total voltage difference for the whole battery pack is
+ the sum of the individual voltages, which is 6 volts.])
+ (enumerate
+ (item [make sure you are placing dots on the side of the battery
+ pack without the on/off switch.])
+ (item [peel off a glue dot for each of the corners of the
+ battery pack.])
+ (item [when placing the battery pack, make sure the screw hole
+ aligns with a hole on the deck.]))
+ (p [check])
+ (enumerate
+ (item [why place the glue dots on the side of the battery pack
+ without the on/off switch?])))
(subsection
- :title [motor]))
+ :title [arduino battery pack attachment]
+ (p [attach the arduino battery pack to the robot deck.])
+ (figure
+ :legend "batteries / placement / arduino pack"
+ (video
+ :file "2-batteries/1-placement/1-arduino-battery-pack.ogv"))
+ (p [next, we will attach the arduino battery pack to the deck.
+ again, the pack could be placed anywhere, but we will
+ place it in the lower right side of the robot.])
+ (enumerate
+ (item [make sure you are placing dots on the side of the battery
+ pack without the on/off switch, just as before.])
+ (item [peel off a glue dot for each end of the pack.])
+ (item [when placing the battery pack, make sure the screw hole
+ aligns with a hole on the deck.]))
+ (p [check])
+ (enumerate
+ (item [why align the screw with a hole on the deck?]))))
(section
:title [caster]
- (subsection
- :title [deck placement]))
+ (p [the caster will go at the back of the robot and provide a third
+ point of contact for the robot, making it easier for it to
+ balance.])
+ (figure
+ :legend "caster"
+ (video :file "4-caster-to-deck.ogv"))
+ (p [check])
+ (enumerate
+ (item [what would happen if the robot did not have a caster?])))
+ (section
+ :title [wheels]
+ (p [now we will attach the wheels.
+ this makes the motor movement transform into robot movement!])
+ (figure
+ :legend "wheel"
+ (video :file "5-wheel-to-robot-assembly.ogv"))
+ (p [check])
+ (enumerate
+ (item [does the robot's wheels scrape the deck?])
+ (item [what would happen if the robot had no wheels?])
+ (item [what does the tread do?])
+ (item [what is the tread?])
+ (item [what kind of screw is used?])))
(section
:title [sonars]
- (subsection
- :title [deck placement])))
+ (p [we are almost done with mechanical assembly!
+ this next step is to add the sonar sensors to the robot.
+ sonar sensors are what the robot uses to detect distances.
+ it sends out a signal, then listens for a response and
+ keeps track of how long it takes.])
+ (figure
+ :legend "sonar sensors"
+ (video :file "6-sonar-sensors-to-deck.ogv"))
+ (p [check])
+ (enumerate
+ (item [are your sonar sensors pointy pins facing in toward the
+ arduino?])
+ (item [was it difficult to get the sonar into the holder?])
+ (item [what would happen if it was easy to slip the sonar sensor
+ into the sonar holder?]))))
(chapter
:title [wiring and software]
(section
:title [serial]
+ :number "0"
(subsection
:title [software on computer]
(subsubsection