Selaa lähdekoodia

buzzer: JavaScript example for Grove buzzer

Signed-off-by: Zion Orent <zorent@ics.com>
Signed-off-by: Jon Trulson <jtrulson@ics.com>
Signed-off-by: Sarah Knepper <sarah.knepper@intel.com>
Zion Orent 10 vuotta sitten
vanhempi
commit
98f26235db
1 muutettua tiedostoa jossa 65 lisäystä ja 0 poistoa
  1. 65
    0
      examples/javascript/buzzer.js

+ 65
- 0
examples/javascript/buzzer.js Näytä tiedosto

@@ -0,0 +1,65 @@
1
+/*jslint node:true, vars:true, bitwise:true, unparam:true */
2
+/*jshint unused:true */
3
+/*global */
4
+/*
5
+ * Author: Zion Orent <zorent@ics.com>
6
+ * Copyright (c) 2014 Intel Corporation.
7
+ *
8
+ * Permission is hereby granted, free of charge, to any person obtaining
9
+ * a copy of this software and associated documentation files (the
10
+ * "Software"), to deal in the Software without restriction, including
11
+ * without limitation the rights to use, copy, modify, merge, publish,
12
+ * distribute, sublicense, and/or sell copies of the Software, and to
13
+ * permit persons to whom the Software is furnished to do so, subject to
14
+ * the following conditions:
15
+ *
16
+ * The above copyright notice and this permission notice shall be
17
+ * included in all copies or substantial portions of the Software.
18
+ *
19
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
20
+ * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
21
+ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
22
+ * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
23
+ * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
24
+ * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
25
+ * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
26
+ */
27
+
28
+var upmBuzzer = require("jsupm_buzzer");
29
+// Initialize on GPIO 5
30
+var myBuzzer = new upmBuzzer.Buzzer(5);
31
+var chords = [];
32
+chords.push(upmBuzzer.DO);
33
+chords.push(upmBuzzer.RE);
34
+chords.push(upmBuzzer.MI);
35
+chords.push(upmBuzzer.FA);
36
+chords.push(upmBuzzer.SOL);
37
+chords.push(upmBuzzer.LA);
38
+chords.push(upmBuzzer.SI);
39
+chords.push(upmBuzzer.DO);
40
+chords.push(upmBuzzer.SI);
41
+var chordIndex = 0;
42
+
43
+// Print sensor name
44
+console.log(myBuzzer.name());
45
+
46
+function melody()
47
+{
48
+    if (chords.length != 0)
49
+    {
50
+        //Play sound for one second
51
+        console.log( myBuzzer.playSound(chords[chordIndex], 1000000) );
52
+        chordIndex++;
53
+        //Reset the sound to start from the beginning. 
54
+        if (chordIndex > chords.length - 1)
55
+			chordIndex = 0;
56
+    }
57
+}
58
+setInterval(melody, 100);
59
+
60
+// Print message when exiting
61
+process.on('SIGINT', function()
62
+{
63
+	console.log("Exiting...");
64
+	process.exit(0);
65
+});