Advertisement
Guest User

Untitled

a guest
Feb 24th, 2017
71
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.81 KB | None | 0 0
  1. //Este codigo es solo para simplificar el uso de disqueteras para producir tonos, no es la mejor manera pero se simplifica
  2. //Pin 11 & 12 de la disquetera. unidos ambos juntos.
  3. //Pin 17 disquetera > Tierra del Arduino (Gnd)
  4. //Pin 18 disquetera > Pin 9 del Arduino (Este controla la dirección)
  5. //Pin 19 disquetera > Tierra del Arduino
  6. //Pin 20 disquetera > Pin 8 del Arduino (Este pin recibe los pulsos.)
  7.  
  8. // Ojo: Todas las notas están en ingles, excepto la "A" que esta escritacon el nombre italiano "LA" esto
  9. // debido a que los pines A0 y A1 son pines analogicos de alrduino
  10. // (Abemol se llama Ab y no LAb)
  11. #define C0 16.35
  12. #define Db0 17.32
  13. #define D0 18.35
  14. #define Eb0 19.45
  15. #define E0 20.60
  16. #define F0 21.83
  17. #define Gb0 23.12
  18. #define G0 24.50
  19. #define Ab0 25.96
  20. #define LA0 27.50
  21. #define Bb0 29.14
  22. #define B0 30.87
  23. #define C1 32.70
  24. #define Db1 34.65
  25. #define D1 36.71
  26. #define Eb1 38.89
  27. #define E1 41.20
  28. #define F1 43.65
  29. #define Gb1 46.25
  30. #define G1 49.00
  31. #define Ab1 51.91
  32. #define LA1 55.00
  33. #define Bb1 58.27
  34. #define B1 61.74
  35. #define C2 65.41
  36. #define Db2 69.30
  37. #define D2 73.42
  38. #define Eb2 77.78
  39. #define E2 82.41
  40. #define F2 87.31
  41. #define Gb2 92.50
  42. #define G2 98.00
  43. #define Ab2 103.83
  44. #define LA2 110.00
  45. #define Bb2 116.54
  46. #define B2 123.47
  47. #define C3 130.81
  48. #define Db3 138.59
  49. #define D3 146.83
  50. #define Eb3 155.56
  51. #define E3 164.81
  52. #define F3 174.61
  53. #define Gb3 185.00
  54. #define G3 196.00
  55. #define Ab3 207.65
  56. #define LA3 220.00
  57. #define Bb3 233.08
  58. #define B3 246.94
  59. #define C4 261.63
  60. #define Db4 277.18
  61. #define D4 293.66
  62. #define Eb4 311.13
  63. #define E4 329.63
  64. #define F4 349.23
  65. #define Gb4 369.99
  66. #define G4 392.00
  67. #define Ab4 415.30
  68. #define LA4 440.00
  69. #define Bb4 466.16
  70. #define B4 493.88
  71. #define C5 523.25
  72. #define Db5 554.37
  73. #define D5 587.33
  74. #define Eb5 622.25
  75. #define E5 659.26
  76. #define F5 698.46
  77. #define Gb5 739.99
  78. #define G5 783.99
  79. #define Ab5 830.61
  80. #define LA5 880.00
  81. #define Bb5 932.33
  82. #define B5 987.77
  83. #define C6 1046.50
  84. #define Db6 1108.73
  85. #define D6 1174.66
  86. #define Eb6 1244.51
  87. #define E6 1318.51
  88. #define F6 1396.91
  89. #define Gb6 1479.98
  90. #define G6 1567.98
  91. #define Ab6 1661.22
  92. #define LA6 1760.00
  93. #define Bb6 1864.66
  94. #define B6 1975.53
  95. #define C7 2093.00
  96. #define Db7 2217.46
  97. #define D7 2349.32
  98. #define Eb7 2489.02
  99. #define E7 2637.02
  100. #define F7 2793.83
  101. #define Gb7 2959.96
  102. #define G7 3135.96
  103. #define Ab7 3322.44
  104. #define LA7 3520.01
  105. #define Bb7 3729.31
  106. #define B7 3951.07
  107. #define C8 4186.01
  108. #define Db8 4434.92
  109. #define D8 4698.64
  110. #define Eb8 4978.03
  111. // DURATION OF THE NOTES
  112. #define BPM 120 // you can change this value changing all the others
  113. #define H 2*Q //half 2/4
  114. #define Q 60000/BPM //quarter 1/4
  115. #define E Q/2 //eighth 1/8
  116. #define S Q/4 // sixteenth 1/16
  117. #define W 4*Q // whole 4/4
  118. int i;
  119. int t;
  120. bool estadopin = false;
  121.  
  122. void setup() {
  123. //Configuramos los pines
  124. pinMode(8, OUTPUT);
  125. pinMode(9, OUTPUT);
  126. digitalWrite(9,LOW);
  127.  
  128. }
  129.  
  130. // El loop se repite infinitamente.
  131. void loop() {
  132.  
  133. //OJO ====== ESTA ES LA CANCION POR DEFAULT, TU PUEDES ARMAR LA TUYA CON LA FUNCION tono
  134. //tono(pin, note, duration)
  135. tono(8,LA3,Q);
  136. delay(1+Q); //Separar cada nota.
  137. tono(8,LA3,Q);
  138. delay(1+Q);
  139. tono(8,LA3,Q);
  140. delay(1+Q);
  141. tono(8,F3,E+S);
  142. delay(1+E+S);
  143. tono(8,C4,S);
  144. delay(1+S);
  145.  
  146. tono(8,LA3,Q);
  147. delay(1+Q);
  148. tono(8,F3,E+S);
  149. delay(1+E+S);
  150. tono(8,C4,S);
  151. delay(1+S);
  152. tono(8,LA3,H);
  153. delay(1+H);
  154.  
  155. tono(8,E4,Q);
  156. delay(1+Q);
  157. tono(8,E4,Q);
  158. delay(1+Q);
  159. tono(8,E4,Q);
  160. delay(1+Q);
  161. tono(8,F4,E+S);
  162. delay(1+E+S);
  163. tono(8,C4,S);
  164. delay(1+S);
  165.  
  166. tono(8,Ab3,Q);
  167. delay(1+Q);
  168. tono(8,F3,E+S);
  169. delay(1+E+S);
  170. tono(8,C4,S);
  171. delay(1+S);
  172. tono(8,LA3,H);
  173. delay(1+H);
  174.  
  175. tono(8,LA4,Q);
  176. delay(1+Q);
  177. tono(8,LA3,E+S);
  178. delay(1+E+S);
  179. tono(8,LA3,S);
  180. delay(1+S);
  181. tono(8,LA4,Q);
  182. delay(1+Q);
  183. tono(8,Ab4,E+S);
  184. delay(1+E+S);
  185. tono(8,G4,S);
  186. delay(1+S);
  187.  
  188. tono(8,Gb4,S);
  189. delay(1+S);
  190. tono(8,E4,S);
  191. delay(1+S);
  192. tono(8,F4,E);
  193. delay(1+E);
  194. delay(1+E);//PAUSE
  195. tono(8,Bb3,E);
  196. delay(1+E);
  197. tono(8,Eb4,Q);
  198. delay(1+Q);
  199. tono(8,D4,E+S);
  200. delay(1+E+S);
  201. tono(8,Db4,S);
  202. delay(1+S);
  203.  
  204. tono(8,C4,S);
  205. delay(1+S);
  206. tono(8,B3,S);
  207. delay(1+S);
  208. tono(8,C4,E);
  209. delay(1+E);
  210. delay(1+E);//PAUSE QUASI FINE RIGA
  211. tono(8,F3,E);
  212. delay(1+E);
  213. tono(8,Ab3,Q);
  214. delay(1+Q);
  215. tono(8,F3,E+S);
  216. delay(1+E+S);
  217. tono(8,LA3,S);
  218. delay(1+S);
  219.  
  220. tono(8,C4,Q);
  221. delay(1+Q);
  222. tono(8,LA3,E+S);
  223. delay(1+E+S);
  224. tono(8,C4,S);
  225. delay(1+S);
  226. tono(8,E4,H);
  227. delay(1+H);
  228.  
  229. tono(8,LA4,Q);
  230. delay(1+Q);
  231. tono(8,LA3,E+S);
  232. delay(1+E+S);
  233. tono(8,LA3,S);
  234. delay(1+S);
  235. tono(8,LA4,Q);
  236. delay(1+Q);
  237. tono(8,Ab4,E+S);
  238. delay(1+E+S);
  239. tono(8,G4,S);
  240. delay(1+S);
  241.  
  242. tono(8,Gb4,S);
  243. delay(1+S);
  244. tono(8,E4,S);
  245. delay(1+S);
  246. tono(8,F4,E);
  247. delay(1+E);
  248. delay(1+E);//PAUSE
  249. tono(8,Bb3,E);
  250. delay(1+E);
  251. tono(8,Eb4,Q);
  252. delay(1+Q);
  253. tono(8,D4,E+S);
  254. delay(1+E+S);
  255. tono(8,Db4,S);
  256. delay(1+S);
  257.  
  258. tono(8,C4,S);
  259. delay(1+S);
  260. tono(8,B3,S);
  261. delay(1+S);
  262. tono(8,C4,E);
  263. delay(1+E);
  264. delay(1+E);//PAUSE QUASI FINE RIGA
  265. tono(8,F3,E);
  266. delay(1+E);
  267. tono(8,Ab3,Q);
  268. delay(1+Q);
  269. tono(8,F3,E+S);
  270. delay(1+E+S);
  271. tono(8,C4,S);
  272.  
  273. tono(8,LA3,Q);
  274. tono(8,F3,E+S);
  275. tono(8,C4,S);
  276. tono(8,LA3,H);
  277.  
  278.  
  279. delay(2*H);
  280.  
  281. }
  282.  
  283.  
  284. //Funcion tono.
  285. void tono(byte pin,byte hertz, byte tiempo){
  286.  
  287. t = 0;
  288. while(t < tiempo) {
  289. t++;
  290. tone(pin,hertz,tiempo);
  291. if (i < 158){
  292. i++;
  293. } else {
  294. if (estadopin) {
  295. digitalWrite(9,LOW);
  296. estadopin = false;
  297. } else {
  298. digitalWrite(9, HIGH);
  299. estadopin = true;
  300. }
  301. i=0;
  302. }
  303. }
  304. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement