TFT +UNO+BMP180 (Anfänger braucht Hilfe)
hallo leute,
ich habe mich mal daran versucht die temperatur des bmp180 mit dem arduino tft display auszuwerfen.
ich komme einfach nicht mehr weiter
er wirft mir ständig diese fehlermeldung raus
tftdisplaytextbmp.ino: in function 'void loop()':
tftdisplaytextbmp:63: error: no matching function call 'tft::text(float&, int, int)'
c:\users\user\documents\arduino\libraries\tft/utility/adafruit_gfx.h:166: note: candidates are: void adafruit_gfx::text(const char*, int16_t, int16_t)
hoffe auf schnelle antworten und danke schonmal im voraus
ich habe mich mal daran versucht die temperatur des bmp180 mit dem arduino tft display auszuwerfen.
ich komme einfach nicht mehr weiter
code: [select]
#include <wire.h>
#include <adafruit_bmp085.h>
#include <tft.h> // arduino lcd library
#include <spi.h>
// pin definition uno
#define cs 10
#define dc 9
#define rst 8
adafruit_bmp085 bmp;
// create instance of library
tft tftscreen = tft(cs, dc, rst);
void setup() {
bmp.begin();
tftscreen.begin();
// clear screen black background
tftscreen.background(0, 0, 0);
// write static text screen
// set font color white
tftscreen.stroke(0,255,0);
// set font size
tftscreen.settextsize(1);
// write text top left corner of screen
tftscreen.text("temperatur=",10,0);
// ste font size large loop
tftscreen.settextsize(2);
}
void loop() {
float temperature;
temperature = (bmp.readtemperature());
// set font color
tftscreen.stroke(0,0,255);
// print sensor value
tftscreen.text(temperature, 0, 20);
// wait moment
delay(250);
}
er wirft mir ständig diese fehlermeldung raus
tftdisplaytextbmp.ino: in function 'void loop()':
tftdisplaytextbmp:63: error: no matching function call 'tft::text(float&, int, int)'
c:\users\user\documents\arduino\libraries\tft/utility/adafruit_gfx.h:166: note: candidates are: void adafruit_gfx::text(const char*, int16_t, int16_t)
hoffe auf schnelle antworten und danke schonmal im voraus
die library kann wohl nur mir c strings umgehen. etwas limitiert.
in der anleitung wird da ein sehr, sehr unschöner umweg empfohlen:
http://arduino.cc/en/tutorial/tftdisplaytext
ein arduino string objekt erstellen und dann tochararray(). umständlicher geht es nicht mehr. die string klasse ist generell murks, aber sie hat inzwischen die c++ methode c_str() implementiert. man braucht nicht mehr ein array anlegen, sondern kommt direkt einen zeiger auf das interne array:
zwar immer noch mit string klasse, aber wenigstens wird nicht noch zusätzlich ein array gebraucht
schöner ist meiner meinung nach hier dtostrf():
http://www.mikrocontroller.net/topic/86391
http://www.nongnu.org/avr-libc/user-manual/group__avr__stdlib.html#ga060c998e77fb5fc0d3168b3ce8771d42
damit wandelt man einen float wert in einen c string um
für integer gibt itoa():
http://www.cplusplus.com/reference/cstdlib/itoa/
in der anleitung wird da ein sehr, sehr unschöner umweg empfohlen:
http://arduino.cc/en/tutorial/tftdisplaytext
ein arduino string objekt erstellen und dann tochararray(). umständlicher geht es nicht mehr. die string klasse ist generell murks, aber sie hat inzwischen die c++ methode c_str() implementiert. man braucht nicht mehr ein array anlegen, sondern kommt direkt einen zeiger auf das interne array:
code: [select]
string valuestring = string(valuefloat);
tftscreen.text(valuestring.c_str(), 0, 0);
zwar immer noch mit string klasse, aber wenigstens wird nicht noch zusätzlich ein array gebraucht
schöner ist meiner meinung nach hier dtostrf():
http://www.mikrocontroller.net/topic/86391
http://www.nongnu.org/avr-libc/user-manual/group__avr__stdlib.html#ga060c998e77fb5fc0d3168b3ce8771d42
damit wandelt man einen float wert in einen c string um
für integer gibt itoa():
http://www.cplusplus.com/reference/cstdlib/itoa/
Arduino Forum > International > Deutsch (Moderator: uwefed) > TFT +UNO+BMP180 (Anfänger braucht Hilfe)
arduino
Comments
Post a Comment