Hexi_Acceleromagnetic_Synth: Michael Yarnell, Alec Pierce, 2017 The program turns an NXP Hexiwear, its development board, and a Click buzzer collectively into an 'acceleromagnetic' synthesizer. That is to say that the synthesizer is controlled primarily via the on-board accelerometer and magnetometer units.
Dependencies: FXOS8700 Hexi_KW40Z NeatGUI PWM_6_Tone_Library
pwm_6_tone.h
- Committer:
- MTYarnell
- Date:
- 2017-04-18
- Revision:
- 0:bec3a12e79e7
File content as of revision 0:bec3a12e79e7:
/* Modified as part of "Hexi_Acceleromagnetic_Synth" 2017 Michael Yarnell, Alec Pierce Class Project: ECE49500 SP17 (MEMS/NEMS/IoT/Wearables) IUPUI - Purdue School of Engineering and Technology Octaves 1, 2, and 6 were added after calculation based on 3, 4, and 5. ** Includes ------------------------------------------------------------------*/ #include "mbed.h" /* Private typedef -----------------------------------------------------------*/ /* Private define ------------------------------------------------------------*/ #define Do1 33 //C octave1 #define Do1s 35 //C# #define Re1 37 //D #define Re1s 39 //D# #define Mi1 41 //E #define Fa1 44 //F #define Fa1s 46 //F# #define So1 49 //G #define So1s 52 //G# #define La1 55 //A #define La1s 58 //A# #define Ti1 62 //B #define Do2 66 //C octave2 #define Do2s 69 //C# #define Re2 74 //D #define Re2s 78 //D# #define Mi2 83 //E #define Fa2 87 //F #define Fa2s 93 //F# #define So2 98 //G #define So2s 104 //G# #define La2 110 //A #define La2s 117 //A# #define Ti2 124 //B #define Do3 131 //C octave3 #define Do3s 139 //C# #define Re3 147 //D #define Re3s 156//D# #define Mi3 165 //E #define Fa3 175 //F #define Fa3s 185 //F# #define So3 196 //G #define So3s 208 //G# #define La3 220 //A #define La3s 233 //A# #define Ti3 247 //B #define Do4 262 //C octave4 #define Do4s 277 //C# #define Re4 294 //D #define Re4s 311//D# #define Mi4 330 //E #define Fa4 349 //F #define Fa4s 370 //F# #define So4 392 //G #define So4s 415 //G# #define La4 440 //A #define La4s 466 //A# #define Ti4 494 //B #define Do5 523 //C octave5 #define Do5s 554 //C# #define Re5 587 //D #define Re5s 622//D# #define Mi5 659 //E #define Fa5 699 //F #define Fa5s 740 //F# #define So5 784 //G #define So5s 831 //G# #define La5 880 //A #define La5s 932 //A# #define Ti5 988 //B #define Do6 1045 //C octave6 #define Do6s 1107 //C# #define Re6 1173 //D #define Re6s 1243 //D# #define Mi6 1317 //E #define Fa6 1395 //F #define Fa6s 1478 //F# #define So6 1566 //G #define So6s 1659 //G# #define La6 1757 //A #define La6s 1861 //A# #define Ti6 1972 //B /* Private variables ---------------------------------------------------------*/ /* Private function prototypes -----------------------------------------------*/ void Tune(PwmOut name, int period, int beat); void Auto_tunes(PwmOut name, int period, int beat); void Stop_tunes(PwmOut name); /* Private functions ---------------------------------------------------------*/