jueves, 27 de marzo de 2025

Arduino - Radio SI7432

  Página principal

Arduino
Radio SI7432


Con el CHIP SI7432 realizo una radio de FM.

El circuito de radio frecuencia es el mismo para los 3 montajes, no se utiliza la bobina ni el condensador para la banda de AM, solo se utiliza la parte de FM.
El SI4732 y el SI4735 son el mismo chip, pero con diferente encapsulamiento .
Puedes variar la dirección del bus I2C mediante colocar el pin SENB a Vcc o a masa.
En el bus I2C  he colocado resistencias de 120 ohmios a modo de protección entre el Arduino nano que funciona a 5V y el CHIP SI7432 que funciona a 3V, no es lo mas adecuado, pero funciona bien.
Revisé el consumo del CHIP SI7432 y comprobé que consumía 21mA, por lo que se puede alimentar a través de los 3,3 V que proporciona el Arduino nano.  He colocado dos condensadores en la alimentación del CHIP para mejorar la estabilidad de la alimentación. El display OLED se alimenta a 5V.
Para el primer montaje utilizo botones para cambiar la frecuencia.
También se pueden cambiar mediante comandos en la consola serie  con las siguientes ordenes:
HELP                 ayuda
VOL=[0-63]           Volumen
FRE=[8400-10800]     Frecuencia
+++_ o ---_          Sintonía
NEXT  o  FREV        Busca emisora





La librería utilizada para manejar el OLED es realizada por mi.
La programación hace uso de la librería  https://github.com/pu2clr/SI4735.
    Programa        Librería


En este segundo montaje utilizo un Rotary encoder para cambiar la frecuencia.
Se podría modificar el programa para que cambiase de frecuencia con más velocidad dependiendo la velocidad de rotación, pero eso lo dejo para el que quiera hacerlo, no es difícil.



Programa        Librería Rotary Encoder

VIDEO

Espero que os haya gustado este pequeño circuito.


Saludos.
Juan Galaz



Bibliografía:

https://github.com/pu2clr/SI4735
https://github.com/skathir38/Rotary



jueves, 13 de marzo de 2025

Arduino. Luces de navidad 3

  Página principal

Arduino
Luces de navidad 3


Estaba estas navidades en un bar, y me fije en unas luces de navidad.
El conjunto de luces led estaba alimentado por dos cables.
Pero lo que me extrañaba era que manejaba dos grupos de leds independientemente.
¿Como era posible que mediante dos lineas pudiese manejarse dos grupos de leds?
Después de pensarlo, llegué a la solución.
Los leds se intercalaban en polaridad, con lo cual dependiendo como se alimentasen se encendían unos u otros.
Para encender los dos grupos de leds a la vez, se alimentan alternativamente cada grupo de leds, pero a una velocidad tan rápida que el ojo humano no distinga si están apagados.
El manejo de la luminosidad se hace mediante modular el ancho del pulso.
No he querido utilizar interrupciones, que hubiese simplificado la programación.





Con todos los leds del mismo grupo del mismo color funciona bien, pero si mezclamos leds de diferentes colores, se enciende el led que tiene el voltaje umbral mas bajo.
Para solucionar esto se utilizan resistencias de 100 ohmios para cada tipo de leds.
El las luces de navidad comerciales se arregla esto utilizando el mismo tipo de led, pero la envoltura de plástico es de distinto color.
Otra de las formas es integrar una resistencia interna en el propio led.




Este tipo de montajes me gusta mucho por su simplicidad, pero muy brillantes. ;)
PROGRAMA

VIDEO

Espero que os haya gustado este pequeño circuito.


Saludos.
Juan Galaz



Bibliografía:


http://seta43.duckdns.org/navid.html
http://seta43.duckdns.org/navi.html


sábado, 8 de marzo de 2025

Arduino RELOJ DS1307 BMP280 - AHT20 - OLED SDD1306 - AT24C32

  Página principal

Arduino
RELOJ DS1307

BMP280 - AHT20 - DS1307 -
OLED SDD1306 - AT24C32

Otro montaje de relojes, esta vez montado con un DS1307.
En esta ocasión utilizo el sensor de presión BMP280, junto con el sensor de temperatura y humedad AHT20.
Además utilizo la memoria
AT24C32 para registrar los valores diarios de temperatura, humedad, presión.
Se toman 4 valores por hora, en los minutos, 0, 15, 30, 45.
Con la memoria que tiene la  EEPROM 24C32 , se podría almacenar  10 días, pero eso lo dejo para el que lo quiera hacer.
La toma de los diferentes sensores se toma cada 5 segundos, y esta se representa en la pantalla OLED y se transmite al terminal.
Para visualizar los valores diarios almacenados en la memoria, se debe escribir en el terminal serie la orden "print".
Para modificar la hora y la fecha, he añadido dos botones, con uno seleccionas el valor que quieres cambiar, y con el otro incrementas el valor.
He tenido algún problema con el BMP280, se bloqueaba aleatoriamente sin motivo. Para arreglar esto, he reducido la velocidad del reloj del bus I2C y he colocado un condensador (
100uF 5V) en la alimentación.

Los pines del dibujo del BMP280 no corresponden a los pines reales, mirar en vuestro caso cuales son.



Respuesta de la placa cuando mandas la orden "print"


    Programa        Librería

Espero que os haya gustado este pequeño circuito.


Saludos.
Juan Galaz



Bibliografía:

https://github.com/adafruit/RTClib
https://naylampmechatronics.com/blog/52_tutorial-rtc-ds1307-y-eeprom-at24c.html


martes, 18 de febrero de 2025

lunes, 17 de febrero de 2025

MMana-GAL.V invertida. 145 MHz 2m

 



 

Mi segundo tutorial sobre el analizador de antenas MMana-GAL. Muestro todos los pasos para creación y análisis de una antena de 2 m. en forma de V invertida.

 Disculpar los posibles fallos.

MMana-GAL.V invertida28MHz 10m

 VIDEO

Mi primer tutorial sobre el analizador de antenas MMana-GAL. Muestro todos los pasos para creación y análisis de una antena de 10 m en forma de V invertida. Disculpar los posibles fallos.

 

miércoles, 5 de febrero de 2025

Antena Rectangular de 10 m Full-wave loop


Antena Rectangular
10 m
Full-wave loop


Hace unos meses hice una antena rectangular de 145 MHz (2m), que funcionaba bastante bien.
Después de ver que Salva  (EA1PA) había hecho esta misma antena  en 10m y daba buenos resultados, me dispuse hacerla también en 10m.
Salva  (EA1PA) experimenta con antenas autoconstruidas  y hace bastantes contactos con satélites.

He utilizado tubos eléctricos de 16 y 20 mm, cable fino de altavoz 10,6m, y una caña de pescar 6m  (fibra de vidrio) .

Las dimensiones de esta antena siguen las siguientes proporciones para 50 ohmios.
Para los 10 m el resultado de la formula da para L1=3,516 m ,y para L2=1,732 m.
No os preocupéis de la medida exacta, dependiendo en que frecuencia deberéis acortar o incrementar la medida.
En mi caso me resonaba a 29MHz, y como quería que resonase en 28,400 tuve que alargar el cable mediante dos clemas o  regletas de empalme, se puede distinguir en las fotos. Yo las coloqué en la parte superior de la antena, pero se pueden colocar en cualquier parte.
He visto que algunos ajustan la antena enrollando algunas vueltas de cable en el tubo de PVC en la parte baja de la antena.


Para que no fueran tan largos los tubos 1,80m , los he dividido en dos, y la unión se hace mediante un tubo de 20 mm de diámetro y una longitud de 20 cm, que es suficiente para mantener la estructura firme. Para que no se muevan he utilizado un pasador en un lado.






He utilizado un conector BNC en vez de un SO239 por solo una razón,  tengo varios de estos conectores procedentes de despieces.
La sujeción al mástil en la parte superior se realiza con dos pequeños trozos de PVC de 16 mm, unidos con cola termica.




La sujeción al mástil en la parte inferior se realiza con dos bridas de apriete no fijas, funcionan bastante bien.
Estas misma bridas se utilizan en la parte inferior de la antena, con estas bridas podemos ajustar la antena.


La sujeción de la caña a un tubo clavado en el suelo se realiza mediante bridas de apriete no fijas.


La antena plegada es totalmente portátil, no superando 110 cm.


En una primera prueba me resonaba a 29MHz, y como quería que resonase en 28,400MHz tuve que alargar el cable.
Después del ajuste quedo como veis en la gráfica realizada con nanoVNA, perfecto.
Y en la prueba de medida con un medidor de estacionarias, la SWR daba 1, la aguja ni se movía.

Hice una prueba con una emisora de CB antigua PRESIDENT LINCOLN  10W en AM y 21W en USB.
Contacte con la isla de El Hierro EA8AT que se encuentra a 2000 KM de mi posición.
Al ser directiva esta antena, tuve que girarla en dirección a la isla para conseguir mejor señal.
No hice más pruebas, estaba a 1ºC en el coche, y con el que hable en la isla a 17ºC.
A falta de más pruebas me sorprendió para bien está antena.

 
Saludos
Juan Galaz


viernes, 31 de enero de 2025

GAMBAS Generador de bases de datos SQLite. Creador de programa en Gambas para su manipulación.

  Página principal

GAMBAS
Generador de bases de datos SQLite
Creador de programa en Gambas para su manipulación

 Quería crear una base de datos en Gambas, y me di cuenta que era algo tedioso crear el archivo SQLite, para mas tarde crear el programa para manejar la base de datos.
Se me vino la idea de crear un programa generador de una base de datos y a la vez el programa gráfico en gambas para interactuar con la base de datos.
Me puse manos a la obra y cree el programa.
Arrancado el programa tiene este interface gráfico.

Aquí damos nombre a la base de datos, también a la tabla ( en este caso solo va existir una).
Damos nombre a cada campo,  junto con el tipo de dato y el tamaño.
Solo generará en la base de datos el campo que tenga un tipo definido.

 

Se utiliza una especie de plantillas generales para el interface gráfico, y otra para el programa, junto con varios archivos para la configuración del programa.


Estos son los ficheros generados junto con la base de datos.
Automáticamente se crean 10 registros a modo de ejemplo.

Si cargamos el programa en gambas y lo ejecutamos veremos el interface gráfico para manejar los registros.
Aunque se crea todo el interface gráfico con todos los campos, solo se visualizará los que existan.


Podemos cambiar la posición de los elementos del interface gráfico a nuestro gusto.
Si creamos un ejecutable, no hace falta que abramos gambas.

Es un programa simple que genera bases de datos fáciles de manejar.
Como podéis ver, no genera informes, básico para cualquier base de datos, pero no era el objetivo de este programa.
Para el que quiera generar informes puede ver como lo hago en  LIBROS .
A nivel de programación las plantillas no son eficientes, no superarían un simple examen, por ejemplo:

  • En la visualización y edición , aún sabiendo que no existen otros campos, sigue ejecutando código inútil. Esto es fácil solucionarlo con un simple goto o Else, lo he dejado a propósito.
  • Los campos que no existen sigue estando en código fuente.
  • A nivel de interface gráfica, los campos están representados todos, pero se hacen invisibles los que no se utilizan.
A pesar de todo lo anterior merece la pena.
Ahora puedo generar bases de datos en un par de minutos, simple y sencillo.
Espero hacer unas versiones bastante mejores en todos los sentidos.


PROGRAMA

VIDEO


Saludos.
Juan Galaz



Bibliografía:

Gambas -Base de datos de libros con SQLite. LIBROS
Pequeño programa hecho en gambas y SQLite para manejar una biblioteca de películas. gam1
wxwidgets- Base de datos de libros-SQLite-Lector codigo de barras-MX009-2MA7C. wxlibrosS
Base de datos autores - SQLite y wxwidgets -Linux y windows. wxLibros
Lenguaje C - Base de datos autores - Compilar SQLite bajo windows. DBAUTORW
Lenguaje C - Base de datos autores - SQLite. DBAUTOR
Gambas -Base de datos de libros con SQLite. LIBROS