finish description of attaching second screw
[challenge-bot] / curriculum / challenge-bot.scm
index 007918c329cce1ad8eaf2bd78b7aeecc9abb965b..f0a9893855f0de51334ea8b91a044ed4a2841fc1 100644 (file)
  :title [challenge-bot]
  (chapter
   :title [mechanical]
+  (p [let's build your robot!])
   (section
-   :title [arduino]
+   :title [arduino to deck]
+   (p [let's attach the arduino to the deck.])
    (subsection
-    :title [arduino placement])
+    :title [required materials]
+    (p [you will need the things in this picture.
+            ,(figure :legend "arduino to deck / required materials"
+                     (image :file "arduino-to-deck/0-required-materials.png"))
+            ,(itemize
+              (item [medical kit with bandages])
+              (item [safety goggles])
+              (item [drill bit \(we will determine size in a moment\)])
+              (item [drill])
+              (item [alan wrench])
+              (item [wood block])
+              (item [arduino])
+              (item [#6-32x3/8\", four of them])
+              (item [robot deck, the white thing with a grid of holes1]))]))
    (subsection
-    :title [first hole and screw])
+    :title [first hole]
+    (subsubsection
+     :title [choosing drill bit]
+     (p [the arduino comes with holes in it already, so we will make
+             some choices around those holes.
+             choosing the right drill bit depends on what job you are
+             doing.
+             right now, we are making holes for screws to hold the
+             arduino to the deck.
+             there are two constraints between the hole and screw.
+             each hole needs to be big enough for the screw body to fit
+             through it.
+             the holes also need to be smaller than the screw's thread.
+             since there are holes on the arduino already, the screw was
+             chosen to match it.
+             the screw was chosen so that the hole on the arduino was
+             bigger than the screw body and smaller than its thread.
+             we will choose the biggest drill bit that fits through the
+             hole on the arduino, then use that to drill holes in the
+             deck.])
+     (p [here's a cross section of a screw in the deck]
+        (figure :legend "screw cross section"
+                (image :file
+                       "arduino-to-deck/screw-cross-section.png")))
+     (p [check
+         ,(itemize
+           (item
+            [what would happen if the drill bit were larger than the
+                  screw thread?])
+           (item
+            [what would happen if the drill bit were smaller than the
+                  screw body?]))]))
+    (subsubsection
+     :title [inserting drill bit]
+     (p (figure :legend "arduino to deck / insert bit"
+                (image :file "arduino-to-deck/1-insert-bit.png"))
+        [insert the drill bit into the teeth of the drill.
+                insert it far enough that the teeth will clamp on the
+                smooth part of the bit when they are tightened.])
+     (p (figure
+         :legend "arduino to deck / twist tighten drill teeth"
+         (image :file "arduino-to-deck/2-twist-tighten-drill-teeth.png"))
+        [while holding the drill bit, twist end of the drill to tighten
+               the teeth.
+               make sure that the teeth end up gripping the flat part of
+               the drill bit.])
+     (p [check
+         ,(itemize
+           (item
+            [where should the teeth clamp down on the drill bit?])
+           (item
+            [what would happen if the teeth tightened on the recessed
+                  part of the drill bit?]))]))
+    (subsubsection
+     :title [holding drill]
+     (p [hold the drill with one hand on the handle and trigger.
+              put the other hand on the orange nozzle, before the
+              black spinning part.]))
+    (subsubsection
+     :title [arduino placement]
+     (p [the arduino should be placed as shown in this picture.]
+        (figure :legend "arduino to deck / place arduino"
+                (image :file "arduino-to-deck/3-place-arduino.png")))
+     (p [here's a closeup]
+        (figure :legend "arduino to deck / place arduino closeup"
+                (image :file
+                       "arduino-to-deck/4-place-arduino-closeup.png"))
+        [the picture above shows where to place the arduino on the deck.
+             the arduino should line up with the holes on the deck.
+             this alignment line is highlighted in pink.
+             on the arduino, there's a hole on the top left, between the
+             orange reset button and black headers.
+             the green circle shows where the hole is.
+             the blue box encloses the arduino hole and two deck holes.
+             place the arduino hole mid-way between the two
+             deck holes.])
+     (p [check
+         ,(itemize
+           (item
+            [should the arduino be upside-down?])
+           (item
+            [what should the upper side of the arduino align with?])
+           (item
+            [why not place the arduino up along the left side of the
+                 robot?]))]))
+    (subsubsection
+     :title [drilling practice]
+     (p [strength check]
+        (itemize
+         (item [put on safety goggles])
+         (item [unplug drill])
+         (item [hold drill in one hand])
+         (item [point drill at the ground])
+         (item [point drill at the wall])))
+     (p [steps for drilling into wood block]
+        (itemize
+         (item [plug in the drill])
+         (item [place the drill bit in position])
+         (item [bring the drill up to full speed, and keep it at full
+                      speed while lowering and raising the drill])
+         (item [push down until the drill bit has passed through an inch
+                     of the wood block])
+         (item [keep the drill at full speed])
+         (item [stop before the drill smashes into the wood block])
+         (item [keep the drill at full speed by holding the trigger])
+         (item [bring the drill straight back up])
+         (item [hold the trigger down to keep the drill at full speed])
+         (item [once the drill is back out of the hole, let go of the
+                     trigger])))
+     (p [check
+         ,(itemize
+           (item
+            [should the drill be at full speed while the drill bit is
+                    going down into the wood and coming back up?])
+           (item
+            [how do you keep the drill at full speed?])
+           (item
+            [what would happen if the drill bit were not at full
+                  speed?])
+           (item
+            [what would happen if the drill were twisted sideways while
+                  the drill bit were in the wood?]))]))
+    (subsubsection
+     :title [drilling the first screw hole]
+     (itemize
+      (item [place the drill bit in position])
+      (item [bring the drill up to full speed, and keep it full speed])
+      (item [push down until the drill bit has passed through the
+                  deck])
+      (item [keep the drill at full speed])
+      (item [stop before the drill smashes into the arduino])
+      (item [keep the drill at full speed by holding the trigger])
+      (item [bring the drill straight back up])
+      (item [hold the trigger down to keep the drill at full speed])
+      (item [once the drill is back out of the hole, let go of the
+                  trigger]))
+     (p [check
+         ,(itemize
+           (item
+            [should the drill be at full speed while the drill bit is
+                    going down into the wood and coming back up?])
+           (item
+            [what would happen if the drill bit were not at full
+                  speed?])
+           (item
+            [how do you keep the drill at full speed?]))])))
    (subsection
-    :title [second hole and screw])
+    :title [first screw]
+    (subsubsection
+     :title [fastening arduino to deck using #6-32x3/8\" screw]
+     (p [the "#6" part of "#6-32x3/8\"" is how big around the bolt is.
+             it is related to wire gauge.
+             bigger numbers mean larger screws.
+             smaller numbers means smaller screws.]
+        (figure :legend "arduino to deck / #6-32 screw"
+                (image :file
+                       "arduino-to-deck/6-32-screw.png")))
+     (p [check
+         ,(itemize
+           (item
+            [in the motor assembly, there are #4-40x1.25\" screws.
+                are those fatter, thinner, or the same thickness as the
+                #6-32x3/8\" screws?]))])
+     (p [the "32" part of "#6-32x3/8\"" is a measurement of how close
+             the threads are to each other.
+             this is related to the angle of the thread, which is also
+             called pitch.
+             it is a count of how many times the thread wraps around one
+             inch of the screw body.])
+     (p [the head is the flat part where some tool, like the alan
+             wrench, can exert force to spin the screw.])
+     (p [check
+         ,(itemize
+           (item [how many times will the thread wrap around one inch of
+                      the screw body?])
+           (item [what about 2 inches?
+                       how many times will the thread wrap around two
+                       inches of the screw body?])
+           (item [where can a tool exert turning force on
+                        the screw?]))]))
+    (subsubsection
+     :title [fasten the arduino board to the deck]
+     (p [first we'll put the screw into the deck just enough so the deck
+               holds it in place.
+               then we will hold the arduino up to the screw and finish
+               tightening the screw down.
+               with the screw partially in, we do not have hold it as
+               rigidly while we are also holding the arduino and
+               the deck.])
+     (p [push the #6-32 screw into the deck from the underside.
+              the underside is the brown side.
+              at the same time, spin the 6-32 screw so it rotates
+              clockwise while looking down on its head.
+              twist until the tip of the screw is about to stick out on
+              the top side of the deck.])
+     (p [hold the arduino board flat to the deck and line up the arduino
+              hole so the screw can come up through it.
+              continue tightening the screw into the deck, spinning the same
+              direction as before.
+              tighten until the screw head touches the deck.
+              do not continue tightening after that.])
+     (p [the arduino should still be flat against the deck still, just
+             as it was before tightening the screw.])
+     (p [check
+         ,(itemize
+           (item [why do we insert the first screw partially before
+                      holding up the arduino?])
+           (item [which side of the deck is the top side?]))]))
+    (subsubsection
+     :title [assessment of the first screw]
+     (itemize
+      (item [,(bold [warning]), if you rotate the arduino board too
+             much,you will unscrew it from the deck and you'll have to
+             screw it back in.
+             rotating a few degrees should be ok.])
+      (item [does the arduino stay with the deck when the deck moves?])
+      (item [can the arduino board still rotate a few degrees?]))))
+   (subsection
+    :title [second hole and screw]
+    (subsubsection
+     :title [arduino board move relative to deck]
+     (p [without any screws, the arduino board can move independently of
+                 the deck.
+                 it can translate and rotate freely.
+                 with the first screw, the arduino can rotate around one
+                 point on the deck and can no longer translate much.])
+     (p [the second screw limits rotation a lot.
+             it also makes translation even more difficult.
+             it might even be too small to be detectable by directly
+             looking at it.])
+     (p [to choose where the second hole and screw should go, we should
+            keep in mind that the goal is to attach the deck to the
+            arduino.
+            this means minimizing rotation and translation.
+            the picture below shows that the second hole should be as
+            far as possible from the first hole, since that minimizes
+            rotation.]
+        (figure :legend "arduino to deck / keep holes far apart"
+                (image :file "arduino-to-deck/keep-holes-far-apart.png"))))
+    (subsubsection
+     :title [drilling and attaching second screw]
+     (p [to drill the second hole, follow the same steps as drilling the
+            first hole.
+            hold the arduino down as before, and drill through the hole
+            furthest away from the first hole.
+            then insert and tighten the screw as before.])))
    (subsection
     :title [third and fourth hole and screw]))
   (section
    :title [serial]
    (subsection
     :title [software on computer]
-    (subsection
+    (subsubsection
      :title [arduino])
-    (subsection
+    (subsubsection
      :title [fritzing]))
    (subsection
     :title [attach arduino and computer via cable])
    (subsection
     :title [arduino reset button]))
   (section
-   :title [left sonar])
+   :title [left sonar]
+   (subsection
+    :title [breadboard connectivity])
+   (subsection
+    :title [cable])
+   (subsection
+    :title [arduino headers])
+   (subsection
+    :title [sound cm per microsecond at sea level]))
   (section
-   :title [both sonars])
+   :title [both sonars]
+   (subsection
+    :title [breadboard power rail]
+    (p [power rail can provide power to more than one device.])))
   (section
-   :title [left motor])
+   :title [left motor]
+   (subsection
+    :title [arduino digital output])
+   (subsection
+    :title [quad half h bridge, aka motor controller])
+   (subsection
+    :title [motor battery]))
   (section
-   :title [both motors])
+   :title [both motors]
+   (subsection
+    :title [analogWrite]))
   (section
-   :title [untethered])
+   :title [untethered]
+   (subsection
+    :title [arduino battery])
+   (subsection
+    :title [off and on functions]))
   (section
-   :title [follow])
+   :title [follow]
+   (subsection
+    :title [same wiring as untethered])
+   (subsection
+    :title [set motor])
+   (subsection
+    :title [go])
+   (subsection
+    :title [determining speed]))
   (section
-   :title [stay on table])))
+   :title [stay on table]
+   (subsection
+    :title [stop])
+   (subsection
+    :title [backup])
+   (subsection
+    :title [turn around]))))
 
 ;; Copyright 2016 daniel watson