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


miércoles, 22 de octubre de 2025

Encender 4 LED con un móvil utilizando ESP32 C3


ESP32C3 MINI
WEB SERVER AP (Punto de acceso)



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 Punto de Acceso.
Se conecta directamente el teléfono movil al wifi creado con el ESP32 C3, sin intervención de ningún router.


Probando varias placas y consultando varios tutoriales, encontré mi placa que funcionaba como LOLIN C3 MINI.
El problema que existen muchos ensambladores de placas, y algunos no figuran el modelo.
En mi caso la configuración de pins son:
static const uint8_t TX = 21;
static const uint8_t RX = 20;

static const uint8_t SDA = 8;
static const uint8_t SCL = 10;

static const uint8_t SS = 5;
static const uint8_t MOSI = 4;
static const uint8_t MISO = 3;
static const uint8_t SCK = 2;

static const uint8_t A0 = 0;
static const uint8_t A1 = 1;
static const uint8_t A2 = 2;
static const uint8_t A3 = 3;
static const uint8_t A4 = 4;
static const uint8_t A5 = 5;
Que cada uno mire en su placa la configuración de pins.
Se puede encontrar en:
    /home/usuario/.arduino15/packages/esp32/hardware/esp32/3.3.0/variants/lolin_c3_mini

El primer montaje solo utilizo 4 diodos LED y una resistencia.
El mando de encendido y apagado se hace con un teléfono conectado directamente la Wifi creado con el ESP32 C3.





Me di cuenta que no se proporcionaba ninguna información , por lo que he añado un OLED donde indico el nombre de la red Wifi, la contraseña y la IP.




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