Show Posts
Pages: [1]
1  Forum 2005-2010 (read only) / Deutsch / Re: UART + DC-SS500 on: January 23, 2011, 05:49:14 pm
noch nicht, das werde ich morgen mal machen, mein Bett ruft ;-)
Wenn ich das HEX weglasse, ändert sich leider auch nichts.

Warum die Datenübertragung nach 5-6 Übertragungen schlapp macht, stellt mich echt vor ein Rätsel. Ich hab jetzt 2 verschiedene Module und zwei verschiede Boards ausprobiert. Sobald ich GND bei dem Modul ziehe, bekomme ich wieder 5-6 Rückmeldungen. Je länger die Pause (delay) zwischen den Abfragen, desto weniger Ergebnisse bekomme ich.

Eigentlich benötige die Werte alle 10-30 Minuten.

Grüße
Patrick
2  Forum 2005-2010 (read only) / Deutsch / Re: UART + DC-SS500 on: January 23, 2011, 05:18:21 pm
So?

Quote
   mySerial.print("$sure temp -c");
    mySerial.print(0x0d,HEX);
    mySerial.print(0x0a,HEX);
Da bekomme ich nen Fehler "Bad Command"

Ist ein 0x0d 0x0a nicht ein "carriage return" "new line" dass ja println() in Gegensatz zu print() macht?
3  Forum 2005-2010 (read only) / Deutsch / Re: UART + DC-SS500 on: January 23, 2011, 04:38:42 pm
Hallo Uwe,

danke für Dein Feedback. Wenn ich eine serielle Schnittstelle verwende habe ich folgendes Problem:

Ich sende: $sure temp- c
Ich lese (und sende gleichzeitig): 023Centigrade, 073Fahrenheit
Ich bekomme dann: Bad Command!, weil 023Centigrade, 073Fahrenheit nicht als UART Kommando interpretiert werden kann.

4  Forum 2005-2010 (read only) / Deutsch / Re: UART + DC-SS500 on: January 23, 2011, 03:31:17 pm
Danke für den Tipp.
Wenn ich das erste delay() rausnehme und das Zweite auf 10ms reduziere, bekomme ich zwar mehr ausgaben, aber irgendwann ist dann auch schluss.

Wenn ich das Sensormodul vom Strom trenne, gehts wieder.

Hat jemand eine Idee?
5  Forum 2005-2010 (read only) / Deutsch / UART + DC-SS500 on: January 23, 2011, 02:53:56 pm
Hallo,

ich möchte mit dem DC-SS500 von Sure Electronics per UART die relative Luftfeuchtigkeit + Temperatur auslesen.

Das Problem ist, das ich für die ersten fünf Abfragen Ergebnisse bekomme, dann bekomm ich nichts mehr. Läuft hier ein Puffer o.ä. voll?

023Centigrade
023Centigrade, 073Fahrenheit
test
023Centigrade
023Centigrade, 073Fahrenheit
test
023Centigrade
023Centigrade, 073Fahrenheit
test
023Centigrade
023Centigrade, 073Fahrenheit
test
023Centigrade
023Centigrade, 073Fahrenheit
test
023Centigrade
test
test
test
test
test


Datenblatt: http://www.sure-electronics.net/download/DC-SS500_Ver1.0_EN.pdf

Verkabelung:
Arduino 5v -> DC-SS500 5v
Arduino GND -> DC-SS500 5v
Arduino RX -> DC-SS500 TX
Arduino D2 -> DC-SS500 RX

Code:
Quote
#include <SoftwareSerial.h>

#define rxPin 12 // actually, I am not using a rxPin
#define txPin 2

// set up a new serial port
SoftwareSerial mySerial =  SoftwareSerial(rxPin, txPin);

int get_str(char *s, int ms);
int str_to_int(char *s);

void setup()
{
  // define pin modes for tx, rx, led pins:
  pinMode(txPin, OUTPUT);
  // set the data rate for the SoftwareSerial port
  mySerial.begin(9600);
  Serial.begin(9600);
}

void loop()
{
    char s[30];
    int T, RH;
    
    // measure and display the temperature in degrees F  
    mySerial.println("$sure temp");
    get_str(s, 100);
    Serial.println("test");
    delay (1000);
    // Now the same for the relative humidity,  
    mySerial.println("$sure temp -c");
    get_str(s, 100);
    delay(1000);
    
}

int get_str(char *s, int ms)
{
    char ch;
    int n=0;
    
    while(ms--)
    {
      while (Serial.available() > 0)
       {
         Serial.print(char(Serial.read()));
           if ((ch == 0x0a) || (ch == 0x0d)) // CR or LF
           {
              s[n] = 0; // null terminate the string
              return(n);
           }
          
       }

    }
}


6  Forum 2005-2010 (read only) / Interfacing / Re: using the tx and rx lines on: January 22, 2011, 05:52:34 pm
So I also tried the code from pha. No success.
I got something like T_F = -5061 RH = -5061
Pages: [1]