-
Notifications
You must be signed in to change notification settings - Fork 0
/
index.html
130 lines (109 loc) · 6.2 KB
/
index.html
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
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Raspberry Pi Workshop</title>
<meta name="description" content="Introduction to the Raspberry Pi for HK Maker Faire">
<meta name="author" content="Matt Nodurfth">
<meta name="apple-mobile-web-app-capable" content="yes" />
<meta name="apple-mobile-web-app-status-bar-style" content="black-translucent" />
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no">
<link rel="stylesheet" href="css/reveal.min.css">
<!-- Changed theme to a clean sky -->
<link rel="stylesheet" href="css/theme/default.css" id="theme">
<!-- For syntax highlighting -->
<link rel="stylesheet" href="lib/css/zenburn.css">
<!-- If the query includes 'print-pdf', use the PDF print sheet -->
<script>
document.write( '<link rel="stylesheet" href="css/print/' + ( window.location.search.match( /print-pdf/gi ) ? 'pdf' : 'paper' ) + '.css" type="text/css" media="print">' );
</script>
<!--[if lt IE 9]>
<script src="lib/js/html5shiv.js"></script>
<![endif]-->
</head>
<body>
<div class="reveal">
<div class="slides">
<!-- <div id="slide-header"><img src="images/ga.png" alt="General Assembly" title=""></div> -->
<section data-markdown="slides.md" data-separator="^\n\n\n" data-vertical="^\n\n">
<aside class="notes">
<ul>
<br>
<li>b or . for pause mode</li>
<li>s for presenter notes?</li>
<li>esc to view all slides</li>
<li>f for full screen</li>
<li>alt + click to zoom in</li>
</ul>
</aside>
</section>
<section>
<code><pre>import stopwatch</pre></code>
<div class="fragment"><code data-trim contenteditable><pre>import RPi.GPIO as GPIO</pre></code></div>
<div class="fragment"><code><pre> </pre></code></div>
<div class="fragment"><code><pre>pin = 25</pre></code></div>
<div class="fragment"><code><pre> </pre></code></div>
<div class="fragment"><code><pre>GPIO.setmode(GPIO.BCM)</pre></code></div>
<div class="fragment"><code><pre>GPIO.setup(pin, GPIO.IN)</pre></code></div>
<div class="fragment"><code><pre> </pre></code></div>
<div class="fragment"><code><pre>print "\n***************************************"</pre></code></div>
<div class="fragment"><code><pre>print "*** Welcome to Five Second Stadium! ***"</pre></code></div>
<div class="fragment"><code><pre>print "***************************************\n"</pre></code></div>
<div class="fragment"><code><pre>print "Press the BUTTON to start and press again to stop after 5 sec!"</pre></code></div>
<div class="fragment"><code><pre>print "Press ctrl + c to quit"</pre></code></div>
<div class="fragment"><code><pre>print "--------------------------------------------------------------\n"</pre></code></div>
<div class="fragment"><code><pre> </pre></code></div>
<div class="fragment">OK Let's run this code</div>
<div class="fragment"><code>sudo python game.py</code></div>
</section>
<section>
<div><code><pre>while True:</pre></code></div>
<div class="fragment"><code><pre> print "Start?"</pre></code></div>
<div class="fragment"><code><pre> GPIO.wait_for_edge(pin, GPIO.FALLING)</pre></code></div>
<div class="fragment"><code><pre> t = stopwatch.Timer()</pre></code></div>
<div class="fragment"><code><pre> print "***Started!***\n\n"</pre></code></div>
<!-- <div class="fragment"><code><pre> </pre></code></div> -->
<div class="fragment"><code><pre> print "Stop?"</pre></code></div>
<div class="fragment"><code><pre> GPIO.wait_for_edge(pin, GPIO.FALLING)</pre></code></div>
<div class="fragment"><code><pre> t.stop()</pre></code></div>
<div class="fragment"><code><pre> rounded = "%.2f" % t.elapsed</pre></code></div>
<div class="fragment"><code><pre> print rounded, " seconds!"</pre></code></div>
<div class="fragment"><code><pre> </pre></code></div>
<div class="fragment"><code><pre> if float(rounded) == 5:</pre></code></div>
<div class="fragment"><code><pre> print "*** Congratulations Champion! ***"</pre></code></div>
<div class="fragment"><code><pre> else:</pre></code></div>
<div class="fragment"><code><pre> print "So Close!"</pre></code></div>
<div class="fragment"><code><pre> </pre></code></div>
<div class="fragment"><code><pre> print "Would you like to play again?"</pre></code></div>
<div class="fragment"><code><pre> GPIO.wait_for_edge(pin, GPIO.FALLING)</pre></code></div>
</section>
<section data-markdown="slides2.md" data-separator="^\n\n\n" data-vertical="^\n\n">
</div>
</div>
<script src="lib/js/head.min.js"></script>
<script src="js/reveal.min.js"></script>
<script>
// Full list of configuration options available here:
// https://github.com/hakimel/reveal.js#configuration
Reveal.initialize({
controls: true,
progress: true,
history: true,
center: true,
theme: Reveal.getQueryHash().theme, // available themes are in /css/theme
transition: Reveal.getQueryHash().transition || 'default', // default/cube/page/concave/zoom/linear/fade/none
// Optional libraries used to extend on reveal.js
dependencies: [
{ src: 'lib/js/classList.js', condition: function() { return !document.body.classList; } },
{ src: 'plugin/markdown/marked.js', condition: function() { return !!document.querySelector( '[data-markdown]' ); } },
{ src: 'plugin/markdown/markdown.js', condition: function() { return !!document.querySelector( '[data-markdown]' ); } },
{ src: 'plugin/highlight/highlight.js', async: true, callback: function() { hljs.initHighlightingOnLoad(); } },
{ src: 'plugin/zoom-js/zoom.js', async: true, condition: function() { return !!document.body.classList; } },
{ src: 'plugin/notes/notes.js', async: true, condition: function() { return !!document.body.classList; } }
// { src: 'plugin/search/search.js', async: true, condition: function() { return !!document.body.classList; } }
// { src: 'plugin/remotes/remotes.js', async: true, condition: function() { return !!document.body.classList; } }
]
});
</script>
</body>
</html>