Controlador Inteligente de Interruptor de Luz Sem Fio: Manipulador Remoto Baseado em Arduino
Componentes e Materiais
- 2x Arduino UNO
- 1x Servo (Tower Pro MG996R)
- 1x Módulo Transmissor e Receptor 433 MHz
Ferramentas e Máquinas Necessárias
- Impressora 3D (genérica)
Aplicativos e Serviços Online
- Arduino IDE
Sobre o Projeto
Ideação
Não sou fã de levantar depois que decidi dormir. Às vezes só quero ler um pouco antes de dormir e preciso que a luz esteja acesa. Por isso, decidi fazer este manipulador de interruptor de luz.
Percebi que isso tem algumas outras implicações:
- Crianças que são muito baixas para alcançar o interruptor
- Pessoas com mobilidade limitada
O Projeto
Este projeto baseia-se principalmente nas placas RF de 433 MHz se comunicando entre si. Às vezes isso pode ser um desafio. Se o código não funcionar bem para você, tente modificar estes valores no Slave_servo.ino:
const unsigned int upperThreshold = 70; // valor limite superior
const unsigned int lowerThreshold = 50; // valor limite inferior
- Master_Remote.ino vai no Arduino com o transmissor
- Slave_Servo.ino vai no mesmo Arduino que o receptor
Fiação
A fiação é bastante simples, use as imagens neste link e as imagens em "Esquemáticos".

Nota: O botão vai no mesmo Arduino que o transmissor, e o servo vai no mesmo Arduino que o receptor.
Montagem na Parede
Para a montagem do servo na parede, você precisará de acesso a uma impressora 3D. A montagem do servo foi modelada no OpenSCAD, você pode ter que mudar onde o furo está localizado. Incluí o arquivo OpenSCAD para que os parâmetros do furo possam ser modificados. Você vai querer imprimir mhacks_lightswitchv4.stl para começar.
Uma vez impresso, fixe o servo e cole a montagem no interruptor (pode ser feito com algo tão simples como fitas de comando, ou se você tiver certeza que gosta, super cola (não recomendo).
Projeto Final
Aqui está o projeto final (enviei para um hackathon online chamado Mhacks).
Para tornar a configuração mais permanente, você pode imprimir um case para Arduino. Este case funciona muito bem. Você pode montá-lo, bem como a protoboard, na parede usando fitas de comando.
Desenvolvimentos Futuros
- Usar uma placa baseada em ESP8266 para controlar o servo, em vez de 2 Arduinos
- Fazer uma tampa de interruptor de luz que embuta um servo de forma mais elegante
- Desenvolver código Alexa para que seja capaz de ser controlado por voz
Código
Slave_Servo.ino Arduino
#define rfReceivePin A0 // Pino receptor RF = pino analógico 0
#define ledPin 13 // LED onboard = pino 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
#define rfTransmitPin 4 // Pino transmissor RF = pino 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");
}
}
Peças Personalizadas e Gabinetes
mhacks_lightswitch_hpXQkie6X4.scad (arquivo OpenSCAD)
Case para Arduino
Arquivo CAD no thingiverse.com
Esquemáticos


Processo de manufatura
- Crie um Sistema Ambilight Impressionante para Monitor com Arduino
- Transferência de Dados Magnética Sem Fio com Arduino e Sensor 3D Infineon
- Construa o Clássico Jogo Pong no Arduino UNO com Display OLED – Tutorial Passo a Passo
- Detector de Frequência de Áudio com Arduino – Meça Picos de Som com Módulo de Alta Sensibilidade
- Construa Seu Próprio Tamagotchi com Arduino: Projeto DIY de Pet Digital
- Adaptadores USB-BLE MIDI Sem Fio – Conectividade Perfeita para Músicos
- Jogo da Velha com Arduino, Matriz LED MAX7219 e Caixa de Papelão
- Pistola de Água Inteligente com Detecção de Movimento usando Arduino Nano
- Construa um Temporizador Regressivo Confiável com Arduino e Display de 7 Segmentos SparkFun
- Girassol Eletrônico com Arduino: Rastreador Solar Autônomo