lunes, 25 de diciembre de 2023

RADIO FM con chip Si4703 y Arduino Nano. Capítulo 22. Visualización de información en el dial y en el panel frontal del receptor

 

RADIO FM con chip Si4703 y Arduino Nano

Capítulo 22: Visualización de información en el dial y en el panel frontal del receptor

Una de las principales tareas del Arduino es la visualización de la información que proporciona el chip Si4703. Como continuación del capítulo anterior, donde vimos cómo se presenta la frecuencia de sintonía y el número de presintonía, en este capítulo vamos a ver cómo se muestra el resto de información tanto en los dos displays lcd como en los leds indicadores del panel frontal. También avanzamos algo sobre los datos RDS, a los que dedicaremos los próximos capítulos. En este enlace puedes descargarte el pdf del capítulo:

Receptor FM capítulo 22

domingo, 10 de diciembre de 2023

RADIO FM con chip Si4703 y Arduino Nano. Capítulo 21. Dial: representación de números “big font” con caracteres de 5x8 píxeles

 

RADIO FM con chip Si4703 y Arduino Nano

Capítulo 21: Dial: representación de números “big font” con caracteres de 5x8 píxeles



En el dial de los receptores de radio clásicos siempre se ha destacado visualmente la frecuencia sintonizada bien de forma gráfica, con una llamativa aguja sobre una escala graduada, bien numéricamente, con displays de 7 segmentos de tamaño grande que permiten verlos a distancia. Ambos métodos ayudan a recordar en qué parte del dial se encuentran nuestras emisoras favoritas. Sin embargo, al generalizarse los receptores de FM con RDS, se ha ido desplazando paulatinamente de ese lugar destacado a la frecuencia de sintonía en favor del nombre de la emisora. Creo que es preferible visualizar ambos datos. Por un lado sigue siendo útil conocer la frecuencia de recepción (aún hay emisoras que transmiten sin RDS), y por otro lado, leer el nombre de las emisoras sintonizadas permite seleccionarlas con más facilidad (antes había que escuchar las emisoras para reconocer las voces o sino esperar hasta que dijeran su indicativo).

Con los displays lcd utilizados en el receptor, de caracteres matriciales de 5x8 píxeles, la frecuencia de sintonía se ve muy pequeña y a más de un metro de distancia ya cuesta leerla. ¿Cómo visualizar números más grandes? Una solución es representar cada número con cuatro caracteres por lo que aumentamos su tamaño cuatro veces. Como los displays son de 4 líneas x 20 caracteres, hay espacio suficiente para representar la frecuencia de sintonía en “big fonts”. En este capítulo vamos a ver cómo programarlo en el Arduino. Puedes descargarlo en este enlace:

Receptor FM capítulo 21


sábado, 25 de noviembre de 2023

RADIO FM con chip Si4703 y Arduino Nano. Capítulo 20. Grabado en eeprom de la configuración del receptor

 

RADIO FM con chip Si4703 y Arduino Nano

Capítulo 20: Grabado en eeprom de la configuración del receptor


En los tres anteriores capítulos mencionamos que se ha de guardar en una memoria eeprom una copia actualizada de los registros del chip Si4703 de modo que el receptor, al volver a encenderlo, vuelva al mismo estado que tenía la última vez que fue utilizado. Vamos a ver la función encargada de esta tarea. En este enlace puedes descargar el pdf para leerlo tranquilamente:

viernes, 10 de noviembre de 2023

RADIO FM con chip Si4703 y Arduino Nano. Capítulo 19. Gestión de la botonera de configuración y de los ajustes del receptor.

 

RADIO FM con chip Si4703 y Arduino Nano

Capítulo 19: gestión de la botonera de configuración y de los ajustes del receptor


En este capítulo estudiaremos las funciones que gestionan la botonera de configuración y el encóder nº 2 de ajuste de niveles. También veremos cómo se actualizan los registros del chip Si4703 cada vez que se modifica algún parámetro de funcionamiento del receptor.

Este es el enlace para descargarte el pdf del capítulo. Espero que te sea útil.

miércoles, 25 de octubre de 2023

RADIO FM con chip Si4703 y Arduino Nano. Capítulo 18. Sintonía manual, presintonías y sintonización directa

 

RADIO FM con chip Si4703 y Arduino Nano

Capítulo 18: Sintonía manual, presintonías y sintonización directa


En este capítulo vamos a ver la función que gestiona el encoder nº 1 correspondiente al mando de sintonía manual más las funciones del programa del Arduino que gestionan la botonera de presintonías. Con dicha botonera se puede hacer dos tipos de sintonización de emisoras:

  • Por presintonías, al pulsar un botón se sintoniza una emisora previamente memorizada.
  • Por sintonización directa de la frecuencia introducida a través de la botonera, que se comporta como un teclado numérico en esta modalidad.

En este enlace puedes descargar el capítulo. Que lo disfrutes.

martes, 10 de octubre de 2023

RADIO FM con chip Si4703 y Arduino Nano. Capítulo 17. Sintonización del Si4703

 

RADIO FM con chip Si4703 y Arduino Nano

Capítulo 17: Sintonización del Si4703




En este capítulo veremos cómo es el proceso de sintonización de frecuencias y de búsqueda de emisoras del Si4703. Dicho proceso se describe en el apartado 4.6 de la “datasheet” del chip y vamos a traducirlo al lenguaje del Arduino para crear una función dedicada a sintonizar.

lunes, 25 de septiembre de 2023

RADIO FM con chip Si4703 y Arduino Nano. Capítulo 16. Configuración E/S Arduino y arranque del Si4703

 

RADIO FM con chip Si4703 y Arduino Nano

Capítulo 16: Configuración E/S Arduino y arranque del Si4703


Además de cablear físicamente el Arduino con el resto de elementos que componen el receptor, es necesario decirle por “software” qué es lo que tiene conectado. Para ello hemos de configurar los pines de los puertos de e/s del Arduino y especificar las direcciones de todos los esclavos del bus I2C.

En este capítulo entresacaremos del programa del Arduino la configuración de las e/s conectadas al Si4703 y a los encóder más la declaración de objeto de la memoria eeprom. Todas estas líneas de programa sumadas a las del capítulo anterior son necesarias para poder ejecutar la función de arranque del Si4703 que vamos a ver aquí también.

En este enlace puedes descargar el capítulo:



lunes, 11 de septiembre de 2023

RADIO FM con chip Si4703 y Arduino Nano. Capítulo 15. Los registros del Si4703

 

RADIO FM con chip Si4703 y Arduino Nano

Capítulo 15: Los registros del Si4703



Cuando decidí a llevar a cabo este proyecto me pregunté si un Arduino de la gama más sencilla, como es el Uno o el Nano, sería capaz de gestionar el chip Si4703. Mis dudas se concentraban en si podría procesar con la suficiente rapidez el flujo de datos del RDS y de las pantallas lcd del dial, y en si dispondría de suficiente memoria RAM para albergar todas las variables y datos demandados por el programa. Felizmente, la respuesta a estas cuestiones fue positiva: tanto el Arduino Uno como su hermano pequeño, el Arduino Nano, gestionan perfectamente los lcd y el RDS (no es tan fiero el toro como lo pintan). Según el IDE del Arduino, el programa que desarrollé demanda 524bytes de la memoria RAM para variables globales, ¡sólo el25%!, así que aún hay espacio para las variables locales y la pila de “stack”. Cabía la posibilidad de que el Arduino se colgara por desbordamiento de la pila de “stack” al tener que atender un elevado número de interrupciones y saltos a subrutinas. El programa no es terriblemente extenso y ocupa poco más de 11Kbytes de la memoria flash (37%).

A partir de este capítulo comenzamos la descripción del programa del Arduino, que iremos analizando cachito a cachito como si fueran las piezas que componen un puzle.

Este capítulo lo vamos a dedicar a la piedra angular del software del proyecto: los registros de lectura y de escritura del Si4703. Primero haremos una descripción muy breve de los mismos y después veremos cómo acceder a ellos con el Arduino. En el siguiente enlace puedes descargar el pdf para leerlo tranquilamente "offline".

viernes, 25 de agosto de 2023

RADIO FM con chip Si4703 y Arduino Nano. Capítulo 14. Fuente de alimentación y caja del receptor

 

RADIO FM con chip Si4703 y Arduino Nano

Capítulo 14: Fuente de alimentación y caja del receptor



En este capítulo veremos cómo hacer la fuente de alimentación del receptor a partir de material reciclado y cómo construir de forma casera la caja de aluminio que alberga sus componentes. Finalizamos así la descripción del “hardware” del receptor de FM. Le toca el turno al “software”, al que dedicaremos el resto de los capítulos de este laaargo proyecto.

En este enlace tienes el pdf para descargártelo y leerlo tranquilamente:

miércoles, 26 de julio de 2023

RADIO FM con chip Si4703 y Arduino Nano. Capítulo 13. Placa base para el Arduino Nano y memoria EEPROM

 

RADIO FM con chip Si4703 y Arduino Nano

Capítulo 13: placa base para el Arduino Nano y memoria EEPROM



Para conectar al microcontrolador todos los elementos del receptor de FM que hemos visto en los anteriores capítulos es necesaria una placa base donde centralizar las conexiones de los mismos. En este enlace tienes una descripción detallada:

martes, 11 de julio de 2023

RADIO FM con chip Si4703 y Arduino Nano. Capítulo 12. Interconexión entre el Arduino y el SI4703 con convertidor de nivel lógico

 

RADIO FM con chip Si4703 y Arduino Nano

Capítulo 12: Interconexión entre el Arduino y el SI4703 con convertidor de nivel lógico




Como las entradas/salidas digitales del Arduino Nano V3.0 y del Arduino Uno R3 son a 5V y las del chip receptor de FM Si4703 son a 3,3V es necesario interconectarlas a través de un convertidor de nivel lógico (en inglés: LLC, “logic level converter”, “level shifter” o “voltage translator”). En este enlace te muestro cómo hacerlo con dos modelos de convertidores distintos.

jueves, 22 de junio de 2023

RADIO FM con chip Si4703 y Arduino Nano. Capítulo 11. Displays LCD, encoders e iluminación dial.

 

RADIO FM con chip Si4703 y Arduino Nano

Capítulo 11: Displays LCD, encoders e iluminación dial.


Este capítulo es el cajón de sastre donde he metido todos los elementos del panel frontal de los que aún no he hablado, a saber:
  • Encoders incrementales KY-40
  • Displays LCD de 4x20 caracteres
  • Iluminación led del dial
  • Interruptor de encendido del receptor
Excepto la iluminación del dial, todos son componentes comerciales que no necesitan ser modificados, como mucho una pequeña adaptación, a diferencia de las botoneras por ejemplo, que precisaron de un proceso de diseño, pruebas y construcción. En el siguiente enlace tienes una exposición breve de estos elementos destacando detalles de adaptación y montaje para la construcción del receptor.

martes, 6 de junio de 2023

RADIO FM con chip Si4703 y Arduino Nano. Capítulo 10. Botonera de presintonías y botonera de configuración.

 

RADIO FM con chip Si4703 y Arduino Nano

Capítulo 10: Botonera de presintonías y botonera de configuración


En el capítulo anterior profundizamos en algunos puntos clave en el diseño de las botoneras analógicas. En este capítulo aplicamos directamente lo aprendido en la botonera de presintonías y en la botonera de configuración del receptor de FM.

En este enlace puedes leer el artículo:

lunes, 22 de mayo de 2023

RADIO FM con chip Si4703 y Arduino Nano. Capítulo 9. Botoneras analógicas.

 

RADIO FM con chip Si4703 y Arduino Nano

Capítulo 9: botoneras analógicas



Llega el turno de describir los elementos que nos permiten introducir información al receptor, que son los pulsadores y los mandos rotativos del panel frontal. En este capítulo vamos a ver cómo diseñar botoneras para ser conectadas a las entradas analógicas del Arduino, lo que nos ahorra el uso de entradas digitales y en su lugar aprovechamos el potencial que nos ofrece el conversor de analógico a digital (ADC) del microcontrolador. Profundizaremos en algunos puntos clave de diseño que, si se tienen en cuenta, nos garantizarán el correcto funcionamiento de las botoneras.

En este enlace puedes leer el artículo. Que lo disfrutes.




sábado, 29 de abril de 2023

RADIO FM con chip Si4703 y Arduino Nano. Capítulo 8. Leds indicadores del panel frontal

 

RADIO FM con chip Si4703 y Arduino Nano

Capítulo 8: Leds indicadores del panel frontal



Para controlar los 14 leds indicadores que hay en el panel frontal del receptor de FM es necesario un puerto de expansión para el Arduino ya que éste no dispone de suficientes salidas digitales. Con este fin utilizaremos el circuito integrado PCF8575, que permite gestionar 16 e/s digitales. En el siguiente enlace puedes acceder al artículo.



sábado, 15 de abril de 2023

RADIO FM con chip Si4703 y Arduino Nano. Capítulo 7: GPIOs PCF8574 y PCF8575

 

RADIO FM con chip Si4703 y Arduino Nano

Capítulo 7: GPIOs PCF8574 y PCF8575



En este capítulo veremos algunos datos clave a tener en cuenta en el uso de los puertos de expansión PCF8574 y PCF8575.

Para gestionar los 14 leds indicadores que hay en el panel frontal del receptor de FM es necesario un puerto de expansión para el Arduino ya que no disponemos de suficientes salidas digitales. En el siguiente enlace puedes acceder al artículo.

Receptor FM capítulo 7

martes, 21 de marzo de 2023

RADIO FM con chip Si4703 y Arduino Nano. Capítulo 6: a vueltas con la antena

 

RADIO FM con chip Si4703 y Arduino Nano

Capítulo 6: a vueltas con la antena


El kit de evaluación del chip Si4703 está diseñado para utilizar el cable de auriculares como antena receptora. En el capítulo 3 vimos cómo independizar el circuito de antena del circuito de audio y ahora podemos conectar cualquier antena, pero ¿cuál es las más adecuada? ¿Funcionaría bien el receptor conectado directamente a una toma de antena 75Ω o haría falta hacer una adaptación?


En el vínculo que tienes a continuación puedes descargar este capítulo donde trato de responder a estas preguntas a partir de los experimentos que hice con algunas antenas. ¡Que lo disfrutes!

Receptor FM capítulo 6

domingo, 26 de febrero de 2023

RADIO FM con chip Si4703 y Arduino Nano. Capítulo 5: modificaciones finales y apantallamiento del kit de evaluación HW-322 ó CJMCU-470

 

RADIO FM con chip Si4703 y Arduino Nano

Capítulo 5: Modificaciones finales y apantallamiento
del kit de evaluación HW-322 ó CJMCU-470



En este capítulo muestro las modificaciones finales, ya descritas en el capítulo anterior, con las que el kit de evaluación queda listo para ser un receptor de una cadena de sonido HiFi.

Durante el desarrollo del programa del Arduino y las pruebas de funcionamiento comprobé que el chip receptor Si4703 captaba el ruido digital generado por el microcontrolador y los elementos conectados al mismo (displays LCD, bus I2C, etc), así que fue necesario hacer un apantallamiento electromagnético del kit.

En este enlace puedes descargarte el pdf donde tienes una descripción detallada de estas modificaciones

Receptor FM capítulo 5


miércoles, 25 de enero de 2023

RADIO FM con chip Si4703 y Arduino Nano. Capítulo 4: modificaciones en el kit de evaluación HW-322 ó CJMCU-470

 

RADIO FM con chip Si4703 y Arduino Nano

Capítulo 4: Modificaciones en el kit de evaluación HW-322 ó CJMCU-470



En este capítulo os voy a mostrar las modificaciones que realicé en un kit de evaluación del chip Si4703, en concreto en una placa de circuito impreso modelo HW-322, también comercializada como modelo CJMCU-470, que incorpora adicionalmente un amplificador de audio para auriculares. El objetivo es adaptarlo para su incorporación a un equipo de sonido doméstico como receptor de FM de alta fidelidad.

En este enlace tienes el pdf con la descripción detallada:

Receptor FM capítulo 4