Inhaltsverzeichnis:
- Schritt 1: Potenzielle Ideen oder Lösungen
- Schritt 2: Herstellung der Baugruppe
- Schritt 3: Entwerfen des Blindgetriebes
- Schritt 4: Blinde codieren
- Schritt 5: Feinschliff
- Schritt 6: Bewertung des Projekts
Video: Automatischer Jalousieöffner mit EV3 - Gunook
2024 Autor: John Day | [email protected]. Zuletzt bearbeitet: 2024-01-30 07:16
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
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
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
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
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:
Heimwerken -- Einen Spinnenroboter herstellen, der mit einem Smartphone mit Arduino Uno gesteuert werden kann – wikiHow
Heimwerken || Wie man einen Spider-Roboter herstellt, der mit einem Smartphone mit Arduino Uno gesteuert werden kann: Während man einen Spider-Roboter baut, kann man so viele Dinge über Robotik lernen. Wie die Herstellung von Robotern ist sowohl unterhaltsam als auch herausfordernd. In diesem Video zeigen wir Ihnen, wie Sie einen Spider-Roboter bauen, den wir mit unserem Smartphone (Androi
Bewegungsaktivierte Cosplay Wings mit Circuit Playground Express - Teil 1: 7 Schritte (mit Bildern)
Bewegungsaktivierte Cosplay-Flügel mit Circuit Playground Express - Teil 1: Dies ist Teil 1 eines zweiteiligen Projekts, in dem ich Ihnen meinen Prozess zur Herstellung eines Paars automatisierter Feenflügel zeige. Der erste Teil des Projekts ist der Mechanik der Flügel, und der zweite Teil macht es tragbar und fügt die Flügel hinzu
Automatischer Anrufbeantworter V1.0: 17 Schritte (mit Bildern)
Automated Answering System V1.0: Manchmal habe ich einfach keine Lust, ans Telefon zu gehen. Okay, okay… die meiste Zeit ist es mir wirklich egal, ans Telefon zu gehen. Was soll ich sagen, ich bin ein beschäftigter Mann. Ich habe mir schon lange ein System gewünscht, das dem ähnlich ist, das die Telefongesellschaft für die
Automatischer Sucher: 4 Schritte
Auto-Searcher: Also las ich eines Tages Fanfiction in meinem Bett, um meinen Stress abzubauen. Aber ich hatte das Gefühl, dass es ein bisschen mühsam war, die Seite weiter zu scrollen, um weiterzulesen. Ich muss auch klicken, um das nächste Kapitel zu sehen und das Ganze vorher suchen
Automatischer Gartenbewässerer - 3D gedruckt - Arduino: 10 Schritte (mit Bildern)
Automatischer Gartenbewässerer | 3D gedruckt | Arduino: Ich bin ein begeisterter Gärtner, aber Ihre Pflanzen während Trockenperioden von Hand zu gießen, dauert einige Zeit. Dieses Projekt befreit mich vom Gießen, damit ich an meinen anderen Projekten arbeiten kann. Es ist auch großartig, sich um den Garten zu kümmern, während Sie nicht zu Hause sind, und die Pflanze