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: