jueves, 9 de marzo de 2023

Carga y descarga de un condensador. Una práctica con Arduino Uno

He realizado el montaje del circuito, poniendo el condensador en paralelo con la resistencia, probando distintos valores de capacidad del condensador, C, y de la resistencia, R.

Dispongo de un Arduino Uno y una protoboard así como muchos y variado componentes ( condensadores, resistores, etcétera ) por lo que espero poder seguir el curso con dicho material. Después de muchas pruebas, al final, he podido apreciar claramente la carga y la descarga con los valores que figuran en el sketch que he elaborado ( R=220 ohmios y C=470 microfaradios ) para apreciar las variaciones con la suficiente claridad. En las lecturas del puerto serie he podido ver como se pasaba de 3 V en la carga ( incompleta ) a 1 V en la descarga ( incompleta ). Con otros valores y con el sketch original fluctuaban los valores demasiado rápido y no podía apreciar suficientemente bien la carga y la descarga. Los retardos que he programado, acordes con la constante de tiempo son de 100 ms ( T=RC = 103 ms ). Desde luego para valores del condensador de 1 pF y 1 kilo ohmio de resistencia los tiempos de carga y descarga son demasiado pequeños para poder apreciarlos y distinguirlos (1000 microsegundos).

/*

Programa que he escrito para mi Arduino Uno, para poder leer (desde el mismo IDE de Arduino, por el puerto serie) los valores durante la carga y la descarga del condensador (haz clic en la imagen para ver su tamaño natural y leer mejor):

Con Fritzing he también he cargado este código. Todo ha funcionado bien, obteniendo el diseño esquemático y el diseño en PCB (que no muestro aquí). $\diamond$

Detector de presencia con Arduino Uno y un sensor PIR

Esquema del montaje (Fritzing):

Programa que he escrito para Arduino Uno (haz clic para ver el tamaño natural de la imagen):

$\diamond$

Dispositivo de asistencia al aparcamiento, empleando el microcontrolador Arduino Uno, un sensor de ultrasonidos, un LED rojo (alarma luminosa), un zumbador (alarma acústica) y un display (para leer la distancia medida)

$\diamond$

Medida de una distancia con ultrasonidos, empleando mi Raspberry Pi 3B+ y el sensor de ultrasonidos HC-SR04

He montado el sensor de ultrasonidos HC-SR04 en la tableta de prototipos y ésta la he conectado a una Raspeberry Pi 3 B+ mediante un enlace Pi T-Cobber Plus para Raspberry Pi de Adafruit para facilitar el uso de los pines GPIO

Para adecuar la salida el eco de la HC-SR04 ( de 5 V ) a la placa Raspeberry he utilizado un divisor de tensión con dos resistencias: una de 2 kΩ – dos de 1kΩ en serie - ( conectada a GND y a la salida del eco) y otra de 1 kΩ ( conectada a la salida del eco ) y al pin GPIO #23 de la Raspberry. Así, se obtiene la tensión adecuada de 3,3 V para la entrada a la Raspberry: $$\dfrac{5}{(1+2)\cdot 10^3}\cdot 2\cdot 10^3 =\dfrac{10}{3} \approx 3.3\,\text{V}$$ Por otra parte, he conectado el Trigger del sensor al pin GPIO #18 de la Raspeberry. La alimentación del sensor se realiza conectando la entrada de 5 V, que he conectado al pin homónimo de la Raspberry, y GND del sensor con GND de la Raspberry.

Este es el programa (haz clic en la imagen para verla en tamño natural), con el código fuente en Python (que guardo en el archivo midedistancias.py), para poder gestionar el medidor de distancias:

Nota: En las anteriores prácticas, ya importé e instalé la librería GPIO (necesaria para las prácticas de electrónica ) tal como se indica en el material de estudio. Recuerdo que lo hice de la siguiente manera:

  1. Descarga de la librería:
    $ wget https://pypi.python.org/packages/source/R/RPi.GPIO/RPi.GPIO-0.5.11.tar.gz
      import RPi.GPIO

  2. Descompresión de la librería descargada:
    $ tar zxf RPi.GPIO-0.5.11.tar.gz

  3. … des del directorio:
    $ cd RPi.GPIO-0.5.11

  4. Y, finalmente, se instala la librería en el sistema, haciendo:
    $ cd ..
    $ sudo python setup.py install

y ésta es una captura de pantalla desde el shell de Raspbian (haz clic en la imagen para verla en tamño natural):

Des del directorio en el que he guardado los ejercicios ejecuto el intérprete de Python para poner en marcha el script:

        $ sudo python midedistancias.py
  

Además, en este vídeo ( grabado con mi smartphone ) intento dar una visión de conjunto de la forma en que he procedido para la realización de las medidas de distancia. Y, debajo, dejo un volcado de pantalla del cómo pongo en marcha el medidor:

$\diamond$

Encendido y apagado intermitente de un LED empleando una Raspberry Pi 3B+ y un programa escrito en Python, que hace uso de la (imprescindible) librería GPIO

Vídeo de la práctica:

https://www.dropbox.com/s/mtwd11x1a5ohkim/20201224_130210.mp4?dl=0

Volcado de pantalla del escritorio de Raspbian con el IDE Thonny para compilar y ejecutar el programa que he escrito en Python:

Descarga de la librería GPIO:

  $ wget https://pypi.python.org/packages/source/R/RPi.GPIO/RPi.GPIO-0.5.11.tar.gz
import RPi.GPIO

Descompresión de la librería descargada:
$ tar zxf RPi.GPIO-0.5.11.tar.gz

Nos colocamos en el directorio:
$ cd RPi.GPIO-0.5.11

Instalo la librería en el sistema
$ cd ..
$ sudo python setup.py install

Código fuente en Python del programa de encendido-apagado intermitente:

He colocado las instrucciones de encender, apagar y esperar en un bucle infinito de tipo while … do https://www.dropbox.com/s/l49v8yyjnj794os/enciendeyapaga.py?dl=0 Nota: Como paso previo, he importado y he instalado las librerías necesarias, tal como se indica en el material de estudio

$\diamond$

Un ejercicio (sencillo) de diseño 3D con el archivo STL para poder imprimirlo

El diseño lo he comportido públicamente en el sitio web de Tinkercad, con el siguiente URL: https://www.tinkercad.com/things/hRJrehXQkS5

El archivo STL final

Finalmente, he obtenido el archivo STL para una ulterior impresión en 3D. He subido dicho archivo a una nube de tados para facilitar el envío de la tarea, y puede descargarse a través de este enlace.

$\diamond$

Ejercicio de impresión 3D mejorada (mediante el servidor de impresión OctoPrint y la cámara V2)

Los siguientes enlaces permiten acceder a los archivos de vídeo los cuales, para no agrandar la memoria del envío, los he ubicado en mi nube de datos:

[1|2|3|4|5|6|7|8|9|10|11|12|13|14|15]

$\diamond$

Instalación de una cámara V2 en mi Raspberry Pi 3B+ e instalación del servidor de impresión 3D OctoPrint

Algunos vídeos de la impresión de prueba, mostrando los datos del serividor de impresión:

$\diamond$

Tareas de mantenimiento básico de mi impresora 3D (Ender 3 pro)

$\diamond$

Varias pruebas con mi impresora 3D (Ender3 pro)

$\diamond$

Impresión 3D de varios objetos, a modo de práctica

Impresión 3D de un tetraedro regular

$\diamond$

martes, 7 de marzo de 2023

¿Cómo controlar mi Raspberry Pi 3B+ y visualizar la información de salida desde un PC o desde un dispositivo móvil?

Para visualizar la información de una Raspberry Pi y controlarla desde un PC, puedes seguir los siguientes pasos:

  1. Conecta tu Raspberry Pi 3b+ a la red Wi-Fi.
  2. Asegúrate de que el PC también esté conectado a la misma red Wi-Fi.
  3. Configura la Raspberry Pi 3b+ para permitir el acceso remoto. Puedes hacerlo instalando un servidor VNC o SSH. Si optas por VNC, instala un servidor VNC en la Raspberry Pi, como RealVNC, TightVNC o Vino. Si optas por SSH, asegúrate de habilitar el acceso SSH en la Raspberry Pi.
  4. Asegúrate de que el PC tenga un cliente VNC (como, por ejemplo, RealVNC [https://www.realvnc.com/es/]) o SSH instalado. Si utilizas Windows, puedes descargar e instalar RealVNC Viewer para acceder a la Raspberry Pi a través de VNC. Si utilizas Linux, puedes utilizar Remmina [https://remmina.org/], que admite tanto VNC como SSH.
  5. Abre el cliente VNC o SSH en el PC e ingresa la dirección IP de la Raspberry Pi 3b+. Si utilizas VNC, es probable que necesites ingresar una contraseña. Si utilizas SSH, tendrás que ingresar tu nombre de usuario y contraseña.
  6. Una vez conectado, podrás ver la pantalla de la Raspberry Pi 3b+ en el PC y controlarla remotamente.

$\diamond$

-oOo-

Referencias:

  [1] Consultas varias a chat GPT, de OpenAI [https://chat.openai.com/chat]

¿Con 350 W basta?

Mi pequeño taladro de columna que tengo puesto encima de un banco