Saltar al contenido

El proyecto Daisuke Yanami

Prepárate, que este es un viaje largo al Digital World

Esta es una recopilación de 2 tutoriales que encontré en internet, por fortuna en español por si desean consultarlo para futuras referencias. Esto va dirigido especialmente a usuarios del Samsung Galaxy Mini en Telcel (México), ya que por lo que he descubierto, la ROM para la 2.3.6 ya existe por parte de Samsung (en mi tutorial se darán cuenta), pero al parecer por cuestiones del firmware, este no se ha liberado para Telcel (desconozco si se ha liberado para otras operadoras).

La ROM que conseguí actualizará nuestro Galaxy Mini a la versión 2.3.4, nos otorga, entre muchas más, algunas de las siguientes nuevas características (que he descubierto):

  • El volumen multimedia ya no controla al volumen de la radio FM.
  • Optimización del uso de la batería.
  • Elimina aplicaciones de Telcel (Plugger, Ideas TV, etc.).

Antes de comenzar con este cambio, debemos recordar que cualquier cambio de la ROM ajeno a las actualizaciones de Samsung anulan directamente la garantía. Así que advertidos quedan si llegara a fallar alguno de los pasos.

Este tutorial se divide en cuatro partes, las cuales serán las siguientes:

  1. Actualización a 2.3.4 via ODIN
  2. Actualización a 2.3.6 vía Kies
  3. Rooteo
  4. Liberación

continúe leyendo…

Este es un intento de cajita musical con el 16F877A y mi primer programa en CCS. La idea me surgió leyendo un tema que encontré acerca de PICs musicales para Navidad. El tema que compuse para el 16F877A es “We Wish You A Merry Christmas“, del cual saqué un pedazo a partir de la partitura que encontré en esta página: http://notadivina.blogspot.com/2008/10/canciones-de-navidad-partitura.html.

Lamentablemente el tema anterior no contenía las frecuencias de todas las notas disponibles, así que tuve que complementar la tabla que ya tenía con otra tabla de notas musicales y sus respectivas frecuencias que dejaré a continuación: http://webdelprofesor.ula.ve/ciencias/sanrey/tubos.pdf.

Y el resultado es el siguiente:

Simulación del circuito

Simulación del circuito para el PIC 16F877A

El simulador Proteus nos permite escuchar la melodía resultante, y si conectamos un osciloscopio en la salida del PIC (el cual en este programa es RB0), podemos ver la variación de la frecuencia cada vez que se toca una nota diferente.

El funcionamiento del circuito es el siguiente: Si se oprime el botón conectado a RB1, la melodía sonará una vez. Y solo se volverá a escuchar cuando se pulse de nuevo el botón.

Para quien quiera saber la explicación del por qué los bucles tan extraños, la resumiré a continuación: La canción está escrita a 3/4. No soy un erudito en música y me dormía en las clases de música en la secundaria, así que lo que hice fue convertir esos 3/4 en un segundo (es decir, 3 tiempos forman un segundo), y cada duración de nota a su equivalente en segundos. Por ejemplo, una corchea de 1/4 dura 0.333333 segundos, y una semicorchea de 1/8 dura 0.1666666 segundos, aproximadamente.

La fórmula para obtener las veces que se repetirá la nota para llegar a la duración es la siguiente:

N = f_{nota} \cdot t_{nota}

donde fnota es la frecuencia de la nota y tnota es la duración de la nota. Ahora apliquemos la teoría expuesta anteriormente. Por ejemplo, queremos convertir a número de veces una corchea en nota Sol a 3/4. Recordemos que la frecuencia de la nota Sol es de 393.1 Hz, y la duración de una corchea es de 0.333333 segundos a 3/4 (a 4/4 duraría 0.25 segundos):

N = 393.1 \cdot 0.333333 = 131.033333 \approx 131

Es decir, necesitaremos que se repita 131 veces la nota (sin pausas) para lograr el tiempo esperado. Si en dado caso el número N nos llegara a dar más de 255, tenemos que aplicar bucles anidados. Esto es debido a que los ciclos for requieren que la variable a incrementar sea de tipo int, y los int solo aceptan hasta 255. Eso significa que por ejemplo si N nos dio 348 (como en el caso de la última nota del código), podemos cómodamente dividir

{348 \over 2} = 174

y hacer nuestro bucle padre de 2 veces, y dentro de él nuestro bucle hijo de 174 veces.

Como mencioné anteriormente, el código lo escribí en PIC C (CCS), escrito a 4 MHz (frecuencia que se usa mucho en la enseñanza de programación de PICs), y adjunto el código, junto con la simulación a continuación:

Descargar Código + Simulación + .HEX [16F877A]

[ACTUALIZADO] Optimicé el código y ahora se pudo compilar para el pequeño 16F84A.

Ahora para el 16F84A

Ahora para el 16F84A

Descargar Código + Simulación + .HEX [16F84A]

Y un video con el circuito en funcionamiento, para el 16F84A:

Cualquier sugerencia para el código será bienvenida, aun estoy aprendiendo a manejarme con el CCS.

Y sí, esta es la misma historia de siempre. Lamentablemente se ve bien que no aprenden, y si alguna vez dije que estaban empezando a hacer bien las cosas, en este momento me retracto de lo que dije.

Y para muestra, unas fotos del script del capítulo 55 de Digimon Xros Wars:

AD-TeUF:

TZF:

Y otra muestra más:

AD-TeUF:

TZF:

¿Y todavía dirán que todo es mentira? Conociéndolos… de seguro. Porque como he dicho antes, nunca digo nada acusatorio sin prueba en mano, y aquí las he dejado.