Ist es möglich, einen Ultraschallsensor zu verwenden, um einen Arduino aufzuwecken, der sich im Tiefschlaf befindet, wenn ein Objekt innerhalb weniger cm erkannt wird, und dann Dinge zu tun?
Für eine wirklich stromsparende Arduino-basierte Lösung ist mindestens Folgendes erforderlich:
A) HARDWARE-SEITE:
B) SOFTWARE-SEITE:
Hier finden Sie wirklich gute und praktische Informationen zum Thema Energiesparen. Für eine gründlichere Anleitung lesen Sie dies auch.
Wenn Sie den Stromverbrauch wirklich minimieren möchten, benötigen Sie nicht nur eine stromsparende MCU-Schaltung, sondern auch einen Ultraschallempfänger, den Sie deaktivieren können.
Wecken Sie die MCU von einem periodischen Zeitgeber mit geringer Leistung auf und geben Sie einen Impuls ab, gehen Sie dann für mindestens die Sensorklingelzeit oder die Zeit des minimalen interessierenden Bereichs zurück in den Ruhezustand.
Wecken Sie die MCU und den Empfänger zu dem Zeitpunkt wieder auf, an dem Sie zum ersten Mal ein interessantes Echo erwarten, und bleiben Sie nur so lange wach, bis Sie eines sehen, oder für den Zeitraum, in dem Ihr Echo eintreffen könnte.
Handeln Sie, wenn Sie ein Echo hören.
Sobald Sie ein Echo hören oder das interessierende Fenster abgelaufen ist, schalten Sie bis zum nächsten Messintervall alles bis auf den Low-Power-Timer wieder aus.
Wie oft Sie die Messung wiederholen müssen, hängt davon ab, wie schnell sich Ihre Objekte bewegen können und/oder wie kurz eine Betätigung des Ausgangs sinnvoll ist und/oder die maximal zulässige Latenzzeit beim Reagieren auf ein Erscheinen oder Verschwinden. Als untere Grenze sollten Sie sicherstellen, dass Sie keine neue Messung durchführen, bis alle Mehrfachreflexionen oder Reflexionen an entfernten Wänden des alten Sendeimpulses abgeklungen sind.
Nick Alexejew