Don't like ads? PRO users don't see any ads ;-)
Guest

Untitled

By: a guest on May 9th, 2012  |  syntax: None  |  size: 2.80 KB  |  hits: 21  |  expires: Never
download  |  raw  |  embed  |  report abuse  |  print
Text below is selected. Please press Ctrl+C to copy to your clipboard. (⌘+C on Mac)
  1. /*
  2.   Pitch follower
  3.  */
  4. #define NOTE_B0  31
  5. #define NOTE_C1  33
  6. #define NOTE_CS1 35
  7. #define NOTE_D1  37
  8. #define NOTE_DS1 39
  9. #define NOTE_E1  41
  10. #define NOTE_F1  44
  11. #define NOTE_FS1 46
  12. #define NOTE_G1  49
  13. #define NOTE_GS1 52
  14. #define NOTE_A1  55
  15. #define NOTE_AS1 58
  16. #define NOTE_B1  62
  17. #define NOTE_C2  65
  18. #define NOTE_CS2 69
  19. #define NOTE_D2  73
  20. #define NOTE_DS2 78
  21. #define NOTE_E2  82
  22. #define NOTE_F2  87
  23. #define NOTE_FS2 93
  24. #define NOTE_G2  98
  25. #define NOTE_GS2 104
  26. #define NOTE_A2  110
  27. #define NOTE_AS2 117
  28. #define NOTE_B2  123
  29. #define NOTE_C3  131
  30. #define NOTE_CS3 139
  31. #define NOTE_D3  147
  32. #define NOTE_DS3 156
  33. #define NOTE_E3  165
  34. #define NOTE_F3  175
  35. #define NOTE_FS3 185
  36. #define NOTE_G3  196
  37. #define NOTE_GS3 208
  38. #define NOTE_A3  220
  39. #define NOTE_AS3 233
  40. #define NOTE_B3  247
  41. #define NOTE_C4  262
  42. #define NOTE_CS4 277
  43. #define NOTE_D4  294
  44. #define NOTE_DS4 311
  45. #define NOTE_E4  330
  46. #define NOTE_F4  349
  47. #define NOTE_FS4 370
  48. #define NOTE_G4  392
  49. #define NOTE_GS4 415
  50. #define NOTE_A4  440
  51. #define NOTE_AS4 466
  52. #define NOTE_B4  494
  53. #define NOTE_C5  523
  54. #define NOTE_CS5 554
  55. #define NOTE_D5  587
  56. #define NOTE_DS5 622
  57. #define NOTE_E5  659
  58. #define NOTE_F5  698
  59. #define NOTE_FS5 740
  60. #define NOTE_G5  784
  61. #define NOTE_GS5 831
  62. #define NOTE_A5  880
  63. #define NOTE_AS5 932
  64. #define NOTE_B5  988
  65. #define NOTE_C6  1047
  66. #define NOTE_CS6 1109
  67. #define NOTE_D6  1175
  68. #define NOTE_DS6 1245
  69. #define NOTE_E6  1319
  70. #define NOTE_F6  1397
  71. #define NOTE_FS6 1480
  72. #define NOTE_G6  1568
  73. #define NOTE_GS6 1661
  74. #define NOTE_A6  1760
  75. #define NOTE_AS6 1865
  76. #define NOTE_B6  1976
  77. #define NOTE_C7  2093
  78. #define NOTE_CS7 2217
  79. #define NOTE_D7  2349
  80. #define NOTE_DS7 2489
  81. #define NOTE_E7  2637
  82. #define NOTE_F7  2794
  83. #define NOTE_FS7 2960
  84. #define NOTE_G7  3136
  85. #define NOTE_GS7 3322
  86. #define NOTE_A7  3520
  87. #define NOTE_AS7 3729
  88. #define NOTE_B7  3951
  89. #define NOTE_C8  4186
  90. #define NOTE_CS8 4435
  91. #define NOTE_D8  4699
  92. #define NOTE_DS8 4978
  93.  
  94. //int notes[89] = {31, 33, 35, 37, 39, 41, 44, 46, 49, 52, 55, 58, 62, 65, 69, 73, 78, 82, 87, 93, 98, 104, 110, 117, 123, 131, 139, 147, 156, 165, 175, 185, 196, 208, 220, 233, 247, 262, 277, 294, 311, 330, 349, 370, 392, 415, 440, 466, 494, 523, 554, 587, 622, 659, 698, 740, 784, 831, 880, 932, 988, 1047, 1109, 1175, 1245, 1319, 1397, 1480, 1568, 1661, 1760, 1865, 1976, 2093, 2217, 2349, 2489, 2637, 2794, 2960, 3136, 3322, 3520, 3729, 3951, 4186, 4435, 4699, 4978};
  95.  
  96. int notes[8] = { NOTE_C4, NOTE_D4, NOTE_E4, NOTE_F4, NOTE_G4, NOTE_A4, NOTE_B4, NOTE_C5 };
  97.  
  98. int note_count = 8;
  99.  
  100. void setup() {
  101. }
  102.  
  103. void loop() {
  104.   // read the sensor:
  105.   int sensorReading = analogRead(A0);
  106.  
  107.   // map the pitch to the range of the analog input.
  108.   // change the minimum and maximum input numbers below
  109.   // depending on the range your sensor's giving:
  110.   int thisPitch = map(sensorReading, 10, 1000, 0, note_count-1);
  111.  
  112.   // play the pitch:
  113.   tone(8, notes[thisPitch], 10);
  114. }