-
Notifications
You must be signed in to change notification settings - Fork 4
Expand file tree
/
Copy pathstep_3.html
More file actions
executable file
·309 lines (298 loc) · 11.9 KB
/
step_3.html
File metadata and controls
executable file
·309 lines (298 loc) · 11.9 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
<head>
<title>Board Testing</title>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
<meta name="generator" content="Org-mode" />
<style type="text/css">
<!--/*--><![CDATA[/*><!--*/
.title { text-align: center; }
.todo { font-family: monospace; color: red; }
.done { color: green; }
.tag { background-color: #eee; font-family: monospace;
padding: 2px; font-size: 80%; font-weight: normal; }
.timestamp { color: #bebebe; }
.timestamp-kwd { color: #5f9ea0; }
.right { margin-left: auto; margin-right: 0px; text-align: right; }
.left { margin-left: 0px; margin-right: auto; text-align: left; }
.center { margin-left: auto; margin-right: auto; text-align: center; }
.underline { text-decoration: underline; }
#postamble p, #preamble p { font-size: 90%; margin: .2em; }
p.verse { margin-left: 3%; }
pre {
border: 1px solid #ccc;
box-shadow: 3px 3px 3px #eee;
padding: 8pt;
font-family: monospace;
overflow: auto;
margin: 1.2em;
}
pre.src {
position: relative;
overflow: visible;
padding-top: 1.2em;
}
pre.src:before {
display: none;
position: absolute;
background-color: white;
top: -10px;
right: 10px;
padding: 3px;
border: 1px solid black;
}
pre.src:hover:before { display: inline;}
pre.src-sh:before { content: 'sh'; }
pre.src-bash:before { content: 'sh'; }
pre.src-emacs-lisp:before { content: 'Emacs Lisp'; }
pre.src-R:before { content: 'R'; }
pre.src-perl:before { content: 'Perl'; }
pre.src-java:before { content: 'Java'; }
pre.src-sql:before { content: 'SQL'; }
table { border-collapse:collapse; }
caption.t-above { caption-side: top; }
caption.t-bottom { caption-side: bottom; }
td, th { vertical-align:top; }
th.right { text-align: center; }
th.left { text-align: center; }
th.center { text-align: center; }
td.right { text-align: right; }
td.left { text-align: left; }
td.center { text-align: center; }
dt { font-weight: bold; }
.footpara:nth-child(2) { display: inline; }
.footpara { display: block; }
.footdef { margin-bottom: 1em; }
.figure { padding: 1em; }
.figure p { text-align: center; }
.inlinetask {
padding: 10px;
border: 2px solid gray;
margin: 10px;
background: #ffffcc;
}
#org-div-home-and-up
{ text-align: right; font-size: 70%; white-space: nowrap; }
textarea { overflow-x: auto; }
.linenr { font-size: smaller }
.code-highlighted { background-color: #ffff00; }
.org-info-js_info-navigation { border-style: none; }
#org-info-js_console-label
{ font-size: 10px; font-weight: bold; white-space: nowrap; }
.org-info-js_search-highlight
{ background-color: #ffff00; color: #000000; font-weight: bold; }
/*]]>*/-->
</style>
<link rel="stylesheet" type="text/css" href="css/styles.css"/>
<link href='http://fonts.googleapis.com/css?family=Ubuntu+Mono|Ubuntu' rel='stylesheet' type='text/css'>
<script type="text/javascript">
/*
@licstart The following is the entire license notice for the
JavaScript code in this tag.
Copyright (C) 2012-2013 Free Software Foundation, Inc.
The JavaScript code in this tag is free software: you can
redistribute it and/or modify it under the terms of the GNU
General Public License (GNU GPL) as published by the Free Software
Foundation, either version 3 of the License, or (at your option)
any later version. The code is distributed WITHOUT ANY WARRANTY;
without even the implied warranty of MERCHANTABILITY or FITNESS
FOR A PARTICULAR PURPOSE. See the GNU GPL for more details.
As additional permission under GNU GPL version 3 section 7, you
may distribute non-source (e.g., minimized or compacted) forms of
that code without the copy of the GNU GPL normally required by
section 4, provided you include this license notice and a URL
through which recipients can access the Corresponding Source.
@licend The above is the entire license notice
for the JavaScript code in this tag.
*/
<!--/*--><![CDATA[/*><!--*/
function CodeHighlightOn(elem, id)
{
var target = document.getElementById(id);
if(null != target) {
elem.cacheClassElem = elem.className;
elem.cacheClassTarget = target.className;
target.className = "code-highlighted";
elem.className = "code-highlighted";
}
}
function CodeHighlightOff(elem, id)
{
var target = document.getElementById(id);
if(elem.cacheClassElem)
elem.className = elem.cacheClassElem;
if(elem.cacheClassTarget)
target.className = elem.cacheClassTarget;
}
/*]]>*///-->
</script>
</head>
<body>
<div id="content">
<h1 class="title">Board Testing</h1>
<div id="table-of-contents">
<h2>Table of Contents</h2>
<div id="text-table-of-contents">
<ul>
<li><a href="#sec-1">1. PCB Testing</a>
<ul>
<li><a href="#sec-1-1">Hardware Test</a></li>
</ul>
</li>
<li><a href="#sec-2">2. PC Connectivity Test</a>
<ul>
<li><a href="#sec-2-1">Connect It</a></li>
</ul>
</li>
<li><a href="#sec-3">3. I/O Test</a>
<ul>
<li><a href="#sec-3-1">Test it</a></li>
</ul>
</li>
<li><a href="#sec-4">4. Assessment Point</a>
<ul>
<li><a href="#sec-4-1">Badge It</a></li>
</ul>
</li>
</ul>
</div>
</div>
<div class=ribbon>
<a href="https://github.com/stsb11/pic_programmer">Fork me on GitHub</a>
</div>
<div id="outline-container-sec-1" class="outline-2 activity">
<h2 id="sec-1"><span class="section-number-2">1</span> PCB Testing</h2>
<div class="outline-text-2" id="text-1">
<p>
By this point, you should have a fully soldered together PCB (with a chip), a download socket and a method of providing 3V to the circuit. In this lesson, we'll test our PCB to ensure its working.
</p>
</div>
<div id="outline-container-sec-1-1" class="outline-3 test">
<h3 id="sec-1-1">Hardware Test</h3>
<div class="outline-text-3" id="text-1-1">
<ul class="org-ul">
<li>When a PIC chip initially boots (starts) up, it briefly pulses output 0, which we happen to have an LED connected to.
</li>
<li>Connect the 0V (negative) pin of your power connector to the PCB, then connect the positive power pin to the PCB while looking at the LEDs on the board.
</li>
<li>If the left-hand LED (red in my examples) flashes for a split-second, then your Genie chip is receiving power, and at least one of your LEDs is working.
</li>
<li>If it doesn't, then something isn't right. You might have dry joints, you could have made a solder bridge, the power connectors might be backwards, the batteries could be flat or the Genie chip might be upside down. Make sure your LED pulses before you move on to the next step.
</li>
</ul>
</div>
</div>
</div>
<div id="outline-container-sec-2" class="outline-2 activity">
<h2 id="sec-2"><span class="section-number-2">2</span> PC Connectivity Test</h2>
<div class="outline-text-2" id="text-2">
</div>
<div id="outline-container-sec-2-1" class="outline-3 test">
<h3 id="sec-2-1">Connect It</h3>
<div class="outline-text-3" id="text-2-1">
<ul class="org-ul">
<li>We can now test the remainder of the PCB and your download cable by connecting your board to Circuit Wizard. You'll need a USB Genie Download cable from the teacher to do this.
</li>
<li>Plug the download cable into the computer BEFORE you load Circuit Wizard, then wait 10s for the computer to connect to it, and load Circuit Wizard.
</li>
<li>Check that the download cable is recognised by the computer (this is the single most common cause of problems!) by clicking "Project -> Options -> Control", and ensuing that the settings look something like this
</li>
</ul>
<div class="figure">
<p><img src="img/dl_settings.jpg" alt="dl_settings.jpg" />
</p>
</div>
<ul class="org-ul">
<li>If the cable is working correctly, you'll see a little red icon in the drop-down list, with the words "USB to serial port" next to it. The COM number doesn't matter (mine is on COM3, but yours might be COM6, for instance). Whichever port has the icon is the one you need to select.
</li>
<li>Connect power to the PCB, then connect your home-made download socket to the three SIL header pins in the top right-hand corner of your board. The order is important…
</li>
</ul>
<div class="figure">
<p><img src="img/dl_conns.jpg" alt="dl_conns.jpg" />
</p>
</div>
<ul class="org-ul">
<li><p>
You can now plug your Genie cable into the download socket. If you've done everything correctly, the right-hand side of the Circuit Wizard should now show you a "Connected GENIE C08" message, and the bottom-left LED should blink continously as data is exchanged between the PC and your circuit. Congratulations!
</p>
</li>
<li><p>
If it hasn't come up as connected, there are a few reasons this could be:
</p>
<ul class="org-ul">
<li>Check with a multimeter that there is 3V across pins 1 and 8.
</li>
<li>Check that the pins going into the download socket are in the right order. I used black, grey and white in mine, but yours are likely to be different. Is there a 22k resistor on your download socket?
</li>
<li>Is Circuit Wizard 'seeing' the download cable? Double-check the PC settings. Try plugging someone elses' (working) PCB into your computer with your power supply.
</li>
<li>Check that the 100k and 22k resistors are working correctly by using the resistance setting on a multimeter.
</li>
</ul>
</li>
</ul>
</div>
</div>
</div>
<div id="outline-container-sec-3" class="outline-2 activity">
<h2 id="sec-3"><span class="section-number-2">3</span> I/O Test</h2>
<div class="outline-text-2" id="text-3">
</div>
<div id="outline-container-sec-3-1" class="outline-3 test">
<h3 id="sec-3-1">Test it</h3>
<div class="outline-text-3" id="text-3-1">
<ul class="org-ul">
<li>Now that the PCB is connected to the computer, we can test the input (i.e. the LDR) and output components (i.e. the LEDs) using Circuit Wizard, before we start writing software. This will also afford us the opportunity to get some calibration data for your LDR.
</li>
<li>When connected to your PCB, the right-hand side of the Circuit Wizard window will show you a number of options…
</li>
</ul>
<div class="figure">
<p><img src="img/cwz_conn.jpg" alt="cwz_conn.jpg" />
</p>
</div>
<ul class="org-ul">
<li>We'll check the LEDs first, so will use the "Control Device" option. Click this, and then set the "Mode" of your chip to "2 Inputs, 3 Outpus (G0-G2)".
</li>
<li>You can now turn on and off the LEDs by clicking the relevant output, near the "OUT" label.
</li>
<li>Note: Because it is used to communicate with the PC, you can't control G0 from this screen. The fact that the LED is blinking constantly confirms it works, though.
</li>
<li>Once you're happy that your LEDs work, click the "Cancel" button. We're now going to test the LDR is working properly.
</li>
<li>Choose "Calibrate sensor" from the right-hand menu. You'll see a numeric value between 0-255, which in this case represents the light level where you are. By covering and uncovering the sensor, you should see the value change, proving that your LDR is working correctly.
</li>
<li>Make a note somewhere of what value the LDR gives under standard classroom lighting, and the value when it is covered up. This will be vital later in getting your programs to work.
</li>
</ul>
</div>
</div>
</div>
<div id="outline-container-sec-4" class="outline-2 activity">
<h2 id="sec-4"><span class="section-number-2">4</span> Assessment Point</h2>
<div class="outline-text-2" id="text-4">
</div>
<div id="outline-container-sec-4-1" class="outline-3 badge">
<h3 id="sec-4-1">Badge It</h3>
<div class="outline-text-3" id="text-4-1">
<ul class="org-ul">
<li>On your portfolio, add screenshots of both your Analogue sensor under light and dark conditions.
</li>
<li>Take a picture of your PCB connected to your computer. Try and take one while the status LED (the left-hand one) is illuminated.
</li>
</ul>
<p>
<a href="index.html">Return to homepage</a>
</p>
</div>
</div>
</div>
</div>
<div id="postamble" class="status">
<p class="validation"></p>
</div>
</body>
</html>