so, also hab jetzt mal wieder etwas Zeit gehabt...trotzdem noch folgende Fehlermeldung...
V:\Arduino\Bibliotheken\_Pooltemperatur\BIGFONT\BIGFONT_003_TEMP\BIGFONT_003_TEMP.ino: In function 'void loop()':
V:\Arduino\Bibliotheken\_Pooltemperatur\BIGFONT\BIGFONT_003_TEMP\BIGFONT_003_TEMP.ino:87:93: error: no matching function for call to 'MD_Parola::displayZoneText(int, String&, textPosition_t, int, int, textEffect_t, textEffect_t)'
P.displayZoneText(0, myPoolTemp, PA_CENTER, 30, 1000, PA_SCROLL_DOWN, PA_SCROLL_UP);
^
In file included from V:\Arduino\Bibliotheken\_Pooltemperatur\BIGFONT\BIGFONT_003_TEMP\BIGFONT_003_TEMP.ino:1:0:
c:\Users\Stefan\Documents\Arduino\libraries\MD_Parola\src/MD_Parola.h:1497:8: note: candidate: void MD_Parola::displayZoneText(uint8_t, const char*, textPosition_t, uint16_t, uint16_t, textEffect_t, textEffect_t)
void displayZoneText(uint8_t z, const char *pText, textPosition_t align, uint16_t speed, uint16_t pause, textEffect_t effectIn, textEffect_t effectOut = PA_NO_EFFECT);
^~~~~~~~~~~~~~~
c:\Users\Stefan\Documents\Arduino\libraries\MD_Parola\src/MD_Parola.h:1497:8: note: no known conversion for argument 2 from 'String' to 'const char*'
exit status 1
Compilation error: no matching function for call to 'MD_Parola::displayZoneText(int, String&, textPosition_t, int, int, textEffect_t, textEffect_t)'
und hier der Code:
#include <MD_Parola.h>
#include <MD_MAX72xx.h>
#include "Font_Data.h"
#include <OneWire.h>//Temperatur
#include <DallasTemperature.h> //Temperatur
// Data wire is plugged into pin 2 on the Arduino
#define ONE_WIRE_BUS 2 //DS18B20 Temp.Sensor
// Setup a OneWire instance to communicate with any OneWire devices
OneWire oneWire(ONE_WIRE_BUS);
// Pass OneWire reference to Dallas Temperature
DallasTemperature sensors(&oneWire);
// Uncomment according to your hardware type
#define HARDWARE_TYPE MD_MAX72XX::FC16_HW
//#define HARDWARE_TYPE MD_MAX72XX::GENERIC_HW
#define MAX_DEVICES 20 //20 Module
#define MAX_ZONES 2 // 2 Zonen (oben 10 Module, unten 10 Module)
#define ZONE_SIZE (MAX_DEVICES/MAX_ZONES)
#define CLK_PIN 13 //LED-Dot-Matrix
#define DATA_PIN 11 //LED-Dot-Matrix
#define CS_PIN 10 //LED-Dot-Matrix
// DS18B20
// 1 GND / GREEN / BLACK
// 2 DATA / YE / WHITE
// 3 VDD / RED / RED
// SUB-D 9pol
// 1 +5V
// 2 GND
// 3 Data DS18B20 Sensor
// 4
// 5
// 6
// 7
// 8
// 9
MD_Parola P = MD_Parola(HARDWARE_TYPE, DATA_PIN, CLK_PIN, CS_PIN, MAX_DEVICES);
// declare one String:
String myPoolTemp;
void setup(void)
{
Serial.begin(9600);
delay(2000);
P.begin(MAX_ZONES);
P.setInvert(false);
P.setIntensity(0);
P.setZone(0, 0, ZONE_SIZE-1);
P.setZone(1, ZONE_SIZE, MAX_DEVICES-1);
Serial.begin(9600);
sensors.begin(); // Start up the library
myPoolTemp = String(); //String myPoolTemp;
}
void loop(void)
{
myPoolTemp = "";
myPoolTemp = myPoolTemp + sensors.getTempCByIndex(0) + " 'C";
Serial.println(myPoolTemp); // prints real Temperatur
for (uint8_t i=0; i<3; i++)
{
Serial.println(i);
switch(i) {
case 1:
P.setFont(0, BigFontBottom);
P.setFont(1, BigFontUp);
P.displayZoneText(0, myPoolTemp, PA_CENTER, 30, 1000, PA_SCROLL_DOWN, PA_SCROLL_UP);
P.displayZoneText(1, myPoolTemp, PA_CENTER, 30, 1000, PA_SCROLL_UP, PA_SCROLL_DOWN);
P.synchZoneStart();
break;
case 2:
P.setFont(0, BigFontBottom);
P.setFont(1, BigFontUp);
P.displayZoneText(0, myPoolTemp, PA_CENTER, 30, 2000, PA_SCROLL_DOWN, PA_SCROLL_UP);
P.displayZoneText(1, myPoolTemp, PA_CENTER, 30, 2000, PA_SCROLL_UP, PA_SCROLL_DOWN);
P.synchZoneStart();
break;
}
while (!P.getZoneStatus(0) || !P.getZoneStatus(1))
P.displayAnimate();
}
}
so wie ich das sehe müsste man den String in const char umwandeln bevor er angezeigt werden soll. .....aber wie?
Danke schonmal für eure Hilfe...