Controlador Inalámbrico Inteligente de Interruptores: Manipulador Remoto Basado en Arduino
Componentes y materiales
- 2x Arduino UNO
- Servo Tower Pro MG996R
- Módulo transmisor/receptor 433 MHz
Herramientas y máquinas necesarias
- Impresora 3D (genérica)
Aplicaciones y servicios online
- Arduino IDE
Sobre el proyecto
Ideación
No me gusta levantarme una vez he decidido dormirme. A veces quiero leer antes de dormir y necesito la luz encendida. Así que decidí hacer este manipulador de interruptores.
Me di cuenta de que tiene otras implicaciones:
- Niños demasiado bajos para alcanzar el interruptor
- Personas con movilidad reducida
El Proyecto
Se basa en la comunicación entre dos placas RF de 433 MHz. A veces es todo un reto. Si el código no te funciona bien, prueba a modificar estos valores en Slave_servo.ino:
const unsigned int upperThreshold = 70; // umbral superior
const unsigned int lowerThreshold = 50; // umbral inferior
Master_Remote.inova en el Arduino con el transmisorSlave_Servo.inova en el Arduino con el receptor
Cableado
El cableado es simple, usa las imágenes en este enlace y en "Esquemáticos".

Nota: El botón va en el Arduino con el transmisor, y el servo en el Arduino con el receptor.
Montaje en pared
Para el soporte del servo en la pared necesitas impresora 3D. El soporte se modeló en OpenSCAD; puede que debas cambiar la posición del agujero. Incluí el archivo OpenSCAD para modificar parámetros. Imprime mhacks_lightswitchv4.stl para empezar.
Una vez impreso, fija el servo y adhiere el soporte al interruptor (tiras adhesivas tipo Command Strips, o si estás muy seguro, superglue - no lo recomiendo).
Proyecto final
Proyecto final (presentado en hackathon online Mhacks). Para hacerlo más permanente, imprime una caja para Arduino (esta funciona bien). Puedes fijar la caja y la protoboard a la pared con tiras Command.
Desarrollos futuros
- Usar placa basada en ESP8266 para controlar el servo, en lugar de 2 Arduinos
- Crear tapa de interruptor que integre el servo de forma más elegante
- Desarrollar código para Alexa y control por voz
Código
Slave_Servo.ino (Arduino receptor + servo)
#define rfReceivePin A0 // Pin receptor RF = Analógico 0
#define ledPin 13 // LED integrado = Digital 13
#include <Servo.h>
Servo servo;
unsigned int data = 0;
const unsigned int upperThreshold = 70;
const unsigned int lowerThreshold = 50;
void setup() {
pinMode(ledPin, OUTPUT);
Serial.begin(9600);
servo.attach(9);
}
void loop() {
data = analogRead(rfReceivePin);
if (data < upperThreshold) {
digitalWrite(ledPin, LOW);
Serial.println(data);
servo.write(0);
}
if (data > lowerThreshold) {
digitalWrite(ledPin, HIGH);
Serial.println(data);
servo.write(90);
}
}
Master_Remote.ino (Arduino transmisor + botón)
#define rfTransmitPin 4 // Pin transmisor RF = Digital 4
#define buttonPin 2
#define led 13
void setup() {
pinMode(rfTransmitPin, OUTPUT);
pinMode(buttonPin, INPUT);
pinMode(led, OUTPUT);
Serial.begin(9600);
}
int buttonState = 0;
void loop() {
buttonState = digitalRead(buttonPin);
if (buttonState == HIGH) {
digitalWrite(rfTransmitPin, HIGH);
digitalWrite(led, HIGH);
Serial.println("transmit");
delay(10);
} else {
digitalWrite(rfTransmitPin, LOW);
digitalWrite(led, LOW);
Serial.println("no");
}
}
Piezas personalizadas y envolventes
Archivo OpenSCAD: mhacks_lightswitch_hpXQkie6X4.scad
Caja para Arduino
Archivo CAD en Thingiverse.com
Esquemáticos


Proceso de manufactura
- Crea un Impresionante Sistema Ambilight para Monitor con Arduino
- Transferencia Inalámbrica de Datos Magnéticos con Arduino y Sensor 3D Infineon
- Construya el clásico juego Pong en Arduino UNO con pantalla OLED: Tutorial paso a paso
- Detector de frecuencia de audio con Arduino – Mide los picos de sonido más intensos
- Construye tu Propio Tamagotchi con Arduino: Mascota Digital DIY
- Adaptadores USB-BLE MIDI Inalámbricos: Conectividad Sin Cables para Músicos
- Tres en raya con Arduino, matriz LED MAX7219 y carcasa de cartón
- Pistola de Agua Inteligente Activada por Movimiento con Arduino Nano
- Construye un Temporizador Regresivo Fiable con Arduino y Pantalla de 7 Segmentos SparkFun
- Girasol Arduino: Construye un Girasol Electrónico que Sigue al Sol
- Construye tu Propio Coche RC Porsche con Arduino: Guía Paso a Paso