INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.

Antwort schreiben 
 
Themabewertung:
  • 0 Bewertungen - 0 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
Ethershield V1.1 Keine Nachkommastellen
13.06.2013, 20:19
Beitrag #1
Ethershield V1.1 Keine Nachkommastellen
Moin,

ich mache meine ersten Gehversuche mit dem Ethershield. Leider bekomme ich bei der Ausgabe kein Komma und keine Nachkommastellen angezeigt.

Hier der Sketch:

#include "etherShield.h"
#include "ETHER_28J60.h"

static uint8_t mac[6] = {0x54, 0x55, 0x58, 0x10, 0x00, 0x24};
static uint8_t ip[4] = {192, 168, 1,15};
static uint16_t port = 80;

ETHER_28J60 e;

int analog;
float temperatura;

void setup()
{
e.setup(mac, ip, port);
}

void loop()
{
if (e.serviceRequest())
{
e.print("<html><head><title>Temperatur TEST</title></head><body>");
e.print("Temperatur in Celsius: ");
analog = analogRead(0);
temperatura = (analog * 0.4883); // Temeratur aus LM35 berechnen
e.print(temperatura); // Hier sollten auch Komma und Nachkomma angezeigt werden.
e.respond();
}
delay(100);
}
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
14.06.2013, 18:23
Beitrag #2
RE: Ethershield V1.1 Keine Nachkommastellen
Ohne es durchprobiert zu haben, wird dein Fehler hier liegen:

(13.06.2013 20:19)Johngun schrieb:  temperatura = (analog * 0.4883); // Temeratur aus LM35 berechnen

analog ist ein INT-Wert (Ganzzahl), somit auch das Ergebnis ein INT - Du musst den analog auf float 'casten', damit das Ergebnis Kommastellen bekommt:

temperatura = (float)analog * 0.4884

PLAY-ZONE.CH - Dein Schweizer Arduino-Partner.
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
14.06.2013, 22:51
Beitrag #3
RE: Ethershield V1.1 Keine Nachkommastellen
Vielen Dank für den Tip !

Das wars natürlich nicht. Ich habe auch für dieses Schield keine funktionierenden Beispiele mit LM35 bzw LM335 gefunden.
Lediglich welche die mit dem DS18b20 arbeiten. Dort wird aber mit ziemlichen Aufwand ein Charakterstring aufgearbeitet.

Ich werde erstmal mit einen anderem Shield testen das eine andere Libary benutzt.
Ich habe bisher Bascom programmiert. ICh will in Zukunft Projekte machen In denen ich mit Messwerten schalte. Das ist Ideal wenn man Parameter über einen Webbroser setzten sowie alles überwachen kann.

Ich melde mich wieder wenn ich Ergebnisse habe.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
07.05.2014, 07:19
Beitrag #4
RE: Ethershield V1.1 Keine Nachkommastellen
Moin,

Zitat:analog ist ein INT-Wert (Ganzzahl), somit auch das Ergebnis ein INT - Du musst den analog auf float 'casten', damit das Ergebnis Kommastellen bekommt:
Dazu sage ich mal "Jain". Nicht auf float casten, sondern gleich als float dekalrieren und zwar mit "float analog=0.0000".
Trotzallem beachten, dass der LM35 nur auf eine Stelle hinterm Komma ausgibt.hier:http://www.watterott.com/download/LM35.pdf
Wie man hier http://www.gunnarherrmann.de/blog/temper...uino-lm35/
sieht, sollte nach jeder Messung eine Pause von ca. 1 Sekunde eingelegt werden. Ob das mit delay() oder millis() gemacht wird, hängt davon ab, ob in den Pausen noch andere Dinge abgearbeitet werden sollen.


Grüße Ricardo

Nüchtern betrachtet...ist besoffen besser Big Grin
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
16.05.2014, 12:39
Beitrag #5
RE: Ethershield V1.1 Keine Nachkommastellen
So es funzt.

Natürlich müssen es Floatvariablen sein.
Trotzdem kann über das Ethershield float nicht mit Nachkommas ausgegeben werden.
Ich habs gelöst in dem ich float in char übergebe. Damit kann ich leben.

Hier nochmal der Sketch mit den aktuellen Änderungen:
#include "etherShield.h"
#include "ETHER_28J60.h"

static uint8_t mac[6] = {
0x54, 0x55, 0x58, 0x10, 0x00, 0x24};
static uint8_t ip[4] = {
192, 168, 1,15};
static uint16_t port = 80;

ETHER_28J60 e;
int ledPin = 5;
void setup()


{
pinMode(ledPin, OUTPUT);
e.setup(mac, ip, port);
analogReference(INTERNAL);
Serial.begin(9600);
}

void loop()
{
float analog = analogRead(0);
float temp = (analog * 1.1/1024*100);
char celsius[4];

dtostrf(temp,4,1,(celsius));


if (e.serviceRequest())
{
e.print("<html><head><title>Temperatur TEST</title></head><body>");
e.print("<h2>Temperatur in Celsius: ");
Serial.println(temp);
Serial.print(celsius);
e.print (temp);
e.print ("<br>");
e.print (celsius);
e.print("<br>LED ein bei 26");
if (temp >= 26) {
digitalWrite(ledPin,HIGH);
e.print("<br>LED ist ein");
}
else {
digitalWrite(ledPin,LOW);
e.print("<br>LED ist aus");
}
e.respond();
}
if (temp >= 26) {
digitalWrite(ledPin,HIGH);
}
else {
digitalWrite(ledPin,LOW);
}

delay(100);
}
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
Antwort schreiben 


Möglicherweise verwandte Themen...
Thema: Verfasser Antworten: Ansichten: Letzter Beitrag
  Can-Bus Shield ok, aber keine Daten Clubsport 38 1.533 01.09.2016 14:17
Letzter Beitrag: Clubsport
Question Keine Verbindung via USB nach flashen des Programms chaoscrack 5 203 23.08.2016 14:58
Letzter Beitrag: hotsystems
  SD.open() erzeugt keine neue Datei! torsten_156 4 526 11.03.2016 17:31
Letzter Beitrag: Bitklopfer
  MP3 player card - keine Ahnung ? Tozupi 6 980 26.08.2015 20:00
Letzter Beitrag: Tozupi
  "Ringspeicher" - hab keine Idee, bitte Hilfe... DL1AKP 12 3.538 15.05.2015 06:58
Letzter Beitrag: DL1AKP
  7 Segment mit MAX7219 - keine 0 Anzeige Viktor93 3 1.312 08.10.2014 14:09
Letzter Beitrag: René Hitz
  Float am LCD mit 5-6 Nachkommastellen HTO 17 7.456 04.10.2014 10:09
Letzter Beitrag: tito-t
  Taster keine Funktion leider rudi52056 17 2.299 09.08.2014 20:57
Letzter Beitrag: Bitklopfer
  Bei float Nachkommastellen begrenzen OldMan 7 3.242 10.05.2014 17:58
Letzter Beitrag: rkuehle
  Keine Ahnung bei der Programmierung HaarigesVieh 3 1.516 02.12.2013 20:01
Letzter Beitrag: rkuehle

Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste