Hallo Forum,
habe eine kleine Frage. Unzwar sitze ich gerade an einem Projekt wo es wichtig ist Platz zu sparen. Also habe ich mich für den Arduino Nano Every entschieden. Das Problem ist, dass ich zwei Serielle Schnittstellen benötige mit unterschiedlichen Baudraten. Habe mich für die Library "SoftwareSerial" entschieden. An der ersten ist ein Sensor der mit 9600 Baud arbeitet und an der anderen ein Funkmodul welches mit 115200 Baud arbeitet. Der Sensor empfängt Daten und sendet diese an das Funkmodul weiter. Also entweder muss ich beide gleichzeitig nutzen oder ich schalte die erste Schnittstelle ab sobald gemessen wurde. Nur leider habe ich schon viel rum probiert und hatte es (meiner Meinung nach) schon am laufen. Also das beide unabhängig von einander laufen. Jetzt bekomme ich aber keine Werte mehr vom Sensor. Mit einem einfachen Programm ließt er die wohl aus, nur nicht wenn ich zwei Schnittstellen nutze. Es ist keine Option den Sensor oder das Funkmodul zu tauschen.
Hier einmal Ausschnitte aus dem Code:
#include "cozir.h"
#include "SoftwareSerial.h"
SoftwareSerial ip (2, 4); // Setzt die Rx und Tx Pins für die Serielle Verbindung
SoftwareSerial nss (7, 8); // Setzt die Rx und Tx Pins für die Serielle Verbindung
COZIR czr ( &nss );
void setup()
//Setup-Teil wird nur einmal beim starten des Programms ausgeführt
{
Serial.begin(9600);
czr.init();
czr.setOperatingMode( CZR_POLLING ); // Bestimmt den Modus des Sensors / Polling-> Sensor misst, sendet die Werte aber erst auf anfrage
nss.begin(9600); // Starten der Seriellen Verbindung den Cozir Sensor mit der Baudrate 9600
delay(100);
ip.begin(115200);// Starten der Seriellen Verbindung für IP500 mit der Baudrate 115200
void loop()
//Der Loop-Teil wird immer wieder wiederholt sobald er durchgelaufen ist
{
h = czr.humidity(); // ließt die relative Feuchte aus
delay(1000);
t = czr.celsius(); // ließt die Temperatur aus
delay(1000);
co2 = czr.CO2(); // ließt den Co2 Wert aus
delay(1000);
}
ip.print("AT+TU=10,");
ip.print(t);
ip.println();
Hat vielleicht jemand eine Lösung oder schon das gleiche Problem gehabt?