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