Slimme Draadloze Lichtschakelaar Controller: Arduino-gebaseerde Remote Switch Manipulator
Onderdelen en benodigdheden
| Arduino UNO | 2 |
| Servo (Tower Pro MG996R) | 1 |
| 433 MHz Zender en Ontvanger Module | 1 |
Benodigde tools en machines
- 3D-printer (generiek)
Apps en online services
- Arduino IDE
Over dit project
Ideëvorming
Ik ben geen fan van opstaan zodra ik besloten heb om te gaan slapen. Soms wil ik nog even lezen voor het slapen en heb ik het licht aan nodig. Dus besloot ik deze lichtschakelaar manipulator te maken.
Ik realiseerde me dat dit een paar andere implicaties heeft:
- Kinderen die te klein zijn om de schakelaar te bereiken
- Mensen met beperkte mobiliteit
Het project
Dit project is grotendeels gebaseerd op de 433 MHz RF bordjes die met elkaar communiceren. Soms kan dit een uitdaging zijn. Als de code niet goed werkt voor jou, probeer dan deze waarden in Slave_servo.ino aan te passen:
const unsigned int upperThreshold = 70; // bovenste drempelwaarde
const unsigned int lowerThreshold = 50; // onderste drempelwaarde
- Master_Remote.ino gaat op de Arduino met de zender
- Slave_Servo.ino gaat op de Arduino met de ontvanger
Bedrading
De bedrading is vrij simpel, gebruik de afbeeldingen op deze link en de afbeeldingen onder "Schema's".
Let op: De knop gaat op dezelfde Arduino als de zender, en de servo op dezelfde Arduino als de ontvanger.
Wandbevestiging
Voor de bevestiging van de servo aan de muur heb je toegang tot een 3D-printer nodig. De servo-bevestiging is gemodelleerd in OpenSCAD, je moet misschien de positie van het gat aanpassen. Ik heb het OpenSCAD-bestand meegestuurd, zodat de gatparameters gewijzigd kunnen worden. Je wilt mhacks_lightswitchv4.stl printen voor de eerste versie.
Eenmaal geprint, bevestig je de servo erin en plak je de bevestiging op de schakelaar (dit kan met iets zo simpels als Command Strips, of als je er echt zeker van bent, superlijm - ik raad dit niet aan).
Eindproject
Hier is het eindproject (ik diende dit in voor een online hackathon genaamd Mhacks). Om de opstelling permanent te maken, wil je misschien een Arduino behuizing printen. Deze werkt heel goed. Je kunt het evenals het breadboard met Command Strips aan de muur bevestigen.
Toekomstige ontwikkelingen
- Gebruik een ESP8266-gebaseerd bord om de servo te sturen, in plaats van 2 Arduino's
- Maak een lichtschakelaar-hoes die een servo eleganter integreert
- Ontwikkel Alexa-code zodat het stemgestuurd kan worden
Code
Slave_Servo.ino
#define rfReceivePin A0
#define ledPin 13
#include
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
#define rfTransmitPin 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");
}
}
CAD bestanden
- mhacks_lightswitch_hpXQkie6X4.scad (OpenSCAD bestand voor servo mount)
- Arduino behuizing op Thingiverse
Schema's
Schema's beschikbaar in de projectbestanden.
Productieproces
- Bouw een indrukwekkend monitor Ambilight-systeem met Arduino
- Arduino Draadloze Magnetische Dataoverdracht met Infineon 3D-Sensor
- Bouw een Klassiek Pong-spel op Arduino UNO met OLED-display – Stap-voor-stap Tutorial
- Arduino Audio Frequentie Detector – Meet de luidste geluidspieken met hoge gevoeligheid
- Bouw Je Eigen Arduino Tamagotchi: Een Digitale Huisdier DIY Project
- USB-BLE Draadloze MIDI Adapters – Naadloze Connectiviteit voor Musici
- Arduino Boter-Kaas-Eieren met MAX7219 LED Matrix en Kartonnen Behuizing
- Slimme beweegactiverde waterpistool gebouwd met Arduino Nano
- Bouw een Betrouwbare Arduino Afteltimer met SparkFun 7‑Segment Display
- Arduino Zonnebloem: Bouw een elektronische zon-volgende zonnebloem
- Bouw je eigen RC Porsche-auto met Arduino: Stap-voor-stap handleiding