add robot deck to list of parts
[challenge-bot] / curriculum / challenge-bot.scm
CommitLineData
37d286e7 1;; tldr; AGPLv3+
2;; copyright info at bottom
3
4(document
5 :title [challenge-bot]
6 (chapter
3c0c7ca4 7 :title [mechanical]
1625f486 8 (p [let's build your robot!])
3c0c7ca4 9 (section
58c778a1 10 :title [arduino to deck]
4a423b08 11 (p [let's attach the arduino to the deck.])
cf59d996 12 (subsection
13 :title [required materials]
14 (p [you will need the things in this picture.
15 ,(figure :legend "arduino to deck / required materials"
9fbc1a3f 16 (image :file "arduino-to-deck/0-required-materials.png"))
cf59d996 17 ,(itemize
18 (item [medical kit with bandages])
19 (item [safety goggles])
20 (item [drill bit \(we will determine size in a moment\)])
21 (item [drill])
22 (item [alan wrench])
23 (item [wood block])
24 (item [arduino])
d0873756 25 (item [#6-32x3/8\", four of them])
26 (item [robot deck, the white thing with a grid of holes1]))]))
24b6d750 27 (subsection
59fef212 28 :title [first hole]
ff0f6a78 29 (subsubsection
52596bd0 30 :title [choosing drill bit]
31 (p [choosing the right drill bit depends on what job you are doing.
32 right now, we are making holes for screws to hold the
33 arduino to the deck.
34 this means the hole needs to be big enough for the
35 screw body to fit through.
36 we want the screw to stay put once it's in place.
8923a50f 37 we also want the drill bit to be smaller than the
38 diameter of the thread.
39 the screw was chosen so that the hole on the arduino
40 was bigger than the body and smaller than the thread.
41 we will choose the biggest drill bit that fits through
42 the hole on the arduino.])
85fae63f 43 (p [here's a cross section of a screw in the deck]
44 (figure :legend "screw cross section"
45 (image :file
46 "arduino-to-deck/screw-cross-section.png"))))
ff0f6a78 47 (subsubsection
ca8e4428 48 :title [inserting drill bit]
49 (p (figure :legend "arduino to deck / insert bit"
50 (image :file "arduino-to-deck/1-insert-bit.png"))
51 [insert the drill bit into the teeth of the drill.
52 insert it far enough that the teeth will clamp on the
3875c1ef 53 smooth part of the bit when they are tightened.])
54 (p (figure
55 :legend "arduino to deck / twist tighten drill teeth"
56 (image :file "arduino-to-deck/2-twist-tighten-drill-teeth.png"))
57 [while holding the drill bit, twist end of the drill to tighten
58 the teeth.
59 make sure that the teeth end up gripping the flat part of
60 the drill bit.]))
ff0f6a78 61 (subsubsection
7bf575b8 62 :title [holding drill]
63 (p [hold the drill with one hand on the handle and trigger.
64 put the other hand on the orange nozzle, before the
65 black spinning part.]))
c04a9631 66 (subsubsection
67 :title [arduino placement]
68 (p [the arduino should be placed as shown in this picture.]
cf59d996 69 (figure :legend "arduino to deck / place arduino"
6fc3d47b 70 (image :file "arduino-to-deck/3-place-arduino.png")))
71 (p [here's a closeup]
c1732375 72 (figure :legend "arduino to deck / place arduino closeup"
0b5cd84e 73 (image :file
74 "arduino-to-deck/4-place-arduino-closeup.png"))
75 [the picture above shows where to place the arduino on the deck.
76 the arduino should line up with the holes on the deck.
77 this alignment line is highlighted in pink.
78 on the arduino, there's a hole on the top left, between the
79 orange reset button and black headers.
80 the green circle shows where the hole is.
81 the blue box encloses the arduino hole and two deck holes.
82 place the arduino hole mid-way between the two
83 deck holes.]))
ff0f6a78 84 (subsubsection
59fef212 85 :title [drilling]))
86 (subsection
87 :title [first screw]
ff0f6a78 88 (subsubsection
9f651996 89 :title [fastening arduino to deck using #6-32x3/8\" screw]
90 (p [the "#6" part of "#6-32x3/8\"" is how big around the bolt is.
91 it is related to wire gauge.
92 bigger numbers mean larger screw.
6e7c78dd 93 smaller numbers means smaller screws.]
94 (figure :legend "arduino to deck / #6-32 screw"
95 (image :file
96 "arduino-to-deck/6-32-screw.png")))
9f651996 97 (p [check
59fef212 98 ,(itemize
99 (item
9f651996 100 [in the motor assembly, there are #4-40x1.25\" screws.
101 are those fatter, thinner, or the same thickness as the
102 #6-32x3/8\" screws?]))])
103 (p [the "32" part is a measurement of how close the threads are to
104 each other.
105 this is related to the angle of the thread, which is also
106 called pitch.
107 it is a count of how many times the thread wraps around one
108 inch of the screw body.])
109 (p [the head is the flat part where some tool, like the alan
110 wrench, can exert force to spin the screw.])
111 (p [check
59fef212 112 ,(itemize
9f651996 113 (item [how many times will the thread wrap around one inch of
114 the screw body?])
115 (item [what about 2 inches?
116 how many times will the thread wrap around two
117 inches of the screw body?]))]))
ff0f6a78 118 (subsubsection
119 :title [fasten the arduino board to the deck]
120 (p [push the 6-32 screw into the deck from the underside and at the
121 same time, spin the 6-32 screw clockwise while looking
9f651996 122 down on its head.
123 twist until the bottom of the screw is
ff0f6a78 124 about to stick out on the top side of the deck.])
125 (p [hold the arduino board flat to the deck and line up the arduino
9f651996 126 hole so the screw can come up through it.
127 continue tightening the screw into the deck, spinning the same
128 direction as before.
129 tighten until the screw head touches the deck.
130 do not continue tightening after that.])
ff0f6a78 131 (p [the arduino should still be flat against the deck still, just
132 as it was before tightening the screw.]))
133 (subsubsection
134 :title [assessment]
135 (p [does the arduino stay with the deck when the deck moves?
136 can the arduino board still rotate a few degrees?
137 warning, if you rotate the arduino board too much, you
138 will unscrew it from the deck and you'll have to screw it
9f651996 139 back in.
140 rotating a few degrees should be ok.]))
ff0f6a78 141 (subsubsection
142 :title [arduino board move relative to deck]
143 (p [without any screws, the arduino board can move independently of
144 the deck.])
145 (p [with the first screw, the arduino can rotate around one point
146 on the deck.])))
24b6d750 147 (subsection
148 :title [second hole and screw])
149 (subsection
150 :title [third and fourth hole and screw]))
57e11138 151 (section
152 :title [breadboard])
3c0c7ca4 153 (section
390d8f01 154 :title [battery packs]
155 (subsection
156 :title [leads])
157 (subsection
158 :title [deck attachment]))
3c0c7ca4 159 (section
5aa69c47 160 :title [motors]
161 (subsection
162 :title [leads])
163 (subsection
164 :title [mount])
165 (subsection
166 :title [deck attachment]))
3c0c7ca4 167 (section
1b593ec7 168 :title [wheels]
169 (subsection
170 :title [tread])
171 (subsection
172 :title [motor]))
3c0c7ca4 173 (section
2ccf4ca9 174 :title [caster]
175 (subsection
176 :title [deck placement]))
3c0c7ca4 177 (section
6550a556 178 :title [sonars]
179 (subsection
180 :title [deck placement])))
3c0c7ca4 181 (chapter
9fb37473 182 :title [wiring and software]
183 (section
f0876d62 184 :title [serial]
185 (subsection
1be43d04 186 :title [software on computer]
c3e8314c 187 (subsubsection
1be43d04 188 :title [arduino])
c3e8314c 189 (subsubsection
1be43d04 190 :title [fritzing]))
f0876d62 191 (subsection
192 :title [attach arduino and computer via cable])
193 (subsection
194 :title [debugging common connection problems])
195 (subsection
196 :title [arduino reset button]))
9fb37473 197 (section
bb801164 198 :title [left sonar]
199 (subsection
200 :title [breadboard connectivity])
201 (subsection
202 :title [cable])
203 (subsection
cb7d1c68 204 :title [arduino headers])
205 (subsection
206 :title [sound cm per microsecond at sea level]))
9fb37473 207 (section
9183d52b 208 :title [both sonars]
209 (subsection
210 :title [breadboard power rail]
211 (p [power rail can provide power to more than one device.])))
9fb37473 212 (section
805d6362 213 :title [left motor]
214 (subsection
215 :title [arduino digital output])
216 (subsection
217 :title [quad half h bridge, aka motor controller])
218 (subsection
219 :title [motor battery]))
9fb37473 220 (section
79d761bc 221 :title [both motors]
222 (subsection
223 :title [analogWrite]))
9fb37473 224 (section
aedd9003 225 :title [untethered]
226 (subsection
227 :title [arduino battery])
228 (subsection
229 :title [off and on functions]))
9fb37473 230 (section
28a2365e 231 :title [follow]
232 (subsection
233 :title [same wiring as untethered])
234 (subsection
235 :title [set motor])
236 (subsection
237 :title [go])
238 (subsection
239 :title [determining speed]))
9fb37473 240 (section
d460f45c 241 :title [stay on table]
242 (subsection
243 :title [stop])
244 (subsection
245 :title [backup])
246 (subsection
247 :title [turn around]))))
37d286e7 248
249;; Copyright 2016 daniel watson
250
251;; This file is part of challenge-bot.
252
253;; challenge-bot is free software: you can redistribute it and/or modify
254;; it under the terms of the GNU Affero General Public License as
255;; published by the Free Software Foundation, either version 3 of the
256;; License, or (at your option) any later version.
257
258;; challenge-bot is distributed in the hope that it will be useful,
259;; but WITHOUT ANY WARRANTY; without even the implied warranty of
260;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
261;; GNU Affero General Public License for more details.
262
263;; You should have received a copy of the GNU Affero General Public
264;; License along with challenge-bot. If not, see
265;; <http://www.gnu.org/licenses/>.