(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 [the arduino should be close to but not touching an edge.])
(item [there should be no warping on the arduino.
this could happen if the screws are too tight.]))))
+ (section
+ :title [battery wiring]
+ (subsection
+ :title [leads]
+ (subsubsection
+ :title [strip]
+ (p ["leads" are the wires coming out of the battery pack.
+ prepare the leads of the batteries by stripping them and
+ placing heat shrink on them.
+ your battery packs are not attached to your deck yet,
+ but that will be the next step.])
+ (figure :legend "batteries / prepare leads / stripping"
+ (video
+ :file "2-batteries/0-prepare-leads/0-strip.ogv"))
+ (enumerate
+ (item (bold [do not pick up batteries by their leads!]))
+ (item [strip the leads a tiny bit at a time.
+ keep stripping until a total of an inch is stripped.
+ the leads are made of tons of tiny wires that will
+ tear apart if too much insulation is stripped at
+ once.
+ wire made of a bunch of tiny wires
+ is "stranded wire".])
+ (item [strip both leads of both batteries.])
+ (item [then place heat shrink on every lead.
+ make sure the heat shrink is either clear or matches
+ the color of the lead.]))
+ (p [check])
+ (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
+ wires?])))
+ (subsubsection
+ :title [wrap]
+ (p [do the next 2 sections with just one lead at a time.
+ wrap, then solder one battery lead before moving on to the
+ next.
+ wrap the stranded wire around a solid core wire, as shown
+ in this video.])
+ (figure :legend "batteries / prepare leads / wrap"
+ (video
+ :file "2-batteries/0-prepare-leads/1-wrap.ogv"))
+ (p [the solid core wire is the stiff short wire.
+ it is much easier to poke into the breadboard.])
+ (p [check])
+ (enumerate
+ (item [why are we using a solid core wire?])))
+ (subsubsection
+ :title [solder]
+ (p [do this next section and the previous with just one lead at a
+ time.
+ solder the stranded wire and solid core wire, as shown
+ in this video.])
+ (figure :legend "batteries / prepare leads / solder"
+ (video
+ :file "2-batteries/0-prepare-leads/2-solder.ogv"))
+ (p [soldering is the process of joining 2 metal things with
+ solder.])
+ (enumerate
+ (item [use the helping hands to grab the wires and hold them in
+ place.])
+ (item [clean off the tip of the soldering iron if it has been
+ sitting still for a while.
+ this cleans off corroded metal.])
+ (item [apply some solder directly to the tip of the soldering
+ iron.
+ this creates a pool of solder on the tip.
+ we will use this to transfer heat to the wires.])
+ (item [put the soldering iron up to the wires.
+ we want the wires to be hot enough to melt the
+ solder.
+ at the same time, poke the solder into the wire.
+ the solder will start melting and quickly spread to
+ hot parts of the wire.
+ there will be smoke.])
+ (item [move the solder away, then move the iron away.]))
+ (p [check])
+ (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?])))))
+ (section
+ :title [motor wiring]
+ (subsection
+ :title [leads]
+ (p [attach leads to the motors to supply the motor with power.])
+ (figure
+ :legend "motors / leads"
+ (video
+ :file "3-motor-assemblies/0-leads.ogv"))
+ (enumerate
+ (item [strip both the green and yellow wire on both ends.
+ strip one side only 1/8 inch.
+ strip the other side about 1/4 inch.])
+ (item [use the end of the wire stripper to bend a hook in the wire.
+ make this hook on the side of the wire with a smaller
+ exposed section.])
+ (item [do not bend the wire so that the exposed wire runs alongside
+ the sheath.])
+ (item [put the hooks through the tabs on the motor.
+ make sure to place the green and yellow wire on the
+ correct side of the motor.
+ match the side of the motor that already has wires
+ attached.
+ wrap the rest of the wire around the motor in order to
+ keep the wire from falling off.])
+ (item [once the wire is in place, wrap solder around the motor tab
+ and wire.
+ heat up the solder, motor tab and wire with the
+ soldering iron.])
+ (item [test the solder joint with the 9v battery.
+ touch the battery leads to the motor leads.
+ make sure the 9v battery is on.
+ if the motor moves, the solder joint is good!])
+ (item [get section of electrical tape, roughly 100mm
+ (about 4 inches).
+ slide the middle of the tape under the wires.
+ this tape will keep the solder joints away from the
+ metal band around the motor.])
+ (item [the zip tie will hold the wires to the motor.
+ wrap the zip tie on the round part of the motor where
+ it meets the square portion of the motor.
+ this will provide mechanical support for the solder
+ joints.
+ once the zip tie is wrapped, use wire strippers to cut
+ off the excess zip tie.])
+ (item [cover the solder joint with hot glue.
+ this will further keep the solder joints from corroding
+ in the air's moisture.
+ it will also keep the joint safe from anything poking
+ in.]))
+ (p [check])
+ (enumerate
+ (item [should the electrical tape go between the wires and the
+ metal band?])
+ (item [are the motor tabs strong?])
+ (item [what are we doing to reinforce the motor tabs mechanically?])
+ (item [does hot glue make an electrical connection?])))
+ (subsection
+ :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 [breadboard]
(p [next, let's attach other parts to the deck.
breadboard, and glue dots.])
(figure :legend "breadboard to deck / video"
(video
- :file "1-breadboard-to-deck/0-breadboard-to-deck.ogv")))
+ :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 packs]
- (subsection
- :title [leads])
+ :title [battery attachment]
(subsection
- :title [deck attachment]))
+ :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 [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 [motors]
- (subsection
- :title [leads])
- (subsection
- :title [mount])
- (subsection
- :title [deck attachment]))
+ :title [caster]
+ (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]
- (subsection
- :title [tread])
- (subsection
- :title [motor]))
- (section
- :title [caster]
- (subsection
- :title [deck placement]))
+ (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