comment
IRC Chat
play_arrow
Este sitio utiliza cookies propias y de terceros. Si continúa navegando consideramos que acepta el uso de cookies. OK Más Información.

Arduino: Cuando la obscuridad llega la marcha imperial comienza

  • 2 Respuestas
  • 2556 Vistas

0 Usuarios y 2 Visitantes están viendo este tema.

Conectado skwlk

  • *
  • Underc0der
  • Mensajes: 12
  • Actividad:
    0%
  • Reputación 1
    • Ver Perfil
« en: Octubre 02, 2016, 11:16:07 pm »
Toca la marcha imperial de Star Wars cuando la lectura de la foto resistencia (LDR) baja de cierto valor.
Entradas:
 A0  - LDR
Salidas:
 D13 - LED
 D8  - Buzzer

Código: C++
  1. // NB: ALL NOTES DEFINED WITH STANDARD ENGLISH NAMES, EXCEPT FROM "A"
  2. //THAT IS CALLED WITH THE ITALIAN NAME "LA" BECAUSE A0,A1...ARE THE ANALOG PINS ON ARDUINO.
  3. // (Ab IS CALLED Ab AND NOT LAb)
  4. #define  C0 16.35
  5. #define Db0 17.32
  6. #define D0  18.35
  7. #define Eb0 19.45
  8. #define E0  20.60
  9. #define F0  21.83
  10. #define Gb0 23.12
  11. #define G0  24.50
  12. #define Ab0 25.96
  13. #define LA0 27.50
  14. #define Bb0 29.14
  15. #define B0  30.87
  16. #define C1  32.70
  17. #define Db1 34.65
  18. #define D1  36.71
  19. #define Eb1 38.89
  20. #define E1  41.20
  21. #define F1  43.65
  22. #define Gb1 46.25
  23. #define G1  49.00
  24. #define Ab1 51.91
  25. #define LA1 55.00
  26. #define Bb1 58.27
  27. #define B1  61.74
  28. #define C2  65.41
  29. #define Db2 69.30
  30. #define D2  73.42
  31. #define Eb2 77.78
  32. #define E2  82.41
  33. #define F2  87.31
  34. #define Gb2 92.50
  35. #define G2  98.00
  36. #define Ab2 103.83
  37. #define LA2 110.00
  38. #define Bb2 116.54
  39. #define B2  123.47
  40. #define C3  130.81
  41. #define Db3 138.59
  42. #define D3  146.83
  43. #define Eb3 155.56
  44. #define E3  164.81
  45. #define F3  174.61
  46. #define Gb3 185.00
  47. #define G3  196.00
  48. #define Ab3 207.65
  49. #define LA3 220.00
  50. #define Bb3 233.08
  51. #define B3  246.94
  52. #define C4  261.63
  53. #define Db4 277.18
  54. #define D4  293.66
  55. #define Eb4 311.13
  56. #define E4  329.63
  57. #define F4  349.23
  58. #define Gb4 369.99
  59. #define G4  392.00
  60. #define Ab4 415.30
  61. #define LA4 440.00
  62. #define Bb4 466.16
  63. #define B4  493.88
  64. #define C5  523.25
  65. #define Db5 554.37
  66. #define D5  587.33
  67. #define Eb5 622.25
  68. #define E5  659.26
  69. #define F5  698.46
  70. #define Gb5 739.99
  71. #define G5  783.99
  72. #define Ab5 830.61
  73. #define LA5 880.00
  74. #define Bb5 932.33
  75. #define B5  987.77
  76. #define C6  1046.50
  77. #define Db6 1108.73
  78. #define D6  1174.66
  79. #define Eb6 1244.51
  80. #define E6  1318.51
  81. #define F6  1396.91
  82. #define Gb6 1479.98
  83. #define G6  1567.98
  84. #define Ab6 1661.22
  85. #define LA6 1760.00
  86. #define Bb6 1864.66
  87. #define B6  1975.53
  88. #define C7  2093.00
  89. #define Db7 2217.46
  90. #define D7  2349.32
  91. #define Eb7 2489.02
  92. #define E7  2637.02
  93. #define F7  2793.83
  94. #define Gb7 2959.96
  95. #define G7  3135.96
  96. #define Ab7 3322.44
  97. #define LA7 3520.01
  98. #define Bb7 3729.31
  99. #define B7  3951.07
  100. #define C8  4186.01
  101. #define Db8 4434.92
  102. #define D8  4698.64
  103. #define Eb8 4978.03
  104. #define PAUSE 0.0
  105. #define END 1.0
  106. // DURATION OF THE NOTES
  107. #define BPM 120    //  you can change this value changing all the others
  108. #define H 2*Q //half 2/4
  109. #define Q 60000/BPM //quarter 1/4
  110. #define E Q/2   //eighth 1/8
  111. #define S Q/4 // sixteenth 1/16
  112. #define W 4*Q // whole 4/4
  113. int i = 0;
  114.  
  115. float Notes[][2] = {{LA3,Q},{LA3,Q},{LA3,Q},{F3,E+S},{C4,S},
  116.                    {LA3,Q},{F3,E+S},{C4,S},{LA3,H},
  117.                    {E4,Q},{E4,Q},{E4,Q},{F4,E+S},{C4,S},
  118.                    {Ab3,Q},{F3,E+S},{C4,S},{LA3,H},
  119.                    {LA4,Q},{LA3,E+S},{LA3,S},{LA4,Q},{Ab4,E+S},{G4,S},
  120.                    {Gb4,S},{E4,S},{F4,E},{PAUSE,E},{Bb3,E},{Eb4,Q},{D4,E+S},{Db4,S},
  121.                    {C4,S},{B3,S},{C4,E},{PAUSE,E},{F3,E},{Ab3,Q},{F3,E+S},{LA3,S},
  122.                    {C4,Q},{LA3,E+S},{C4,S},{E4,H},
  123.                    {LA4,Q},{LA3,E+S},{LA3,S},{LA4,Q},{Ab4,E+S},{G4,},
  124.                    {Gb4,S},{E4,S},{F4,E},{PAUSE,E},{Bb3,E},{Eb4,Q},{D4,E+S},{Db4,S},
  125.                    {C4,S},{B3,S},{C4,E},{PAUSE,E},{F3,E},{Ab3,Q},{F3,E+S},{C4,S},
  126.                    {LA3,Q},{F3,E+S},{C4,S},{LA3,H},{PAUSE,2*H},{END,H}
  127.                    };
  128. void play(float note, float duration)
  129. {
  130.   tone(8,note,duration);
  131.   digitalWrite(13,HIGH);
  132.   delay(duration/2);
  133.   digitalWrite(13,LOW);
  134.   delay(1+duration/2);
  135. }
  136.  
  137. void setup() {
  138.   // put your setup code here, to run once:
  139.   pinMode(8,OUTPUT);
  140.   pinMode(13,OUTPUT);
  141.   digitalWrite(13,LOW);
  142. }
  143.  
  144. void loop() {
  145.   // put your main code here, to run repeatedly:
  146.   if(analogRead(0)<200)
  147.   {
  148.    
  149.     play(Notes[i][0],Notes[i][1]);
  150.     i++;
  151.     if(Notes[i][0] == END) i = 0;
  152.   }
  153. }

Video
« Última modificación: Octubre 19, 2016, 10:19:42 am por skwlk »

Conectado ANTRAX

  • *
  • Administrator
  • Mensajes: 5409
  • Actividad:
    20%
  • Reputación 33
  • ANTRAX
    • Ver Perfil
    • Underc0de
    • Email
  • Skype: underc0de.org
  • Twitter: @Underc0de
« Respuesta #1 en: Octubre 18, 2016, 09:21:58 am »
Muy bueno!! Tienes algún video como para verlo?
Saludos


Conectado skwlk

  • *
  • Underc0der
  • Mensajes: 12
  • Actividad:
    0%
  • Reputación 1
    • Ver Perfil
« Respuesta #2 en: Octubre 19, 2016, 10:20:46 am »
Muy bueno!! Tienes algún video como para verlo?
Saludos

Ya he añadido el vídeo.

Saludos

 

¿Te gustó el post? COMPARTILO!



Arduino + Snap4Arduino "Hola Mundo"

Iniciado por Riojas

Respuestas: 1
Vistas: 1862
Último mensaje Febrero 19, 2017, 09:31:50 pm
por rreedd
Arduino + Snap4Arduino "Juego PONG" [Parte1]

Iniciado por Riojas

Respuestas: 0
Vistas: 1355
Último mensaje Febrero 24, 2017, 04:59:07 pm
por Riojas
Arduino + Snap4Arduino "Juego PONG" [Final]

Iniciado por Riojas

Respuestas: 0
Vistas: 909
Último mensaje Marzo 15, 2017, 02:33:08 pm
por Riojas
Arduino + Snap4Arduino "Juego PONG" [Parte2]

Iniciado por Riojas

Respuestas: 0
Vistas: 1116
Último mensaje Marzo 03, 2017, 07:07:08 pm
por Riojas
Creando librerías en Arduino #2: Clases, métodos y propiedades... [ITMK Blog]

Iniciado por fermino

Respuestas: 0
Vistas: 2161
Último mensaje Febrero 18, 2015, 10:57:00 pm
por fermino