mark speeds given to go as constant
[challenge-bot] / guide / challenge-bot.scm
index 37eb8b7e960c21c1f383a8f1e69b09c3c812c885..8b4e643dfd36657da8949ba37805f7899f7a666d 100644 (file)
@@ -3,11 +3,14 @@
 
 (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]
@@ -52,7 +55,7 @@
              (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?])
@@ -75,7 +78,7 @@
                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]))
+      (item [why do we put more solder back on the tip of the iron?])))))
   (section
-   :title [motors]
-   (subsection
-    :title [leads])
+   :title [motor wiring]
    (subsection
-    :title [mount])
+    :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]))
+    :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]
-   (subsection
-    :title [tread])
+   :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 [motor]))
+    :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 [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