Frage zu Waveshare LCD1602-RGB-Module

Hallo,
ich habe das obengenannte LCD Modul gekauft, hauptsächlich wegen der
RGB Hintergrundbeleuchtung und dem I2C Anschluss.

Treiber dazu findet man hier:
https://www.waveshare.com/wiki/File:LCD1602-RGB-Module-demo.zip

Mein Problem ist der Democode. In der Headerdatei sind folgende Funktionen zum Beschreiben des LCD:

void write_char(uint8_t value);
void send_string(const char *str);

Ich wollte Daten von einem BME280 aufs LCD schreiben. Die liegen als "float" vor.
Also müsste ich die Daten für send_string() konvertieren. Allerdings stehe ich da
auf dem Schlauch."const char *str" ist doch ein Pointer? Zeigt "str" also auf den Ort
wo meine Daten stehen sollten?

Sorry wenn die Frage blöd ist, bisher konnte ich mit "write" oder "print" einfach
aufs jeweilige LCD schreiben. In der Demo steht sowas drin:

lcd.send_string("Hello,World!");

Das klappt auch, allerdings kriege ich meine Daten nicht dazu...

mfg

f91w

Es gibt keine blöden Fragen. Blöde Antworten schon.

Sowas ähnliches hatte ich doch gerade....

Du suchst:

dtostrf()

auch spannend, die von dir verlinkte Library inkludiert zwar die print.h aber sie lassen die Klasse nicht davon erben.

wenn du eine Library mit herkömmlichen .print testen magst, könntest du meine lib probieren.

https://werner.rothschopf.net/202009_arduino_liquid_crystal_wire_en.htm

evtl. mit einem I2C Scanner überprüfen, ob die vorgeschlagenen Addressen korrekt sind:

const byte lcdAddr = 0x3E;    // waveshare?
const byte rgbAddr = 0x60;   // waveshare?
#include <NoiascaLiquidCrystal.h>
#include <NoiascaHW/lcd_wire.h>
LiquidCrystal_Wire_RGB lcd(lcdAddr, rgbAddr, cols, rows);

Hallo an alle,

zunächst Vielen Dank für alle Antworten.
"dtostrf()" ist genau das was ich brauche. Ich wusste nicht dass es da
was passendes gibt.
Die Noiasca-Lib werde ich probieren, habe gerade wenig Zeit.

mfg

f91w

@Noiasca: Seit heute komme ich nicht mehr auf Deine Webseite.
Der Firefox meckert wegen Zertifikaten herum. Langsam habe ich die Nase
voll von den Kapriolen der Herren von Firefox...

mfg

f91w

edit: gerade mal I2C gescannt:
folgende Adressen:
0x03 -- der Arduino Nano selbst?
0x3e -- Waveshare LCD lcd?
0x60 -- Waveshare LCD RGB?
0x76 -- BME280

nimm bitte den Chrome, reines HTTP geht.
Liegt an meinem Provider, der hat in der Nacht irgendwas umgestellt, ich bin aber erst in der Früh drauf gekommen und die arbeiten hoffentlich schon daran.

die 0x03 gehört zum RGB Chip PCA9633 am LCD. Die brauchst du aber nicht extra angeben. Wird am PC9633 gem. Datenblatt für "7.1.4 Software Reset I2C-bus address" verwendet.

ansonsten sollte der Konstruktor und die Parameter wie in Beitrag #3 steht eigentlich passen.

Funktioniert das Beispiel 0510_ mit meiner Lib nach dem du die Adressen richtig stellst?

edit:
OT: Provider Support hat sich nach 2h gemeldet:

die Seite sollte nun wieder unter https abrufbar sein.
freundliche Grüße

Irrtum Deinerseits. Das sind nicht die Leute von Firefox, sondern die Leute vom Provider, die was verbockt haben. Wahrscheinlich ist das Zertifikat abgelaufen und keiner hat es gemerkt, obwohl man an so was automatisch erinnert werden können sollte. Besonders als Provider.

Gruß Tommy

Hallo,

hat sich ja schon geklärt. Allerdings hat FF die Angewohnheit dass nach Updates
irgendwelche Sachen einfach anders sind...

mfg

f91w

ist bei vielen Updates so, nicht nur bei FF. Denn wenn in einer Software nach dem Update ALLES gleich ist , wie VOR dem Update, ist das Update ja sinnlos :thinking:

Kurze Info:

0510_Wire_random_color funktioniert prima nach dem Anpassen der Adressen.
Morgen mache ich dann weiter mit meinem Sketch.

mfg und Vielen Dank

f91w

1 Like