Inhaltsverzeichnis:
- Schritt 1: Sammeln Sie Ihre Teile…
- Schritt 2: Schreiben Sie das Programm
- Schritt 3: Teile zusammenbauen und testen
- Schritt 4: Fertigstellen und bereitstellen
Video: Badezimmer-Aufpasser - Gunook
2024 Autor: John Day | [email protected]. Zuletzt bearbeitet: 2024-01-30 07:21
In unserem Haus haben wir zwei Teenager und 1,5 Badezimmer. Da beide gerne sehr lange duschen und sich fertig machen, bleibt meiner Frau und mir oft nur das Halbbad. Das ist ein Problem.
Wir haben in der Vergangenheit mehrere Ansätze ausprobiert, darunter:
- Bitten Sie sie, einen Countdown-Timer auf ihrem Smartphone auf 30 Minuten einzustellen.
- Platzieren Sie eine echte Uhr im Badezimmer.
- Das heiße Wasser runterdrehen.
- Starten des Geschirrspülers und/oder der Waschmaschine.
- Schreien, betteln usw.
Nichts hat funktioniert.
Ich entschied, dass das, was wir wirklich brauchten, ein Türalarm war, aber umgekehrt - ein Alarm, der ertönt, wenn die Tür geschlossen statt geöffnet wird. Um fair zu sein, sollte der Alarm dem Bewohner ca. 30-40 Minuten Zeit geben, um seine Geschäfte zu erledigen, bevor er ertönt, und warnen Sie häufig, dass die Uhr läuft.
Betreten Sie das Arduino!
Schritt 1: Sammeln Sie Ihre Teile…
Um dieses Projekt zu replizieren, benötigen Sie ein Arduino Uno oder Mega 2560 und…
- Ein paar RGB-LED-Leuchten. Ich habe drei Grove-LEDs verwendet, aber Sie können so viele oder so wenige verwenden, wie Sie möchten.
- Ein Lautsprecher zum Abspielen der Glocken und des Weckers. Ich habe diesen verwendet, auch Grove.
- Wenn Sie Grove-Komponenten verwenden, die ich dringend empfehle, um alles einfach zu halten, sollten Sie auch eine Handvoll Kabel wie diese kaufen.
- Ein magnetischer Reed-Schalter. Ich habe mich für dieses entschieden, von Amazon.
- Ein Netzteil. Ich wählte dieses aus, damit ich entweder eine 9-V-Batterie oder AA-Batterien verwenden konnte, um bei Bedarf eine längere Lebensdauer zu erzielen, und es kam im Grunde genommen mit einem "kostenlosen" Arduino Uno-Klon als Bonus.
Mein Arduino stammte von einer älteren Version des Seeed Studio ADK Dash Kit (meiner kam nicht mit den Kabeln). Wenn Sie einen bei Amazon oder Ebay finden, ist dies ein ziemlich guter Einstieg. Es enthält den Grove Megashield, RGB-LEDs, einen Arduino Mega 2560 (Klon) mit integriertem USB sowie eine Sammlung anderer Grove-Module, die für andere Projekte Spaß machen könnten.
Schritt 2: Schreiben Sie das Programm
Meine Vorgaben für das Programm waren wie folgt:
- In regelmäßigen Abständen muss ein akustisches Warnsignal vorhanden sein, um die Aufmerksamkeit des Insassen zu erregen.
-
Muss einen visuellen Status haben, um im Makrosinn anzuzeigen, wie viel Zeit noch übrig ist.
- Die Sehhilfe muss durch gläserne Duschtüren und/oder durch die Reflexion eines beschlagenen Spiegels leicht eingesehen und interpretiert werden können.
- Das Bild sollte deutlich die Gefahr rot anzeigen, wenn sich der Countdown dem Ende nähert.
- Muss einen akustischen Alarm haben, der nicht aufhört.
- Das System sollte scharfgeschaltet werden, wenn die Tür geschlossen wird, und unscharf, wenn die Tür geöffnet ist.
Ich wollte keine Digitalanzeige verwenden, einfach weil ich der Meinung war, dass es bestenfalls schwierig sein würde, sie durch beschlagene Duschtüren oder aus dem Spiegel zu sehen. Bei meinem ersten Versuch wurde nur eine RGB-LED verwendet, die im Laufe der Zeit immer schneller blinkte (unter Verwendung einer Abklingfunktion), aber dieser Ansatz gibt dem Bewohner kein wirkliches Gefühl für die verstrichene oder verbleibende Zeit.
Ich entschied, dass es der richtige Weg war, drei RGB-LEDs zu haben (und es tat nicht weh, dass ich drei zur Hand hatte). Jeder würde 1/3 der insgesamt erlaubten Zeit herunterzählen. Dies könnte dem Insassen ein klares Gefühl für die verstrichene und verbleibende Zeit geben, mit nur einem kurzen Blick auf die drei LEDs.
Um auf den Timer aufmerksam zu machen, beschloss ich, zu Beginn jedes Intervalls ein zweifarbiges Glockenspiel zu spielen.
Schließlich, wenn der Timer abgelaufen ist, ertönt ein zweifarbiger Alarm und ertönt weiter, bis das System durch Öffnen der Tür deaktiviert wird.
Ich habe 3 große Iterationen des Programms durchlaufen, jedes Mal vereinfacht und mit immer weniger Codezeilen geliefert, die besser funktionierten als der vorherige Versuch. Ich teile hier nur die "endgültige" Version, da sie ohne zusätzliche Komplexität das tut, was getan werden muss.
Schritt 3: Teile zusammenbauen und testen
Da ich Grove verwendet habe, war die Montage wahrscheinlich der einfachste Teil dieses Projekts.
Verbinden Sie die RGB-LEDs zu einer Kette (z. B. von LED1 nach innen von LED2). Sobald Sie die Kette haben, verbinden Sie LED1, die erste RGB-LED in Ihrer Kette, mit dem Arduino.
In meinem Fall:
- Masse zu schwarz (Masse)
- +5v bis rot (+5v)
- D7 auf weiß
- D6 auf gelb
An dieser Stelle können Sie das Programm kompilieren und auf den Arduino laden, um die Lichter zu testen. Ich schlage vor, den TimeInt-Wert auf 1 zu setzen, damit Sie beim Testen keinen langen Countdown durchlaufen müssen.
Ebenso einfach ist das Anschließen des Lautsprechers, auch eines Grove-Moduls. Schließen Sie den Lautsprecher an D8-D9 an.
In meinem Fall:
- Masse zu schwarz (Masse)
- +5V bis Rot (+5V)
- D9 auf weiß
- D8 auf gelb
Sie können es erneut testen, oder wenn Sie es noch nicht getestet haben, testen Sie es jetzt. Spielen Sie mit TimeInt und allem anderen, was Sie ändern und kompilieren, laden und testen möchten.
Schritt 4: Fertigstellen und bereitstellen
Ich habe das Programm geschrieben und alle Prototypen und Tests mit dem Seeed Mega-Klon durchgeführt, aber ich fand, dass dies als endgültige Lösung "zu teuer" war. Mit dem Uno-Klon habe ich die Anschlüsse gelötet (nach dem Testen) und alles auf ein Ersatzholzstück montiert.
Für ein Gehäuse wollte ich etwas, das klar ist (damit der Benutzer die RGB-LEDs sehen kann), aber auch etwas wasserdicht. Das Badezimmer, der Zieleinsatzort, kann durch lange Duschen eine sehr hohe Luftfeuchtigkeit aufweisen, und ich wollte, dass das Arduino ein gewisses Maß an Schutz bietet. Die Lösung bestand darin, einen chinesischen Take-out-Container wiederzuverwenden. Es kam mit einem dichten, gut abgedichteten, durchsichtigen Deckel und hatte viel Platz im Inneren, um Arduino und Batterie zu montieren!
Anschließend habe ich das System im Badezimmer mit 3M Command Strips montiert.