miércoles, 26 de noviembre de 2025

Manipulador Morse de manipulación yámbica (doble paleta) - Arduino

  Página principal


 
Manipulador Morse
Llave de manipulación yámbica (doble paleta)
Arduino

En este proyecto creo un manipulador morse de doble paleta.
Esta realizado con impresión 3D en PLA y algunas tuercas y tornillos.
Todo se diseño con FreeCAD e imprimido en una impresora Ender 3 V3 SE.
Normalmente los equipos nuevos disponen de una entrada para este tipo de manipuladores, pero si se quiere usar a modo de prácticas debemos realizar un circuito.
Para generar los puntos y las rayas utilizamos un arduino. Este genera el tono de 700 Hz con un tiempo diferente para los punto y las rayas.



Imágenes del diseño de las piezas en FreeCAD


Colocación de las piezas en el laminador.


Piezas impresas en PLA.


Instalación de las tuercas en las piezas de plástico.


Manipulador montado.


Parte inferior del manipulador, imanes de fijación colocados.


Visión frontal. Detalle de los tornillos limados en punta.


Diagrama del circuito  con el arduino.

El condensador se coloca para transformar la onda cuadrada en senoidal (triangular).
El valor del condensador deber ser entre  1uF y 4,7 uF  , dependiendo de este valor tendremos una salida de entre 0,3V y 1,4V .
Si se quiere solo hacer prácticas, se puede colocar un altavoz piezoeléctrico en serie con una resistencia de 100 ohmios en el pin 9 del arduino.
En el pin 13 optenemos la salida del manipulador morse. Al estar este pin conectado a un led en el arduino, veremos la señal luminosa.


Onda cuadrada desde la salida del arduino, y la onda después del filtro.

No manejo el morse, soy muy novato, y mi velocidad es de caracol, además mi oído es de sordo.   ;)
A nivel de construcción, el tener los contactos del manipulador al aire, se pueden llenar de polvo, por lo que deberían estar en caja cerrada.
Si no se tiene el muelle, podemos utilizar una pequeña goma elástica, funcionando perféctamente.

El programa del arduino es simple, pero este proyecto era de solo construir el manipulador. En un próximo artículo realizare muchos cambios en el programa.
Por el puerto serie del arduino se pueden ver el registro de los puntos y las rayas.

VIDEO

PROGRAMA y STL


Saludos.
Juan Galaz



Bibliografía:

https://morsecode.world/international/decoder/audio-decoder-adaptive.html
https://es.wikipedia.org/wiki/C%C3%B3digo_morse
http://seta43.duckdns.org/armorse.html
http://seta43.duckdns.org/amorb.html

viernes, 7 de noviembre de 2025

Caja impresa en 3D para circuitos

  Página principal

Caja en PLA
para
Circuitos

Hace un tiempo había realizado un téster de componentes  http://seta43.duckdns.org/tester.html , y aún no lo había guardado en ninguna caja.
En este artículo realizo una caja impresa en 3D con  PLA para guardar circuitos.
Está diseñada en FreeCAD 1.0 , un programa muy potente, y con muchas opciones, yo simplemente domino algunas.
Se utilizó la impresora Ender 3 V3 SE, una impresora bastante económica.
El tiempo de impresión es de 60 minutos para la caja, y 30 minutos para la tapa.
He realizado 2 versiones, una de 1,5 mm de anchura de paredes de la caja, y otra de 2 mm , esta última más robusta.
Para la versión del téster he creado dos ventana cuadradas y un botón.















FICHEROS DE PLANOS


Saludos.
Juan Galaz








sábado, 25 de octubre de 2025

ESP32C3 MINI - WEB SERVER modo Router

  Página principal


ESP32C3 MINI
WEB SERVER modo Router

Hace unos años realicé con el ESP8266 un montaje que hacía encender 4 LED desde un navegador.
http://seta43.duckdns.org/espb.html
En este montaje realizo un servidor en modo Router, en este modo, el router es el centralizador de todos los dispositivos, ya sean mediante cable de RED, o mediante el WIFI. Ademas si el router tiene acceso a INTERNET, el ESP32C3 podrá servir los datos al exterior.
Para poder acceder a nuestro ESP32C3 desde Internet, deberemos acceder la router y cambiar el direccionamiento de puerto 80 (o el puerto que queramos)  a la IP de nuestro ESP32C3.





No pude resistir el colocar un sensor de humedad temperatura en el bus I2C, y coloqué un AHT20.
También podemos observar que activando do desactivando el último botón, cambiamos el tipo de botones.




Antes de cargar el programa en el ESP32C3 , debemos colocar el nombre de nuestra WIFI y la contraseña.

const char* ssid = "MiWIFI";
const char* password = "password";


PROGRAMA

VIDEO

Saludos.
Juan Galaz



Bibliografía:

https://randomnerdtutorials.com/getting-started-esp32-c3-super-mini/
http://seta43.duckdns.org/espb.html
https://github.com/sidharthmohannair/Tutorial-ESP32-C3-Super-Mini
https://www.luisllamas.es/probamos-el-nuevo-esp32-c3-el-sustituto-del-esp8266/
https://www.espressif.com/sites/default/files/documentation/esp32-c3-mini-1_datasheet_en.pdf
https://www.mechatronicstore.cl/conectando-la-esp32-c3-super-mini-a-arduino-paso-a-paso/?srsltid=AfmBOopdSs8GEHCtRzY2aXz168xDNPLSEk_YsHXers0j9pHBz6SHsCk4
https://www.youtube.com/watch?v=0sum5XaOdW0

jueves, 23 de octubre de 2025

CONECTAR 2 DISPLAYS OLED SSD1306 A UN ARDUINO NANO


CONECTAR 2 DISPLAYS OLED SSD1306 A UN ARDUINO NANO
Alfredo Segura, México. Octubre de 2025.


El experimento fue largo y falto de información por parte de la comunidad y del propio foro de Arduino. Se trata de conectar 2 displays OLED SSD1306 (128x64) a un Arduino mediante el bus I2C, para lo cual procedí a cambiar de lugar en uno de ellos, el resistor que define la ADDRESS del mismo dispositivo, de tal manera que pueda ser detectado y utilizado por el I2C del Nano.

Esta nueva ADDRESS será la 0x3D que, de acuerdo con el datasheet del SSD1306, corresponde a la línea D/C (Data / Control) del chip interno del OLED, como se muestra en las siguientes imágenes:

Con estos arreglos, tenemos un OLED con la ADDRESS 0x3C original y otro con la 0x3D, listos para que el Arduino Nano los reconozca.

En el IDE de Arduino existe en el menú Archivo -> Ejemplos -> Wire -> Wire Scan que es un código que nos permite, previamente grabado en el Arduino Nano, observar los dispositivos I2C conectados. Así que ponemos ambos displays OLED (uno de ellos ya modificado) y efectivamente observamos en el Monitor Serial a 9600 bps, que aparecen las direcciones 0x3C y 0x3D.

Procedemos a teclear nuestro código para que el Arduino Nano nos controle ambos displays, mostrando en cada uno de ellos mensajes diferentes:

#include <Wire.h>

#include <Adafruit_GFX.h>

#include <Adafruit_SSD1306.h>

. . .

// Damos nombres diferentes a las instancias de Adafruit_SSD1306:

Adafruit_SSD1306 oleddisplay(ancho, alto, &Wire, -1);

Adafruit_SSD1306 displayoled(ancho, alto, &Wire, -1);

// En el setup, iniciamos Wire y verificamos que sean detectados ambos display:

Void setup() {

. . .

if (!oleddisplay.begin(SSD1306_SWITCHCAPVCC, 0x3C)) { // 0x3C

Serial.println("No está respondiendo el OLED 0x3C...");

for(;;);

}

Serial.println("Respondiendo correctamente el OLED 0x3C...");

if (!displayoled.begin(SSD1306_SWITCHCAPVCC, 0x3D)) { // 0x3D

Serial.println("No está respondiendo el OLED 0x3D...");

for(;;);

}

Serial.println("Respondiendo correctamente el OLED 0x3D...");

. . .


Y es precisamente aquí , que al tratar de detectar el OLED SSD1306 con ADDRESS 0x3D, se queda colgado el programa y en el Monitor Serial aparece la leyenda: “No está respondiendo el OLED 0x3D...”

Por supuesto podemos buscar la causa de este problema, sobre el cual yo analicé los archivos Adafruit_GFX.h y Adafruit_GFX.cpp y no encontré algo obvio sobre el mal funcionamiento.

Sin embargo, si al OLED modificado, se le devuelve el resistor a su posición original, para que vuelva a tener la ADDRESS 0x3C y se conectan ambos al Nano, los mensajes que se envían vía I2C, aparecen en los dos displays idénticos.

Buscando en Internet, alguien propuso usar un demultiplexor para lograr separar los comandos a un display y al otro, con los pines adicionales del Nano para controlar dicho demultiplexor. Lo planteó al foro de Arduino pero fue desanimado de hacerlo, y en su lugar se le sugirió usar otro circuito integrado que ya viene ex profeso para ese fin, el PCA9548.

Como había que conseguir dicho circuito integrado y yo tenía el CD4066B que consiste de 4 switches analógicos bidireccionales, me decidí hacer mi proyecto con este chip, del cual muestro su imagen:

Conectado este circuito integrado al Arduino Nano y a los displays OLED SSD1306, tenemos el diagrama final:

Finalmente el circuito completo montado en un protoboard, ha quedado funcional:

PROGRAMA ARDUINO



Alfredo Segura, México. Octubre de 2025.



NE555 Generador de frecuencia variable

 

NE555
Generador de frecuencia variable
Ing. Alfredo Segura, México octubre de 2025.

Como la señal analógica es más difícil guardarla en memorias convencionales, (a no ser que se use un Ap9600 o un ISD1420), la señal convertida en frecuencia conservando su amplitud sin cambios, si puede ser guardada como datos en un dispositivo de almacenamiento digital, como un disco duro, un ssd, una memoria RAM, etc.


VIDEO SIMULACIÓN