Hallo.
In einem anderen Thread habe ich erfahren, wie ich die Stromzufuhr zu Sensoren unterbreche (z.B. mit einem FET, oder anderem).
Der Datenstrom muss unterbunden werden, dann kann man VCC unterbrechen. Ich bin mir aber unsicher, was es genau in meinem Fall mit all meinen Sensoren bedeutet, den Datenfluss zu unterbrechen, und wie ich das richtig erreiche.
Ich habe:
DHT22 Modul
DS18B20 Temperatur Sensor
ein Wassersensor Modul, gleich wie "Funduino Tropfensensor" (im Google)
WisBlock RAK12007 Ultraschall Distanzsensor
DFRobot RTC DS3231M
mpu6050 Beschleunigungs Gyro Sensor Modul
Mir wurde mitgeteilt, dass ich beim DHT22 Sensor einfach keine Abfrage machen kann, und ihn dann einfach ausschalten kann am VCC Pin (und natürlich auch danach keine weiteren Sensorabfragen machen darf).
Kann man sagen, dass das in etwa bei allen Sensoren mit nur einem digital Daten Pin so sein sollte?
Also in meinem Fall auch die DS18B20 Temperatur Sensor einfach unterbrochen werden können an VCC, wenn keine Datenabfrage stattfindet?
Wie ist es dann beim Ultraschallsensor, kann ich bei dem auch einfach nur kein Echo senden, und dann wird auch nichts zurück übermittelt zum Arduino, obwohl so ein Ultraschallsensor ja eigentlich die ganze Zeit am lauschen sein sollte, ob ein Schall erkannt wird?
Und ihn somit auch gleich einfach unterbrechen kann an VCC, wenn ich nichts damit mache, und er nicht gerade ein Störsignal erhält (vielleicht von einem 2. Arduino mit Ultraschallsensor)?
Und wie beim Wassersensor, der ja einen Pin für einen analog Input hat? Bei dem kann man ja nicht sagen, ich kann den Datenaustausch unterbrechen, es ist so lange messbar wie das Modul mit Strom versorgt wird. Kann ich den auch einfach ohne ein analogRead zu verwenden an VCC unterbrechen?
Und wie ist es zu guter Letzt mit den 2 I2C Geräten, der RTC und dem mpu6050? Die RTC ist das einzige Gerät, das NICHT ausgeschalten werden darf, da ich sie ohne Batterie verwende. Ich muss aber in den DeepSleep Modus mit dem Arduino Pro mini 3.3v, um Energie zu sparen, dabei sollten alle anderen Sensoren komplett ausgeschalten werden. Die RTC muss im DeepSleep nicht weiter benutzbar sein (logischerweise), doch sie sollte nachher wieder normal funktionieren und nicht die Uhrzeit verlieren, weil ich SDA und SCL Pins deaktiviert habe.
Wie muss ich jetzt den mpu6050 ausschalten? Mir wurde mitgeteilt, dass ich I2C Geräte zuerst mit end() - Arduino-Referenz beenden kann. Doch macht das etwas der RTC? Und was ist mit dem AD0 Pin am mpu6050, den ich an VCC anschliessen muss, damit er eine andere Registernummer erhält, damit diese 2 I2C Geräte voneinander unterschieden werden können? Müsste ich den noch zusätzlich irgendwie unterbrechen, oder kann ich das einfach ignorieren, und einfach mit end() zuerst den Datenstrom beenden, und VCC vom mpu6050 unterbrechen?
Also einfach gesagt, kann ich jeden 1 Daten Pin Sensor (auch der Ultraschallsensor ist damit gemeint...) aus meiner Liste einfach an VCC unterbrechen, wenn ich keine Datenabfrage mache? Und die beiden I2C Geräte einfach mit end() beenden und am mpu6050 NUR den VCC Pin unterbrechen?
Wäre nett, wenn mir das jemand kurz und (sehr) einfach erklären könnte, oder vielleicht sogar einfach sagen könnte, ja alle diese Sensoren sind so abschaltbar wie du es gesagt hast...
Vielen Dank für die Hilfe