Autor Tema: Modulo de audio VTW-0200  (Leído 484 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado Abner_emanuel

  • PIC16
  • ***
  • Mensajes: 160
Modulo de audio VTW-0200
« en: 31 de Julio de 2023, 17:28:18 »
Hola, tengo un modulo de Audio VTW-0200 que contiene una memoria SD para grabarle archivos de audio y posteriormente reproducirlos. En mi aplicación, tengo 4 pulsadores. El código es en CCS C.

Estos 4 pulsadores realizan la siguiente función:

Pulsador_1; Aumenta en 1
Pulsador_2; Aumenta en 2
Pulsador_3; Aumenta en 5
Pulsador_4; Aumenta en 10

de tal manera que si yo presiono una vez el Pulsador_1 debe reproducir Play(1); de la función void habla_uno(); Si yo presiono después el pulsador_3 deberá reproducir Play(6);, es decir va acumulando la cuenta y reproduciendo el valor de la cuenta. Ahora bien se presiono otro pulsador_4, ahora reproducirá Play(16); y así sucesivamente hasta una cuenta acumulada de 100;

Tengo lo siguiente pero no se como aplicar mas el código para lograrlo. Me podrían ayudar?...


Código: C++
  1. void habla_uno(){
  2. Play(1);
  3. }
  4.  
  5. void habla_dos(){
  6. Play(2);
  7. }
  8.  
  9. void habla_tres(){
  10. Play(3);
  11. }
  12.  
  13. void habla_cuatro(){
  14. Play(4);
  15. }
  16.  
  17. void habla_cinco(){
  18. Play(5);
  19. }
  20.  
  21. void habla_seis(){
  22. Play(6);
  23. }
  24.  
  25. void habla_siete(){
  26. Play(7);
  27. }
  28.  
  29. void habla_ocho(){
  30. Play(8);
  31. }
  32.  
  33. void habla_nueve(){
  34. Play(9);
  35. }
  36.  
  37. void habla_diez(){
  38. Play(10);
  39. }
  40.  
  41. void habla_once(){
  42. Play(11);
  43. }
  44.  
  45. void habla_doce(){
  46. Play(12);
  47. }
  48.  
  49. void habla_trece(){
  50. Play(13);
  51. }
  52.  
  53. void habla_catorce(){
  54. Play(14);
  55. }
  56.  
  57. void habla_quince(){
  58. Play(15);
  59. }
  60.  
  61. void habla_dieciseis(){
  62. Play(16);
  63. }
  64.  
  65. void habla_diecisiete(){
  66. Play(17);
  67. }
  68.  
  69. void habla_dieciocho(){
  70. Play(18);
  71. }
  72.  
  73. void habla_diecinueve(){
  74. Play(19);
  75. }
  76.  
  77. void habla_veinte(){
  78. Play(20);
  79. }
  80.  
  81. void habla_treinta(){
  82. Play(21);
  83. }
  84.  
  85. void habla_cuarenta(){
  86. Play(22);
  87. }
  88.  
  89. void habla_cincuenta(){
  90. Play(23);
  91. }
  92.  
  93. void habla_sesenta(){
  94. Play(24);
  95. }
  96.  
  97. void habla_setenta(){
  98. Play(25);
  99. }
  100.  
  101. void habla_ochenta(){
  102. Play(26);
  103. }
  104.  
  105. void habla_noventa(){
  106. Play(27);
  107. }
  108.  
  109. void habla_cien(){
  110. Play(28);
  111. }
  112.  
  113. void habla_y(){
  114. Play(29);
  115. }
« Última modificación: 31 de Julio de 2023, 18:53:00 por Abner_emanuel »
El señor es mi pastor,  nada me faltará.

Desconectado DominusDRR

  • PIC24H
  • ******
  • Mensajes: 1937
    • Sicoy
Re:Modulo de audio VTW-0200
« Respuesta #1 en: 01 de Agosto de 2023, 13:52:27 »
Creo que deberías compartir más información de tu código y explicar un poco cuál es tu limitación

Por ejemplo, respecto a tu pregunta

¿Por qué no puedes hacer esto?

Código: C
  1. void habla_cien()
  2. {
  3. Play(100);
  4. }

¿Es porque no tienes 100 pulsadores/botones?

Tengo una idea algo difusa sobre MPLAB Harmony, XC32 con PIC32

Desconectado Abner_emanuel

  • PIC16
  • ***
  • Mensajes: 160
Re:Modulo de audio VTW-0200
« Respuesta #2 en: 01 de Agosto de 2023, 19:38:39 »
crepo que no me explique bien...

Play(x); es una pista, así Play(1); es la primera pista de audio  que dice UNO, Play(5); la quinta pista de audio que reproduce CINCO (estas pistas son los números de la pista), así si pongo Play(12); el audio se escuchara DOCE.
Sin embargo estas pistas aumentan dependiendo del pulsador seleccionado.

Código: C++
  1. Pulsador_1; Aumenta el numero de pista en 1
  2. Pulsador_2; Aumenta el numero de pista en 2
  3. Pulsador_3; Aumenta el numero de pista en 5
  4. Pulsador_4; Aumenta el numero de pista en 10

Mi problema es el siguiente, si tengo 100 o 200 pistas, para mandarlas llamar de una por una seria mucho código...

Play(1);
Play(2);
Play(3);
.
.
.
.
Play(200); 

Y no llevan una secuencia (ya que es la pista que se selecciona o que se aumenta con los pulsadores, si se van presionando va aumentando la pista de audio hasta que se detenga dice el numero).
Bueno un ejemplo si presiono los pulsadores y quedan en la pista 41. Entonces pensé que se podrían unir las pistas con los números que puse al inicio que abrí este tema.

Ejemplo si quiero reproducir 41 seria unir Play(22); Play(29); Play(1);.
             Así, si quiero reproducir 212 seri unir Play(numero de la pista 200); Play(12);

Es decir, con esos numero evitar poner tanto código de pistas que reproducirán números. Pudiendo con mis pistas unidas reproducir más cantidades numericas.




« Última modificación: 01 de Agosto de 2023, 20:07:21 por Abner_emanuel »
El señor es mi pastor,  nada me faltará.