Interactive Alarm Clock Code
Dependencies: 4DGL-uLCD-SE mbed
speaker.cpp@0:68a3851de2ee, 2015-12-10 (annotated)
- Committer:
- tshin7
- Date:
- Thu Dec 10 08:59:55 2015 +0000
- Revision:
- 0:68a3851de2ee
Alarm Clock
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
tshin7 | 0:68a3851de2ee | 1 | #include "mbed.h" |
tshin7 | 0:68a3851de2ee | 2 | #include "speaker.h" |
tshin7 | 0:68a3851de2ee | 3 | #include "SongPlayer.h" |
tshin7 | 0:68a3851de2ee | 4 | |
tshin7 | 0:68a3851de2ee | 5 | #define NOTE_B0 31 |
tshin7 | 0:68a3851de2ee | 6 | #define NOTE_C1 33 |
tshin7 | 0:68a3851de2ee | 7 | #define NOTE_CS1 35 |
tshin7 | 0:68a3851de2ee | 8 | #define NOTE_D1 37 |
tshin7 | 0:68a3851de2ee | 9 | #define NOTE_DS1 39 |
tshin7 | 0:68a3851de2ee | 10 | #define NOTE_E1 41 |
tshin7 | 0:68a3851de2ee | 11 | #define NOTE_F1 44 |
tshin7 | 0:68a3851de2ee | 12 | #define NOTE_FS1 46 |
tshin7 | 0:68a3851de2ee | 13 | #define NOTE_G1 49 |
tshin7 | 0:68a3851de2ee | 14 | #define NOTE_GS1 52 |
tshin7 | 0:68a3851de2ee | 15 | #define NOTE_A1 55 |
tshin7 | 0:68a3851de2ee | 16 | #define NOTE_AS1 58 |
tshin7 | 0:68a3851de2ee | 17 | #define NOTE_B1 62 |
tshin7 | 0:68a3851de2ee | 18 | #define NOTE_C2 65 |
tshin7 | 0:68a3851de2ee | 19 | #define NOTE_CS2 69 |
tshin7 | 0:68a3851de2ee | 20 | #define NOTE_D2 73 |
tshin7 | 0:68a3851de2ee | 21 | #define NOTE_DS2 78 |
tshin7 | 0:68a3851de2ee | 22 | #define NOTE_E2 82 |
tshin7 | 0:68a3851de2ee | 23 | #define NOTE_F2 87 |
tshin7 | 0:68a3851de2ee | 24 | #define NOTE_FS2 93 |
tshin7 | 0:68a3851de2ee | 25 | #define NOTE_G2 98 |
tshin7 | 0:68a3851de2ee | 26 | #define NOTE_GS2 104 |
tshin7 | 0:68a3851de2ee | 27 | #define NOTE_A2 110 |
tshin7 | 0:68a3851de2ee | 28 | #define NOTE_AS2 117 |
tshin7 | 0:68a3851de2ee | 29 | #define NOTE_B2 123 |
tshin7 | 0:68a3851de2ee | 30 | #define NOTE_C3 131 |
tshin7 | 0:68a3851de2ee | 31 | #define NOTE_CS3 139 |
tshin7 | 0:68a3851de2ee | 32 | #define NOTE_D3 147 |
tshin7 | 0:68a3851de2ee | 33 | #define NOTE_DS3 156 |
tshin7 | 0:68a3851de2ee | 34 | #define NOTE_E3 165 |
tshin7 | 0:68a3851de2ee | 35 | #define NOTE_F3 175 |
tshin7 | 0:68a3851de2ee | 36 | #define NOTE_FS3 185 |
tshin7 | 0:68a3851de2ee | 37 | #define NOTE_G3 196 |
tshin7 | 0:68a3851de2ee | 38 | #define NOTE_GS3 208 |
tshin7 | 0:68a3851de2ee | 39 | #define NOTE_A3 220 |
tshin7 | 0:68a3851de2ee | 40 | #define NOTE_AS3 233 |
tshin7 | 0:68a3851de2ee | 41 | #define NOTE_B3 247 |
tshin7 | 0:68a3851de2ee | 42 | #define NOTE_C4 262 |
tshin7 | 0:68a3851de2ee | 43 | #define NOTE_CS4 277 |
tshin7 | 0:68a3851de2ee | 44 | #define NOTE_D4 294 |
tshin7 | 0:68a3851de2ee | 45 | #define NOTE_DS4 311 |
tshin7 | 0:68a3851de2ee | 46 | #define NOTE_E4 330 |
tshin7 | 0:68a3851de2ee | 47 | #define NOTE_F4 349 |
tshin7 | 0:68a3851de2ee | 48 | #define NOTE_FS4 370 |
tshin7 | 0:68a3851de2ee | 49 | #define NOTE_G4 392 |
tshin7 | 0:68a3851de2ee | 50 | #define NOTE_GS4 415 |
tshin7 | 0:68a3851de2ee | 51 | #define NOTE_A4 440 |
tshin7 | 0:68a3851de2ee | 52 | #define NOTE_AS4 466 |
tshin7 | 0:68a3851de2ee | 53 | #define NOTE_B4 494 |
tshin7 | 0:68a3851de2ee | 54 | #define NOTE_C5 523 |
tshin7 | 0:68a3851de2ee | 55 | #define NOTE_CS5 554 |
tshin7 | 0:68a3851de2ee | 56 | #define NOTE_D5 587 |
tshin7 | 0:68a3851de2ee | 57 | #define NOTE_DS5 622 |
tshin7 | 0:68a3851de2ee | 58 | #define NOTE_E5 659 |
tshin7 | 0:68a3851de2ee | 59 | #define NOTE_F5 698 |
tshin7 | 0:68a3851de2ee | 60 | #define NOTE_FS5 740 |
tshin7 | 0:68a3851de2ee | 61 | #define NOTE_G5 784 |
tshin7 | 0:68a3851de2ee | 62 | #define NOTE_GS5 831 |
tshin7 | 0:68a3851de2ee | 63 | #define NOTE_A5 880 |
tshin7 | 0:68a3851de2ee | 64 | #define NOTE_AS5 932 |
tshin7 | 0:68a3851de2ee | 65 | #define NOTE_B5 988 |
tshin7 | 0:68a3851de2ee | 66 | #define NOTE_C6 1047 |
tshin7 | 0:68a3851de2ee | 67 | #define NOTE_CS6 1109 |
tshin7 | 0:68a3851de2ee | 68 | #define NOTE_D6 1175 |
tshin7 | 0:68a3851de2ee | 69 | #define NOTE_DS6 1245 |
tshin7 | 0:68a3851de2ee | 70 | #define NOTE_E6 1319 |
tshin7 | 0:68a3851de2ee | 71 | #define NOTE_F6 1397 |
tshin7 | 0:68a3851de2ee | 72 | #define NOTE_FS6 1480 |
tshin7 | 0:68a3851de2ee | 73 | #define NOTE_G6 1568 |
tshin7 | 0:68a3851de2ee | 74 | #define NOTE_GS6 1661 |
tshin7 | 0:68a3851de2ee | 75 | #define NOTE_A6 1760 |
tshin7 | 0:68a3851de2ee | 76 | #define NOTE_AS6 1865 |
tshin7 | 0:68a3851de2ee | 77 | #define NOTE_B6 1976 |
tshin7 | 0:68a3851de2ee | 78 | #define NOTE_C7 2093 |
tshin7 | 0:68a3851de2ee | 79 | #define NOTE_CS7 2217 |
tshin7 | 0:68a3851de2ee | 80 | #define NOTE_D7 2349 |
tshin7 | 0:68a3851de2ee | 81 | #define NOTE_DS7 2489 |
tshin7 | 0:68a3851de2ee | 82 | #define NOTE_E7 2637 |
tshin7 | 0:68a3851de2ee | 83 | #define NOTE_F7 2794 |
tshin7 | 0:68a3851de2ee | 84 | #define NOTE_FS7 2960 |
tshin7 | 0:68a3851de2ee | 85 | #define NOTE_G7 3136 |
tshin7 | 0:68a3851de2ee | 86 | #define NOTE_GS7 3322 |
tshin7 | 0:68a3851de2ee | 87 | #define NOTE_A7 3520 |
tshin7 | 0:68a3851de2ee | 88 | #define NOTE_AS7 3729 |
tshin7 | 0:68a3851de2ee | 89 | #define NOTE_B7 3951 |
tshin7 | 0:68a3851de2ee | 90 | #define NOTE_C8 4186 |
tshin7 | 0:68a3851de2ee | 91 | #define NOTE_CS8 4435 |
tshin7 | 0:68a3851de2ee | 92 | #define NOTE_D8 4699 |
tshin7 | 0:68a3851de2ee | 93 | #define NOTE_DS8 4978 |
tshin7 | 0:68a3851de2ee | 94 | |
tshin7 | 0:68a3851de2ee | 95 | float note[]= { |
tshin7 | 0:68a3851de2ee | 96 | NOTE_E7, NOTE_E7, 0, NOTE_E7, |
tshin7 | 0:68a3851de2ee | 97 | 0, NOTE_C7, NOTE_E7, 0, |
tshin7 | 0:68a3851de2ee | 98 | NOTE_G7, 0, 0, 0, |
tshin7 | 0:68a3851de2ee | 99 | NOTE_G6, 0, 0, 0, |
tshin7 | 0:68a3851de2ee | 100 | |
tshin7 | 0:68a3851de2ee | 101 | NOTE_C7, 0, 0, NOTE_G6, |
tshin7 | 0:68a3851de2ee | 102 | 0, 0, NOTE_E6, 0, |
tshin7 | 0:68a3851de2ee | 103 | 0, NOTE_A6, 0, NOTE_B6, |
tshin7 | 0:68a3851de2ee | 104 | 0, NOTE_AS6, NOTE_A6, 0, |
tshin7 | 0:68a3851de2ee | 105 | |
tshin7 | 0:68a3851de2ee | 106 | NOTE_G6, NOTE_E7, NOTE_G7, |
tshin7 | 0:68a3851de2ee | 107 | NOTE_A7, 0, NOTE_F7, NOTE_G7, |
tshin7 | 0:68a3851de2ee | 108 | 0, NOTE_E7, 0, NOTE_C7, |
tshin7 | 0:68a3851de2ee | 109 | NOTE_D7, NOTE_B6, 0, 0, |
tshin7 | 0:68a3851de2ee | 110 | |
tshin7 | 0:68a3851de2ee | 111 | NOTE_C7, 0, 0, NOTE_G6, |
tshin7 | 0:68a3851de2ee | 112 | 0, 0, NOTE_E6, 0, |
tshin7 | 0:68a3851de2ee | 113 | 0, NOTE_A6, 0, NOTE_B6, |
tshin7 | 0:68a3851de2ee | 114 | 0, NOTE_AS6, NOTE_A6, 0, |
tshin7 | 0:68a3851de2ee | 115 | |
tshin7 | 0:68a3851de2ee | 116 | NOTE_G6, NOTE_E7, NOTE_G7, |
tshin7 | 0:68a3851de2ee | 117 | NOTE_A7, 0, NOTE_F7, NOTE_G7, |
tshin7 | 0:68a3851de2ee | 118 | 0, NOTE_E7, 0, NOTE_C7, |
tshin7 | 0:68a3851de2ee | 119 | NOTE_D7, NOTE_B6, 0, 0 |
tshin7 | 0:68a3851de2ee | 120 | }; |
tshin7 | 0:68a3851de2ee | 121 | float duration[]= { |
tshin7 | 0:68a3851de2ee | 122 | 0.1, 0.1, 0.1, 0.1, |
tshin7 | 0:68a3851de2ee | 123 | 0.1, 0.1, 0.1, 0.1, |
tshin7 | 0:68a3851de2ee | 124 | 0.1, 0.1, 0.1, 0.1, |
tshin7 | 0:68a3851de2ee | 125 | 0.1, 0.1, 0.1, 0.1, |
tshin7 | 0:68a3851de2ee | 126 | |
tshin7 | 0:68a3851de2ee | 127 | 0.1, 0.1, 0.1, 0.1, |
tshin7 | 0:68a3851de2ee | 128 | 0.1, 0.1, 0.1, 0.1, |
tshin7 | 0:68a3851de2ee | 129 | 0.1, 0.1, 0.1, 0.1, |
tshin7 | 0:68a3851de2ee | 130 | 0.1, 0.1, 0.1, 0.1, |
tshin7 | 0:68a3851de2ee | 131 | |
tshin7 | 0:68a3851de2ee | 132 | 0.075,0.075,0.075, |
tshin7 | 0:68a3851de2ee | 133 | 0.1, 0.1, 0.1, 0.1, |
tshin7 | 0:68a3851de2ee | 134 | 0.1, 0.1, 0.1, 0.1, |
tshin7 | 0:68a3851de2ee | 135 | 0.1, 0.1, 0.1, 0.1, |
tshin7 | 0:68a3851de2ee | 136 | |
tshin7 | 0:68a3851de2ee | 137 | 0.1, 0.1, 0.1, 0.1, |
tshin7 | 0:68a3851de2ee | 138 | 0.1, 0.1, 0.1, 0.1, |
tshin7 | 0:68a3851de2ee | 139 | 0.1, 0.1, 0.1, 0.1, |
tshin7 | 0:68a3851de2ee | 140 | 0.1, 0.1, 0.1, 0.1, |
tshin7 | 0:68a3851de2ee | 141 | |
tshin7 | 0:68a3851de2ee | 142 | 0.075,0.075,0.075, |
tshin7 | 0:68a3851de2ee | 143 | 0.1, 0.1, 0.1, 0.1, |
tshin7 | 0:68a3851de2ee | 144 | 0.1, 0.1, 0.1, 0.1, |
tshin7 | 0:68a3851de2ee | 145 | 0.1, 0.1, 0.1, 0.1, |
tshin7 | 0:68a3851de2ee | 146 | }; |
tshin7 | 0:68a3851de2ee | 147 | |
tshin7 | 0:68a3851de2ee | 148 | float off[1] = {0.0}; |
tshin7 | 0:68a3851de2ee | 149 | |
tshin7 | 0:68a3851de2ee | 150 | SongPlayer mySpeaker(p25); |
tshin7 | 0:68a3851de2ee | 151 | |
tshin7 | 0:68a3851de2ee | 152 | void speaker::playSpeaker() |
tshin7 | 0:68a3851de2ee | 153 | { |
tshin7 | 0:68a3851de2ee | 154 | mySpeaker.PlaySong(note,duration); |
tshin7 | 0:68a3851de2ee | 155 | } |
tshin7 | 0:68a3851de2ee | 156 | |
tshin7 | 0:68a3851de2ee | 157 | void speaker::turnOffSpeaker() |
tshin7 | 0:68a3851de2ee | 158 | { |
tshin7 | 0:68a3851de2ee | 159 | mySpeaker.PlaySong(off,off); |
tshin7 | 0:68a3851de2ee | 160 | } |