jueves, 9 de marzo de 2023

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$

¿Con 350 W basta?

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