Hallo
Ich beschäftige mich seit einigen Tagen mit einem UNO und hab dabei das Problem, dass ich es nicht schaffe 3 Variablen zu verketten...
lcd.setCursor(0,0); // set the cursor to column 0, line 0
lcd.print("Licht: ");
lcd.print(lux);
lcd.print(" Lux");
Ich stelle mir hierbei folgendes vor:
lcd.setCursor(0,0); // set the cursor to column 0, line 0
lcd.print("Licht: " + lux + " Lux");
Leider funktionieren die mir sonst üblichen Zeichen wie . & + nicht um die verschiedenen Zeilen zu einer zusammen zu fassen.
Bei meiner Suche mit Google bin ich hier nicht weiter gekommen, ebenso finde ich keine Lösung in den "BuiltInExamples" (https://www.arduino.cc/en/Tutorial/BuiltInExamples)...
Vielleicht bin ich auch einfach nur Blind und brauche eine kleinen Stoß in die richtige Richtung.
Ich experimentiere gerade mit verschiedenen Sensoren und will die Messwerte später per URL an eine SQL-Datenbank übergeben. Spätestens hier brauche ich das vermutlich um die URL mit Ihren Parametern zusammen zusetzen.
Serenifly:
Strings so zu verketten ist nur Ressourcen-Verschwendung
Vernünftig geht es hiermit: Streaming | Arduiniana
Bildet den C++ Streaming Operator nach und verbraucht keine zusätzlichen Ressourcen
Danke für den Tipp!
Hab das gerade getestet, Leider muss man den Text am Ende mit ausreichend Leerzeichen verwenden, da die Streaming-Library sonst nur komische Zeichen ins Display schreibt.
So wie ich es auch verstehe, ist diese Library nur für LCD's ? Das schränkt das Thema natürlich wieder ein...
Da wird nur der << Operator überladen. Aber letztlich wird print() ausgeführt. Deshalb ist es ja so ressourcensparend. Die Syntax ist etwas anders aber es wird genau das Gleiche gemacht
Wenn da was falsch angezeigt wird liegt das an deinem Display
So wie ich es auch verstehe, ist diese Library nur für LCD's ? Das schränkt das Thema natürlich wieder ein...
Falsch. Das steht doch auf der Seite dort
This library works for any class that derives from Print
Siehe auch den Code oben. Man kann alle Klassen übergeben die von Print abgeleitet sind und dann wird die print() Methode des entsprechenden Objekts aufgerufen