X-Git-Url: http://challenge-bot.com/repos/?p=challenge-bot;a=blobdiff_plain;f=guide%2Fchallenge-bot.scm;h=8b4e643dfd36657da8949ba37805f7899f7a666d;hp=484984f54e8fa868bcaad1244dc1939a8c622f6b;hb=c8a4b2d2117137083e9dc0be95187e58cd01ae1e;hpb=0315bca53d285e7ae08188786577d340abc8ef18 diff --git a/guide/challenge-bot.scm b/guide/challenge-bot.scm index 484984f..8b4e643 100644 --- a/guide/challenge-bot.scm +++ b/guide/challenge-bot.scm @@ -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 @@ -105,7 +108,7 @@ place the arduino hole mid-way between the two deck holes.]) (p [check]) - (itemize + (enumerate (item [should the arduino be upside-down?]) (item @@ -138,7 +141,7 @@ (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?]) @@ -165,7 +168,7 @@ (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?]) @@ -183,7 +186,7 @@ (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 @@ -197,7 +200,7 @@ (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? @@ -228,7 +231,7 @@ (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?]))) @@ -287,43 +290,7 @@ (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 @@ -350,7 +317,7 @@ 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 @@ -368,36 +335,286 @@ (p [the solid core wire is the stiff short wire. it is much easier to poke into the breadboard.]) (p [check]) - (itemize - (item [why are we using a solid core wire?])))) - (subsection - :title [deck attachment])) + (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 [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