En este tutorial vas a aprender cómo usar un interruptor de inclinación para detectar ángulos chicos de movimiento. Es un componente bárbaro para proyectos simples donde necesitás saber si algo cambió de posición o se movió de lugar.
Resumen
Los sensores de inclinación (tilt ball switch) te permiten detectar la orientación o inclinación de forma muy sencilla. Son económicos, consumen poca energía y son fáciles de usar; si los tratás bien, no se gastan nunca. Por su simplicidad, son muy populares en juguetes, gadgets y electrodomésticos.
Componentes necesarios
- (1) x Elegoo Mega 2560 R3
- (1) x Interruptor de inclinación (Tilt ball switch)
- (2) x Cables H-M (Cables DuPont Hembra a Macho)
Introducción de los componentes
A veces se los conoce como "interruptores de mercurio" o "sensores de bola". Generalmente están formados por una cavidad con una masa conductora libre en su interior, como una gota de mercurio o una bolita metálica. Cuando el sensor se orienta de modo que ese extremo quede hacia abajo, la masa rueda sobre los polos y los pone en cortocircuito, actuando como un interruptor.
Aunque no son tan precisos ni flexibles como un acelerómetro, los interruptores de inclinación detectan movimiento u orientación sin drama. Otra ventaja es que los más grandes pueden conmutar potencia por sí mismos, a diferencia de los acelerómetros que entregan un voltaje digital o analógico que tenés que analizar con circuitería extra.
Esquema de conexión y diagrama de cableado
Fijate bien en los diagramas para conectar los cables DuPont en los pines correctos del Mega 2560. Asegurate de que las conexiones estén firmes antes de cargar el código.
Código
Podés hacer clic en el enlace de texto azul para bajar el archivo del programa a tu compu. Acordate que antes de abrirlo tenés que tener instalado el IDE de Arduino y los drivers correspondientes a la placa 2560. Si tenés dudas con este proceso, podés revisar el capítulo "Parte 1" de la documentación para guiarte.
📥 DESCARGAR ball_switch.ino
const int ledPin = 13; // El LED conectado al pin 13
Configuración de Hardware:
const int ledPin = 13: Define el pin del LED (GPIO 2) donde está conectado el mismo.
Función setup():
Inicializa el sistema y configura los pines GPIO. pinMode(ledPin, OUTPUT) configura el pin del LED como salida y pinMode(2, INPUT) configura el pin 2 como entrada digital para el sensor.
Función loop():
Es el bucle principal que chequea constantemente el estado del sensor y controla el LED. Si el valor detectado es LOW (bajo), el LED se prende; de lo contrario, se apaga.
Troubleshooting (Solución de problemas)
- El LED está siempre prendido: Confirmá si una parte del sensor está conectada al pin VCC; si es así, cambiala al pin GND.
- El LED está siempre apagado: Revisá que los pines estén bien conectados en los puertos que corresponden según el código.
- Funcionamiento intermitente: Chequeá si hay conexiones flojas o si el sensor está poco estable.
Aplicaciones
- Sistemas simples de detección de inclinación.
- Activación de alarmas por cambios de posición.
- Proyectos sensibles al movimiento.
- Detección de nivel básica.
- Juguetes y juegos interactivos.
- Sistemas de seguridad para el hogar.
Fuente: Adaptado al español desde el wiki oficial Elegoo (licencia CC BY-SA). Revisión técnica por equipo Breva.