Cómo crear un Nivelador de Superficies Digital usando un Arduino, MPU6050 y Pantalla OLED
En este tutorial aprenderás a construir un dispositivo para nivelar superficies de manera digital, utilizando el sensor MPU6050, un Arduino y una pantalla OLED. El objetivo es crear un nivelador preciso y fácil de usar para superficies planas.
Materiales Necesarios
- Arduino (Uno, Nano, o similar)
- MPU6050 (Sensor de acelerómetro y giroscopio)
- Pantalla OLED (128x64)
- Buzzer
- Alambres y cables
- Placa de pruebas o placa base
- Material para la base (madera, plástico, acrílico, etc.)
- Herramientas para montaje (pegamento, tornillos, etc.)
Pasos para la Creación del Nivelador Digital
Paso 1: Conectar los Componentes
Conecta el sensor MPU6050, la pantalla OLED y el buzzer a tu placa de Arduino según el esquema de conexiones. Asegúrate de conectar correctamente los pines de alimentación, I2C y otros pines de control.
En este proyecto se omitió la explicación sobre la alimentación, ya que utilizamos la conexión USB del Arduino para proporcionar energía a todos los componentes durante la fase de prueba y desarrollo. Sin embargo, si deseas que el dispositivo sea portátil, también puedes alimentarlo mediante baterías.
Paso 2: Instalar las Librerías Necesarias
Para este proyecto, utilizaremos varias librerías que son fundamentales para la comunicación y el manejo del sensor MPU6050 y la pantalla OLED. A continuación, se explica cómo descargarlas y agregarlas al entorno de Arduino:
Librerías de Jeff Rowberg para el MPU6050
- Descarga el repositorio desde: https://github.com/jrowberg/i2cdevlib/tree/master
- Haz clic en el botón Code y selecciona Download ZIP.
- Extrae el archivo
.zip
que descargaste. - Copia las carpetas
Arduino/MPU6050
yArduino/I2Cdev
en la siguiente ruta de tu computadora:Documentos/Arduino/libraries/
- Reinicia tu IDE de Arduino para que detecte las nuevas librerías.
Librerías de Adafruit para la pantalla OLED
- Descarga la librería Adafruit GFX desde: https://github.com/adafruit/Adafruit-GFX-Library
- Descarga la librería Adafruit SSD1306 desde: https://github.com/adafruit/Adafruit_SSD1306
- Para cada enlace, haz clic en Code y selecciona Download ZIP.
- Extrae los archivos
.zip
que descargaste. - Copia las carpetas
Adafruit_GFX_Library
yAdafruit_SSD1306
en la siguiente ruta:Documentos/Arduino/libraries/
- Reinicia tu IDE de Arduino para que detecte las nuevas librerías.
Paso 3: Programar el Arduino
- Descarga y abre el código en tu Arduino IDE.
- Verifica que las librerías estén correctamente instaladas.
- Carga el código al Arduino.
A continuación, te explicamos cómo funciona el dispositivo:
- El sensor MPU6050 mide la inclinación (pitch y roll) de la superficie en la que está colocado.
- La pantalla OLED muestra un círculo que se mueve según la inclinación detectada. Si el círculo se encuentra en el centro, la superficie está nivelada.
- El buzzer emitirá un sonido cuando el dispositivo detecte que el pitch y roll están dentro del rango de ±3 grados, indicando que la superficie está nivelada.
Paso 4: Crear una Base para el Dispositivo
Para asegurar que el MPU6050 funcione correctamente y mida la inclinación de manera precisa, es importante crear una base estable. Sigue estos pasos:
- Usa un material resistente como madera, plástico o acrílico.
- Coloca el MPU6050 con el chip hacia arriba, alineado con la superficie que deseas medir.
- Fija el sensor utilizando adhesivos, tornillos o pegamento para evitar que se mueva durante las mediciones.
Paso 5: Prueba del Nivelador Digital
- Coloca el dispositivo en la superficie que deseas nivelar.
- Observa la pantalla OLED:
- Si el círculo está centrado, la superficie está nivelada.
- Si el círculo se mueve hacia los bordes, ajusta la inclinación hasta centrarlo.
- El buzzer se activará cuando la superficie esté dentro del rango de ±3 grados.
Aplicaciones y Usos
Este nivelador de superficies digital es ideal para:
- Nivelar mesas de trabajo, estanterías o soportes.
- Alinear equipos y maquinaria con precisión.
- Usos educativos para aprender sobre sensores y microcontroladores.
No comments
comments