Hallo, ich habe ein Code geschrieben, um einen Servomotor mit dem Eingang eines MH-Z19 CO2 Sensors zu steuern. Jedoch will der Motor sich immer auf 0 grad bewegen, obwohl er bereits auf 0 Grad ist, Hat jemand eine Idee wie ich dies andres verhindere als im Code versucht?
#define RX_PIN 10 #define TX_PIN 11 #define BAUDRATE 9600 // Native to the sensor (do not change)
#include <SoftwareSerial.h> // Remove if using HardwareSerial or non-uno compatible device
SoftwareSerial mySerial(RX_PIN, TX_PIN); // (Uno example) create device to MH-Z19 serial
void setup()
{
Serial.begin(9600);
mySerial.begin(BAUDRATE); // Uno example: Begin Stream with MHZ19 baudrate
myMHZ19.begin(mySerial); // *Important, Pass your Stream reference
myServo.attach(8); // AnschlieĂen des Servomotors an Pin 9
}
void loop() {
int CO2 = myMHZ19.getCO2();
Serial.print("CO2: ");
Serial.println(CO2);
if (CO2 > 1000 && myServo.read() != 180) {
myServo.write(180); // Schreibe den Servomotor auf die Position fĂŒr CO2-Werte ĂŒber 1000 ppm
servoPosition = 180;
delay(1000); // Kurze Verzögerung, um den Servomotor stabilisieren zu lassen
} else if (myServo.read() != 0 && CO2 <= 1000 ) {
myServo.write(0);
servoPosition = 0;
delay(1000); // Kurze Verzögerung, um den Servomotor stabilisieren zu lassen
}
delay(2000); // Messung alle 2 Sekunden wiederholen
}
Hier ist ein Beispiel, wie du einen Servo ansteuern kannst. Weil kein CO Messer vorhanden ist, wird der Wert als Zufallszahl generiert. Es werden vier LuftqualitÀts- Wertebereiche unterschieden (gut, mittel, schlecht und sehr schlecht).
Der Servo wird je nach Wert in 45° Schritten (0°- 45°- 90° -135°) gestellt.
Moin, danke fĂŒr die Antwort. Es tut mir leid das ich noch nicht drauf reagiert hatte, ich hatte noch nicht wieder die Gelegenheit in ruhe weiter zu arbeiten. Leider muss ich gestehen, dass ich recht neu in dem Bereich bin und weiĂ nicht wie ich den CO2 Sensor dort mit einbringen kann, so dass der Motor sich auf Grund der CO2 Werte im raum bewegt.
Falls es hilft, ich möchte ein Vogel der bei guter Luft im Zimmer steht und bei schlechter Luft im Zimmer soll dieser runter hĂ€ngen. Dementsprechend 0 Grad und 180 Grad fĂŒr den Motor.
Danke im voraus
Danke fĂŒr die schnelle Antwort und dein VerstĂ€ndnis. Ich weis jedoch leider nicht ganz wie ich in denn Code schreibe das er die CO2 Werte vom Sensor nehmen soll und nicht zufĂ€llig generiert
EDIT:
Ich habe mal mein GlĂŒck probiert:
WÀre es so möglich?
Das ist leider Mein erstes Projekt. War dein Code eine ErgÀnzung oder allein stehend?
Tut mir leid, das ich etwas schwer von Begriff bin, was dass angeht.
Wie du siehst arbeitet der Code von mit alleine stehend. Er muss lediglich um den Code fĂŒr den CO2 Messer ergĂ€nzt werden. Also hole alle diese Teile in den Beispielcode.