Indicador preciso de profundidad de taladro con sensor giroscópico (MPU-6050) y Arduino Nano
Componentes y materiales
- Arduino Nano R3 (x1)
- Sensor giroscópico/acelerómetro GY-521 (MPU-6050) (x1)
- Display 7 segmentos 8 dígitos SPI (MAX7219) (x1)
- Pulsador (x1)
- Interruptor ON/OFF (x1)
- Alimentación: 6 pilas AA/AAA o power bank
- Carcasa impresa 3D + imán de neodimio
Herramientas necesarias
- Impresora 3D
Aplicaciones y servicios
- Arduino IDE
Descripción del proyecto
Los taladros de columna suelen tener una regla con cursor para medir profundidad, pero leer milímetros con precisión cuesta (mala luz, vista cansada). Este proyecto sustituye la regla por un display LED grande y legible que muestra la profundidad actual y una profundidad objetivo («stop») programable con un botón.
Principio de medida: ángulo del volante
El volante de avance del taladro gira ~270° (menos de una vuelta). Montando el MPU-6050 directamente en el eje hexagonal (SW17) del volante, el ángulo de inclinación del sensor corresponde linealmente a la profundidad. Ventajas: sin cables que se enreden, un solo componente barato, montaje sencillo.
Concepto de uso
- Bajar la broca hasta rozar la pieza → pulsar botón → se guarda posición actual como «stop» (profundidad objetivo = actual + deseada).
- El display muestra profundidad actual (izquierda) y restante hasta «stop» (derecha).
- Al alcanzar «stop», muestra «StOP» (con «t» minúscula personalizada).
Conexiones
| MPU-6050 (I2C) | Arduino Nano |
|---|---|
| VCC | 5 V |
| GND | GND |
| SCL | A5 |
| SDA | A4 |
| XDA, XCL, ADO, INT | No conectados |
| Display 7 seg MAX7219 (SPI) | Arduino Nano |
|---|---|
| VCC | 3,3 V |
| GND | GND |
| DIN | D12 |
| CS | D10 |
| CLK | D11 |
| Pulsador | Arduino Nano |
|---|---|
| Pin | D9 (INPUT_PULLUP) |
Carcasa
Diseñada en Fusion 360, impresa en Anycubic i3 Mega. Incluye alojamiento para imán de neodimio (fijación al cuerpo metálico del taladro) y soporte rotatorio para el MPU-6050 que encaja en la tuerca hexagonal SW17 del eje del volante.
Sketch Arduino (claves)
- Librería
LedControl.hpara display MAX7219. - Comunicación I2C con MPU-6050 vía
Wire.h(sin librería externa). - Crítico: Tras despertar el MPU-6050 (
Wire.write(0x6B, 0x00)), delay(1000) obligatorio; sin él, el sensor no da datos al alimentar con batería (solo funcionaba con USB). - Calibración inicial: 100 lecturas para promediar offsets del acelerómetro.
- Cálculo ángulo X (grados):
AccAngleX = atan(AccY / sqrt(AccX² + AccZ²)) * RAD_TO_DEG; TotalAngleX = 0.5 * TotalAngleX + 0.5 * AccAngleX; // filtro complementario simple - Conversión a 0-360° según signos de AccZ y AccY.
- Profundidad actual:
currentPos = 50.0 / 316.0 * DrillingMachineAngle(50 mm carrera máxima, 316° ángulo máximo medido). - Botón: guarda
stopPos = currentPos, muestra «8888» 1 s. - Display: lado izquierdo = profundidad actual (1 decimal), derecho = restante hasta stop o «StOP».
Montaje y prueba
- Fijar MPU-6050 con punto de silicona caliente en su soporte impreso; pasar cables por tapa.
- Alinear sensor girando soporte hasta leer 0.0 en display.
- Probar: el display responde rápido y coincide con regla mecánica.
Resultado: lectura cómoda sin gafas hasta los 85 años. «Fix what bugs you» — Paul Akers.
Código
Sketch completo drilling-depth.ino (incluye librería LedControl, lógica I2C, filtro, display, botón).
Partes personalizadas
Modelo 3D carcasa y soporte sensor (ZIP: drilling-depth-3d-model_Yn2q0MSNa4.zip).
Esquemático
Diagrama de conexiones (imagen).
Enlaces útiles
- MPU-6050 parte 1
- Playground Arduino MPU-6050
- Interfaz MPU-6050 con Arduino
- Librería GY-521 (Rob Tillaart)
- Libro «2 Second Lean» de Paul Akers
- Versión en alemán: techpluscode.de
Proceso de manufactura
- Integración de datos de sensores en Raspberry Pi: Guía práctica
- Sensor de seguimiento de línea con Raspberry Pi – Detector simple KY‑033 para puerta/línea
- Construya una API robusta de temperatura y sensores en Raspberry Pi usando el módulo GY‑91
- Construye un sistema aeropónico automatizado con Raspberry Pi y sensor de humedad
- Domina GPIO de Raspberry Pi: interfaz sensor PIR movimiento en B+/Model 2
- Integrar radar pulsado Acconeer A111 con Raspberry Pi: guía práctica
- Cómo Conectar, Calibrar y Programar el Sensor PIR HC‑SR501 con Raspberry Pi
- Logger de Sensores Python/MicroPython: Almacena Datos de Sensores en Google Sheets Fácilmente
- Integración de sensor termopar con Arduino Portenta H7 usando MAX6675
- Dispositivo de Medición de Presión y Flujo de Aire de Precisión con Sensor Analógico
- Sensor K30 CO₂: Monitorización en tiempo real de la calidad del aire interior