Industrielle Fertigung
Industrielles Internet der Dinge | Industrielle Materialien | Gerätewartung und Reparatur | Industrielle Programmierung |
home  MfgRobots >> Industrielle Fertigung >  >> Manufacturing Technology >> Herstellungsprozess

Wireless Lichtschalter-Manipulator

Komponenten und Verbrauchsmaterialien

Arduino UNO
× 2
Servos (Tower Pro MG996R)
× 1
433 MHz Sende- und Empfangsmodul
× 1

Notwendige Werkzeuge und Maschinen

3D-Drucker (generisch)

Apps und Onlinedienste

Arduino-IDE

Über dieses Projekt

Idee

Ich bin also kein Fan davon aufzustehen, wenn ich mich entschieden habe einzuschlafen. Manchmal möchte ich vor dem Einschlafen nur etwas lesen und brauche das Licht. Also habe ich beschlossen, diesen Lichtschalter-Manipulator herzustellen.

Mir wurde klar, dass dies noch einige andere Auswirkungen hat:

  • Kinder, die zu klein sind, um den Schalter zu erreichen
  • Menschen mit eingeschränkter Mobilität

Das Projekt

Dieses Projekt basiert weitgehend darauf, dass die 433 MHz HF-Platinen miteinander kommunizieren. Manchmal kann dies eine ziemliche Leistung sein. Wenn der Code für Sie nicht gut funktioniert, versuchen Sie, diese Werte in Slave_servo.ino zu ändern:

const unsigned int upperThreshold =70; //oberer Schwellenwert const unsigned Int LowerThreshold =50; //unterer Schwellenwert  
  • Master_Remote.ino geht auf dem Arduino mit dem Sender
  • Slave_Servo.ino läuft auf dem gleichen Arduino wie der Empfänger

Verkabelung

Die Verkabelung hierfür ist recht einfach, nutze einfach die Bilder unter diesem Link und die Bilder unter "Schaltpläne".

Hinweis

  • Der Knopf geht auf den gleichen Arduino wie der Sender und das Servo geht auf den gleichen Arduino wie der Empfänger.

Wandhalterung

Für die Halterung des Servos an der Wand benötigen Sie Zugang zu einem 3D-Drucker. Die Servohalterung wurde in OpenSCAD modelliert, Sie müssen möglicherweise die Position des Lochs ändern. Ich habe die OpenSCAD-Datei eingefügt, damit die Lochparameter geändert werden können. Sie sollten für den Anfang mhacks_lightswitchv4.stl drucken.

Sichern Sie das Servo nach dem Drucken und kleben Sie die Halterung auf den Schalter (dies kann mit etwas so Einfachem wie Befehlsstreifen erfolgen, oder wenn Sie wirklich sicher sind, dass es Ihnen gefällt, Sekundenkleber (das empfehle ich nicht).

Abschlussprojekt

Hier ist das letzte Projekt (ich habe es für einen Online-Hackathon namens Mhacks eingereicht).

Um das Setup dauerhafter zu machen, möchten Sie möglicherweise einen Arduino-Fall ausdrucken. Dieser Fall funktioniert wirklich gut. Sie können es ebenso wie das Steckbrett mit Befehlsleisten an der Wand montieren.

Zukünftige Entwicklungen

  • Verwenden Sie ein ESP8266-basiertes Board, um das Servo zu steuern, anstatt 2 Arduinos
  • Machen Sie eine Lichtschalterabdeckung, die ein Servo beredter einbettet
  • Alexa-Code so entwickeln, dass er sprachgesteuert werden kann

Code

  • Slave_Servo.ino
  • Master_Remote.ino
Slave_Servo.inoArduino
#define rfReceivePin A0 // HF-Empfänger-Pin =Analog-Pin 0 #define ledPin 13 // Onboard-LED =digitaler Pin 13 #include  Servo-Servo; vorzeichenlose int-Daten =0; // Variable zum Speichern der empfangenen Daten const unsigned int upperThreshold =70; //oberer Schwellenwert const unsigned Int LowerThreshold =50; // unterer Schwellenwert Void setup () {pinMode (ledPin, OUTPUT); Serial.begin (9600); servo.attach(9); aufrechtzuerhalten. Void Schleife () { Daten =analogRead (rfReceivePin); // auf Daten am analogen Pin 0 lauschen if (data lowerThreshold) {digitalWrite (ledPin, HIGH); // Wenn ein HIGH-Signal empfangen wird, schalten Sie die LED ein Serial.println (Daten); servo.write(90); } }
Master_Remote.inoArduino
 #define rfTransmitPin 4 // HF-Sender-Pin =digitaler Pin 4 #define buttonPin 2 #define led 13 void setup () {// Geben Sie Ihren Setup-Code hier ein, um ihn einmal auszuführen:PinMode (rfTransmitPin, OUTPUT); pinMode (buttonPin, INPUT); pinMode (led, AUSGANG); Serial.begin (9600);}int buttonState =0; Void loop () {// fügen Sie Ihren Hauptcode hier ein, um ihn wiederholt auszuführen:buttonState =digitalRead (buttonPin); if (buttonState ==HIGH) {// LED einschalten:digitalWrite (rfTransmitPin, HIGH); digitalWrite (led, HIGH); Serial.println("übertragen"); Verzögerung(10); aufrechtzuerhalten. Sonst {// LED ausschalten:digitalWrite (rfTransmitPin, LOW); digitalWrite (LED, NIEDRIG); Serial.println ("Nein"); }}

Kundenspezifische Teile und Gehäuse

mhacks_lightswitch_hpXQkie6X4.scad
Arduino-Fall
CAD-Datei auf thingiverse.com

Schaltpläne


Herstellungsprozess

  1. Erstellen von Monitor-Ambilight mit Arduino
  2. Drahtlose magnetische Datenübertragung
  3. Arduino Pong-Spiel - OLED-Display
  4. Audiofrequenzdetektor
  5. Arduino Tamagotchi Klon - Digitales Haustier
  6. USB-BLE-Wireless-MIDI-Adapter
  7. Tech-TicTacToe
  8. Bewegungssensor-Wasserpistole
  9. Arduino-Countdown-Timer
  10. Arduino Sunflower:Eine elektronische Sonnentänzerin