Inhaltsverzeichnis:

Automatischer Jalousieöffner mit EV3 - Gunook
Automatischer Jalousieöffner mit EV3 - Gunook

Video: Automatischer Jalousieöffner mit EV3 - Gunook

Video: Automatischer Jalousieöffner mit EV3 - Gunook
Video: So stellen Sie Ihren Rollladen Motor auf Werkseinstellungen zurück 2024, Juli
Anonim
Automatischer Jalousieöffner mit EV3
Automatischer Jalousieöffner mit EV3
Automatischer Jalousieöffner mit EV3
Automatischer Jalousieöffner mit EV3

Ich habe in meinem Schlafzimmer Verdunkelungsrollos, die ich morgens oder abends oft vergesse, sie zu öffnen oder zu schließen. Ich möchte das Öffnen und Schließen automatisieren, aber mit einer Überschreibung, wenn ich mich umziehe.

Schritt 1: Potenzielle Ideen oder Lösungen

Nachdem ich auf verschiedenen Websites wie YouTube, Instructables und Thingiverse nachgesehen hatte, stellte ich fest, dass die häufigste Lösung darin bestand, die Spule zu motorisieren, die die Jalousien mit einem Schrittmotor oder einem Servo auf- und abwickelte. Ich habe 2 Hauptoptionen mit verschiedenen Vor- und Nachteilen gefunden.

Idee 1: Spulenmethode, bei der der Motor und das Getriebe in der Spule untergebracht sind. Dies hat den Vorteil, dass es sich um ein sauberes und elegantes Verfahren handelt, hat jedoch die Nachteile, dass es eine große Änderung an der Jalousie erfordert, die Schnur nicht mehr verwendbar ist und die Baugruppe bei der Durchführung für die Wartung nur sehr schwer zugänglich wäre.

Idee 2: Schnurmethode, bei der der Motor und das Getriebe auf der Schnur untergebracht sind. Dies hat den Vorteil, dass es einfacher ist und die Montage leicht zugänglich sein könnte. Es hat jedoch den Nachteil, dass es hässlich und sperrig sein könnte, sowie die Tatsache, dass es im eingebauten Zustand am Schweller befestigt werden muss.

Ich bevorzuge die Schnurmethode, da sie eine viel einfachere Lösung ist, die die manuelle Verwendung der Schnur nicht behindert und die Jalousie keine größeren Änderungen erfordert. Ich plane, es so verdeckt und kompakt wie möglich zu machen, wenn ich die endgültige Version mit einem ESP8266 mache.

Schritt 2: Herstellung der Baugruppe

Zusammenbau machen
Zusammenbau machen
Zusammenbau machen
Zusammenbau machen

Ich habe dieses Projekt mit meinem Lego Mindstorms EV3 gemacht, der über Funktionen verfügt, die ich brauche, um zu zeigen, dass das Projekt funktionieren könnte, und ich bin mit der Software vertraut, die definitiv sehr geholfen hat. Da die Jalousie eine Kugelkette verwendet, um die Spule anzutreiben, mit der Lego-Zahnräder nicht kompatibel sind, entschied ich, dass die beste Lösung darin bestand, ein Zahnrad mit dem richtigen Kugelabstand außen zu entwerfen - mit dem standardmäßigen "kreuzförmigen" Loch in der Zentrum, wo ich dann das Design in 3D drucken würde. An dieser Stelle habe ich auch eine Kalibrierungstaste gemacht und einen Lichtsensor an mein Fenster sowie eine Taste als Überschreibung angebracht.

Schritt 3: Entwerfen des Blindgetriebes

Das blinde Zahnrad entwerfen
Das blinde Zahnrad entwerfen
Das blinde Zahnrad entwerfen
Das blinde Zahnrad entwerfen
Das blinde Zahnrad entwerfen
Das blinde Zahnrad entwerfen
Das blinde Zahnrad entwerfen
Das blinde Zahnrad entwerfen

Ich zerlegte die Jalousie, um zu sehen, wie die Kurbel genauer aussah. Bei der Demontage fand ich ein kleines 16-Zahn-Zahnrad, das von einer gespannten Spule gehalten wurde, das war das Teil, das ich suchte. Nachdem ich eine Replik des Zahnrads entworfen hatte, fügte ich die erforderlichen Lego-kompatiblen Löcher hinzu, druckte die 3 Einzelteile und verklebte sie schließlich mit Sekundenkleber. Ich hatte anfangs Probleme damit, das Teil Lego-kompatibel zu machen, in dem Sinne, dass mein 3D-Drucker nicht die Auflösung hatte, das "x" -Loch ausreichend zu machen, jedoch hatte er keine Probleme mit den kreisförmigen Löchern auf beiden Seiten. Also habe ich das "x" durch ein kreisförmiges Loch ersetzt und es druckte gut. Dann, nach ein paar Tests, konnte ich sehen, dass es das Drehmoment und das Gewicht der Jalousie bewältigen konnte. Ich werde meine Designs für die Ausrüstung unten verlinken oder du findest sie auf Thingiverse unter:

Schritt 4: Blinde codieren

Die Blinden codieren
Die Blinden codieren

Ich wollte einen Code, der die Jalousie automatisch öffnet und schließt, wenn sie ein bestimmtes Lichtniveau erreicht, aber der auch eine Überbrückungstaste hatte, damit man die Jalousie immer noch öffnen oder schließen konnte, wenn sie wollten. Ich habe meinen GitHub mit der endgültigen Version des Codes hier verlinkt:

Der Code für das Projekt dauerte mehrere Tage, ich hatte die grundlegende Logik des Programms mit dem Lichtsensor korrekt funktioniert, jedoch funktionierte der momentane Override-Knopf nicht richtig. Es änderte zwar den Zustand der Jalousie beim Drücken, aber es fehlte die „Verriegelungsfunktion“, die bedeuten würde, dass die Jalousie in der Position bleibt, was bedeutet, dass die Jalousie sofort wieder in die vorherige Position zurückgerollt wird. Ich habe dies mit einem "Warten bis"-Block behoben, der mit einem logischen ODER-Gatter verbunden ist, das die Werte des Lichtsensors und des Berührungssensors liest, was ich unten erläutern werde.

Der Code beginnt mit der Kalibrierung der Motoren und der Jalousie, beginnend mit der Jalousie vollständig geöffnet und heruntergefahren, bis sie den Berührungssensor unten trifft. Variable. Dann schreibt er „false“in die Variable „BlindOpen“, mit der die Position der Jalousie verfolgt wird. An dieser Stelle teilt sich der Code in 4 Schleifen auf.

Eine dieser Schleifen ist die „Buttonstate“-Schleife, die den Zustand der Schaltfläche kontinuierlich an eine Variable namens „ButtonPressed“veröffentlicht. Dadurch entfällt die Notwendigkeit, mehrere Schaltflächenblöcke im Skript zu platzieren.

Die zweite Schleife ist die "Hell oder Dunkel", die kontinuierlich die Lichtstärke außerhalb meines Fensters mit einer zuvor im Code definierten Konstanten vergleicht. Wenn das Ergebnis unter dieser Konstante liegt, schreibt die Schleife „false“in die Variable „ItIsLight“, während es über dem Wert „true“schreibt.

Die dritte Schleife enthält eine numerische Liste mit 3 Optionen, die dem Blinden im Grunde sagt, was er tun soll, 0 = Blind runter, 1 = Blind hoch, 2 = nichts tun, weil Blind an der richtigen Stelle ist. Die Schleife beginnt mit dem Lesen der Variablen „BlindShould“, die die korrekte Aufgabe angibt, die die Jalousie ausführen soll, führt dann diese Aufgabe aus, ändert die Variable „BlindOpen“in die richtige Option und wird dann inaktiv, bis die Variable „BlindShould“geändert wird, wobei es wiederholt sich. Es verwendet den Wert „RotationsNeeded“sowie eine Leistung von +/- 100 %, um die Jalousie vollständig zu öffnen oder zu schließen.

Die vierte und letzte Schleife ist die komplexeste, es ist die „Decider“-Schleife, die alle Daten verarbeitet und entscheidet, was mit jeder Permutation zu tun ist. Dies geschieht durch die Verwendung logischer "Weggabeln", bei denen "Knopf gedrückt wird", "Lichtstufe", "Jalousie geöffnet" die wahren oder falschen Fragen sind. Alle Permutationen haben eine hartcodierte Antwort, die entweder 0 = blind down, 1 = blind up oder 2 = nichts tun ist - dieser Wert wird in die Variable „BlindShould“geschrieben, die dann von einer vorherigen Schleife verarbeitet wird. Einige Antworten warten dann, bis sich entweder die Variablen „ItIsLight“und/oder „ButtonPressed“ändern, bevor das Skript beendet wird in seinen ursprünglichen Zustand. Dieser Prozess wird dann in einer Schleife durchlaufen, um ein robustes und relativ einfaches automatisches System zu schaffen, das leicht hinzugefügt und ausgetestet werden kann. Puh.

Schritt 5: Feinschliff

Feinschliff
Feinschliff

Ich entschied mich danach, mein EV3 mit einer 9V-Stromversorgung zu verkabeln, indem ich einige Holzdübel und Schrauben als "Batterien" verwendet habe, dies machte das Produkt unabhängig von Batterien und verhinderte, dass ich die Batterien alle paar Tage wechseln musste.

Schritt 6: Bewertung des Projekts

Ich denke, dass das Projekt insgesamt gut gelaufen ist, am Ende habe ich einen funktionierenden Prototypen für die automatische Jalousiemontage erhalten, den ich alle relevanten Informationen, die ich während des Projekts gefunden habe, in die endgültige Version umsetzen kann. Ich habe das Gerät erfolgreich codiert und später keine größeren Probleme mit dem Code festgestellt. Ich hätte das Gerät gerne optisch ansprechender gestaltet, aber es ist wieder einmal ein Proof of Concept und ich werde einige Anstrengungen unternehmen, um es gut aussehen zu lassen, wenn ich die endgültige Version mit einem ESP8266 mache. Wenn ich das Projekt wieder mache, werde ich den Motor so entwerfen, dass er in der Jalousie sitzt, da dies einfacher zu verbergen wäre. Die größte Lektion, die ich gelernt habe, ist das logische Debuggen und das Durchdenken, Dokumentieren und Testen meines Codes, bevor ich ihn implementiere.

Empfohlen: