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