Taladro para PCB diseñado en FreeCAD y imprimido en 3D con PLA
viernes, 6 de junio de 2025
Hacer PCB (circuito impreso) con laser.
Hacer PCB (circuito impreso) con laser.
martes, 13 de mayo de 2025
lunes, 12 de mayo de 2025
Arduino - Display ascensor - WS2812B
Display ascensor
WS2812B
En este caso uso el WS2812B para representar el display de un ascensor.

En modo de luminosidad alta en color blanco, la intensidad es de 660mA. Para evitar no tener que
utilizar otro alimentador, he colocado el brillo a 10 en todos los
LED, con lo cual no llega a 30mA, de esta forma puedo alimentar el
panel con el arduino.
He colocado un interruptor para seleccionar el tipo de número que
se quiera visualizar, a gusto de cada uno.
Las fotos del display no hace justicia a como se ve en la
realidad.

Espero que realicéis este circuito, es muy fácil.
VIDEO
PROGRAMA y Librerías
Saludos.
Juan Galaz
Bibliografía:
Reloj WS2812
BANDERAS
domingo, 27 de abril de 2025
Arduino nano Banderas WS2812B
Banderas
WS2812B
Hace años realicé un reloj con los diodos LED WS2812B, Reloj WS2812 .
Ahora utilizando una matriz de diodos WS2812B , realizo una muestra de banderas de las diferentes comunidades autonómicas.
El montaje es muy sencillo, pero vistoso, de los que no tardas en realizar.



No he querido realizar el esquema debido a su simplicidad.
El pin 13 del arduino al DATAIN del panel.
La alimentación de 5V y GND a los pins del arduino.
En modo de luminosidad alta en color blanco, la intensidad es de 660mA. Para evitar no tener que
utilizar otro alimentador, he colocado el brillo a 10 en todos los
LED, con lo cual no llega a 30mA, de esta forma puedo alimentar el
panel con el arduino.
La matriz de 8X8 es pequeña, por lo que tenido que pensar mucho
para intentar mostrar las banderas lo mejor posible.
En algunos casos he realizado 2 diseños, y me que quedado con la
que creo que está mejor.
VIDEO
PROGRAMA y Librerías
Saludos.
Juan Galaz
Bibliografía:
Reloj WS2812
martes, 22 de abril de 2025
Arduino nano - Radio SI7432 ALL BAND AM - FM - SSB
Radio SI7432 ALL BAND
AM - FM - SSB
En el proyecto https://github.com/pu2clr/SI4735 hay muchos ejemplo con el CHIP SI7432 .
Entre ellos existe uno SI473X_04_ALL_IN_ONE que recibe todas las banda y modulaciones.
Lo que hago es modificarlo para poder cambiar cualquier opción desde un Rotary encoder.

En el primer ejemplo utilizo la librería Tiny4kOLED.h para manejar el OLED junto con Rotary.h para manejar el mando encoder.


En el segundo montaje utilizo una librería propia para manejar el OLED junto con Rotary.h para manejar el mando encoder.
Además quito mucha información de pantalla, que se puede ver directamente en el menú.


VIDEO
Programa1
programa2
Libreria SI4732
Rotary
Tiny4kOLED
Saludos.
Juan Galaz
Bibliografía:
https://github.com/pu2clr/SI4735
https://github.com/skathir38/Rotary
domingo, 20 de abril de 2025
Arduino nano - Radio SI7432 AM - FM
Radio SI7432
AM - FM
Con el CHIP SI7432 realizo una radio de FM y AM. Es una continuación de radsi.html
En este montaje utilizo un Rotary encoder para cambiar la frecuencia, y un OLED para visualizar la frecuencia.


Lo monto en una placa de circuito impreso, alimentándolo con 5 V del USB, y el SI4732 se alimenta mediante los 3.3V del propio arduino nano.
Para sintonizar la AM se utiliza una bobina de 500uH con núcleo de ferrita.
Utilizo el mando Rotary encoder para navegar por todas la opciones del programa.
En FM funciona todo bastante bien, incluso el RSD, además con poca antena la señal es buena.
En AM la señal de audio baja bastante, y en mi edificio la señales de baja frecuencia tienen bastante ruido.
También debemos girar la bobina en dirección a la emisora de AM.
Como el propio circuito genera ruido, he añadido en el menú una opción para que no se actualice las calidades de señal y de esta forma no genera ruido.
VIDEO
PROGRAMA
Libreria SI4732
Saludos.
Juan Galaz
Bibliografía:
https://github.com/pu2clr/SI4735
https://github.com/skathir38/Rotary
jueves, 27 de marzo de 2025
Arduino - Radio SI7432
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
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
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
lunes, 24 de febrero de 2025
martes, 18 de febrero de 2025
MMana-GAL.Doble V. 145 MHz 2m
Hace unos meses había realizado una antena de doble V.
http://seta43.duckdns.org/ante_i/ante_i.html
Ahora la analizo con MMana.
Un saludo.
Juan Galaz
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
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
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.
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.
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
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