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