X-Git-Url: http://challenge-bot.com/repos/?p=challenge-bot;a=blobdiff_plain;f=guide%2Fchallenge-bot.scm;h=8b4e643dfd36657da8949ba37805f7899f7a666d;hp=b0a7f2e50ab62f089fcecf733717573a8ac420ba;hb=c8a4b2d2117137083e9dc0be95187e58cd01ae1e;hpb=b52bbb4b83a55714702c1c8d92e8831e8c2eb2e3 diff --git a/guide/challenge-bot.scm b/guide/challenge-bot.scm index b0a7f2e..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?]))) @@ -286,6 +289,200 @@ (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. @@ -301,39 +498,123 @@ 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