martes, 28 de abril de 2026

Limitador de corriente mejorado para regulador de tensión lineal L200

 

Limitador de corriente mejorado para regulador de tensión lineal L200



El veterano regulador lineal de voltaje L200, ya descatalogado, es uno de los más versátiles que puedes encontrar. Comparable al regulador LM317, incluye además un limitador de corriente para implementar un circuito de protección contra sobrecargas y cortocircuitos o bien un regulador de corriente, lo que le hace ideal para construir sencillas fuentes de alimentación ajustables. En las hojas de especificaciones del L200 y en sus notas de aplicación hay muchos circuitos de ejemplo. Buscando aquéllos con limitador de corriente me llamó especialmente la atención el esquema que muestro arriba ya que permite ajustar la máxima corriente de salida. Es un circuito conceptual que necesita algunas mejoras. En este enlace te muestro cómo hacer que funcione de forma óptima:

Regulador con limitador de corriente mejorado

martes, 25 de febrero de 2025

Temporizador de apagado para radio de mesita con Arduino

Temporizador de apagado para radio de mesita

Proyecto con Arduino

Este pequeño proyecto surgió de improviso cuando un amigo me consultó si se podía poner un temporizador a su radio de bolsillo ya que la usa como radio de mesilla para quedarse dormido.

La solución era fácil porque la radio se alimenta con una fuente de alimentación externa de 5V y el temporizador se puede intercalar entre el alimentador y dicha radio.

Utilicé un Arduino Nano y unos pocos componentes adicionales para diseñar el temporizador. En este vínculo puedes descargar el PDF del proyecto donde tienes esquemas, fotos y el listado del programa, todo ello explicado. Espero que sea útil para desarrollar tu proyecto.

Temporizador radio de mesilla


miércoles, 10 de abril de 2024

RADIO FM con chip Si4703 y Arduino Nano. Capítulo 29 y último. Proyecto Arduino.

 

RADIO FM con chip Si4703 y Arduino Nano

Capítulo 29 y último: Proyecto Arduino


Llegamos al final de este laaaargooo proyecto, el de mayor número de capítulos hasta el momento que hay en mi blog. Ha pasado casi año y medio desde que colgué la primera entrada. Hoy, con un poco de nostalgia pero también con la sensación de haberme dejado agotado, toca despedirme del receptor de FM y dar paso a una nueva chaladura.

Para quienes se hayan animado a construir esta radio de FM o bien hacer su propio proyecto inspirándose en el mío, les deseo muchas horas de satisfacción escuchando su receptor.

Tanto en mi canal de YouTube como en este blog me han pedido el proyecto de Arduino del receptor, es decir, el listado del programa. Lo prometido es deuda y en el enlace de abajo podéis descargar el proyecto (archivos ".ino") así como las librerías empleadas a través de un archivo comprimido ".zip".

¡Mucho éxito con vuestros proyectos! y, si queréis, mostrad la radio de FM que habéis construido dejando un enlace a fotos, etc en los comentarios.


Radio FM. Cap. 29. Descarga proyecto Arduino

lunes, 25 de marzo de 2024

RADIO FM con chip Si4703 y Arduino Nano. Capítulo 28. El “setup”: inicialización y arranque del receptor

 

RADIO FM con chip Si4703 y Arduino Nano

Capítulo 28:  El “setup”: inicialización y arranque del receptor




Con este capítulo completamos ¡por fin! la descripción del programa del receptor de radio. A lo largo de los anteriores capítulos hemos ido mostrando trocitos del “setup” que se necesitaban para completar la explicación tanto del “hardware” como de las funciones que componen el programa. Aquí unimos todos esos cachitos para ver el "setup" en su conjunto.

Hablando del programa en general, he procurado que éste sea más “Arduino” que lenguaje C. Si tú eres un avezado programador seguramente encontrarás muchas partes del mismo que se pueden mejorar. En su desarrollo me marqué dos objetivos: economizar el uso de la memoria RAM y la rapidez de ejecución.

Si has echado un vistazo a los últimos catorce capítulos, verás que el programa está compartimentado en muchas funciones para facilitar su depuración y su inteligibilidad. Desarrollé el programa poco a poco, integrando sucesivamente más funciones, de este modo, si algo no funcionaba sabía dónde estaba el fallo.

En el siguiente enlace puedes descargar el capítulo en formato pdf.


Receptor FM cap. 28.

lunes, 11 de marzo de 2024

RADIO FM con chip Si4703 y Arduino Nano. Capítulo 27. Programa principal, el “loop”

 

RADIO FM con chip Si4703 y Arduino Nano

Capítulo 27:  Programa principal, el “loop”


En este capítulo vamos a ver el programa principal del Arduino. No es posible entender el flujo principal del programa sin conocer las funciones a la que se está llamando continuamente. Es por esto que he dejado para el final el “loop”, que viene a ser el director de la orquesta que va dando paso a la ejecución de las distintas funciones que componen el programa del receptor cuando es necesario.

En este enlace puedes descargar el capítulo:

Receptor FM capítulo 27

domingo, 25 de febrero de 2024

RADIO FM con chip Si4703 y Arduino Nano. Capítulo 26. RDS: captura de los campos PS, RT y PTYn

 

RADIO FM con chip Si4703 y Arduino Nano

Capítulo 26:  RDS - Captura de los campos PS, RT y PTYn


Como continuación de los dos capítulos anteriores, en este capítulo vamos a ver la función que se encarga de obtener los caracteres de texto de los bloques C y D de un grupo RDS y guardarlos en la posición que corresponda en las cadenas de caracteres correspondientes a los campos PS, RT y PTYn. Dicho de una forma más sencilla, cómo obtener del RDS el nombre de la emisora, el radiotexto y un complemento del PTY que detalla un poco más la descripción del contenido del programa que estamos escuchando.

En este enlace puedes descargar el capítulo 26 de este culebrón en formato pdf:

Receptor FM cap. 26


sábado, 10 de febrero de 2024

RADIO FM con chip Si4703 y Arduino Nano. Capítulo 25. RDS: captura del campo PTY

 

RADIO FM con chip Si4703 y Arduino Nano

Capítulo 25:  RDS - Captura del campo PTY

Como vimos en el capítulo 23, el código PTY se trasmite en todos los grupos del RDS. Dicho código, de cinco bits, es un simple número del 0 al 31 que nos informa del tipo de contenido que está difundiendo la emisora sintonizada.

En este capítulo vamos a ver cómo el Arduino captura el código PTY y lo convierte en un “string” o cadena de caracteres para representar en el display lcd del dial del receptor.

Aquí tienes el enlace al capítulo en formato pdf:

Receptor FM capítulo 25


jueves, 25 de enero de 2024

RADIO FM con chip Si4703 y Arduino Nano. Capítulo 24. Obtención de los datos RDS del Si4703.

 

RADIO FM con chip Si4703 y Arduino Nano

Capítulo 24:  RDS - Obtención de los datos RDS del Si4703


Con lo visto en el capítulo anterior ya podemos enfrentarnos al reto de obtener del chip receptor Si4703 los datos RDS para presentarlos en una pantalla. En este capítulo, y en los dos siguientes, vamos a analizar las funciones del programa del Arduino que recogen y gestionan los datos RDS proporcionados por el Si4703.

En este enlace puedes descargar el capítulo:

Receptor FM capítulo 24

miércoles, 10 de enero de 2024

RADIO FM con chip Si4703 y Arduino Nano. Capítulo 23. RDS - Radio Data System

 

RADIO FM con chip Si4703 y Arduino Nano

Capítulo 23:  RDS - Radio Data System


A lo largo de estos capítulos he hecho referencia al acrónimo RDS: el led indicador de recepción de datos RDS, campos de datos RDS en los displays, etc. Pero, ¿qué es y cómo es el RDS?


En este capítulo vamos a ver cómo se transmiten los datos RDS, cómo es su estructura y cómo obtener aquéllos que nos interesan. En nuestro receptor sólo utilizaremos la pequeña colección de datos que detallamos en el capítulo anterior, que son los que nos dan información de la emisora y de los contenidos que ésta difunde.


En este enlace puedes descargar el capítulo en formato "pdf". Espero que te sea útil y que te guste.


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.