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
Messwert vom HMC5883L als Bargraph auf 1602LCD ausgeben
06.10.2016, 10:20
Beitrag #9
RE: Messwert vom HMC5883L als Bargraph auf 1602LCD ausgeben
(06.10.2016 09:35)bernte_one schrieb:  das mit der bargraph library ist mir schon lange bekannt, nur wie bekomme ich das hin das mind. einer der messerte vom hmc5883l als baragraph dargestellt wird
(gern auch ein zweiter wert in der unteren zeile vom 1602lcd)

Wenn dir das schon lange bekannt ist, wieso verwendest du die Lib nicht.
Im Beispiel wird genau beschrieben, wie der Zusammenhang zwischen Messwert und Bargraph hergestellt wird.

Oder gibt es da noch Verständnisprobleme ?
Wenn du schon damit experimentiert hast, zeige uns doch deinen Sketch.

I2C = weniger ist mehr: weniger Kabel, mehr Probleme. Cool
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
06.10.2016, 11:32 (Dieser Beitrag wurde zuletzt bearbeitet: 06.10.2016 11:34 von SkobyMobil.)
Beitrag #10
RE: Messwert vom HMC5883L als Bargraph auf 1602LCD ausgeben
Hallo,
wenn es eine LCD-Bargraph-Lib gibt, dann nutze die doch. Dort gibt es sicher
Beispiele, die Du verwenden kannst.

Ich hab´s mir einmal angeschaut, sieht so aus:

Example:

Code:
#include <LiquidCrystal.h>
#include <LcdBarGraph.h>

byte lcdNumCols = 16; // -- number of columns in the LCD
byte sensorPin = 0; // -- value for this example

LiquidCrystal lcd(12, 11, 5, 4, 3, 2); // -- creating LCD instance
LcdBarGraph lbg(&lcd, lcdNumCols);  // -- creating bargraph instance, format is (&lcd, lcdNumCols, start X, start Y). So (&lcd, 16, 0, 1) would set the bargraph length to 16 columns and start the bargraph at column 0 on row 1.

void setup(){
  // -- initializing the LCD
  lcd.begin(2, lcdNumCols);
  lcd.clear();
  // -- do some delay some time I've got broken visualization
  delay(100);
}

void loop()
{
  // -- draw bar graph from the analog value readed
  lbg.drawValue( analogRead(sensorPin), 1024);
  // -- do some delay: frequent draw may cause broken visualization
  delay(100);
}

"ich kann zwar vorgefertigte sketches verwenden, abändern und komme mit der arduino ide klar"

Dann gibt es ja kein Problem…
Jetzt machst Du aus Deinem Sketch und dem Example einen Sketch.
Das ist hier nun wirklich einfach.

In diese Zeile:

lbg.drawValue( analogRead(sensorPin), 1024);

trägst Du nun einfach den auszulesenden Pin und den Max-Wert Deines Sensor ein.
Sollte laufen.

Dieser Sketch läuft mit einem maximalen Wert von 1024. Liefert Dein Sensor
einen anderen Max-Wert, kannst Du den mit der map-Funktion ganz einfach
angleichen.
Gruß und Spaß
Andreas
P.S. Bargraph auf Text-LCD sind Krücken, besorge Dir ein kleinen Grafik-LCD
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
06.10.2016, 12:37
Beitrag #11
RE: Messwert vom HMC5883L als Bargraph auf 1602LCD ausgeben
Vielen lieben Dank Andreas.
Ich hatte wegen der Geschwindigkeit der Darstellung auch bedenken.
Denkst du das Nokia Display ist geigneter oder hättest du einen anderen Vorschlag der die Stückkosten von ca. 10€ nicht wesentlich sprengt.

Ich bestell ab und an Krams bei Provit Vanity die haben ein Lager in Berlin
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
06.10.2016, 13:32 (Dieser Beitrag wurde zuletzt bearbeitet: 06.10.2016 15:58 von SkobyMobil.)
Beitrag #12
RE: Messwert vom HMC5883L als Bargraph auf 1602LCD ausgeben
Hallo,
jedes Grafik-Display ist besser als ein Text-LCD um Grafik darzustellen.

Keine Ahnung, welches Nokia Du meinst… das Nokia 5110 LCD Modul hat eine
Auflösung von 84 x 48 Pixel. Für dieses Display gibt es "alles", man bekommt
es also ohne Probleme zum laufen.

Nun weiß ich nicht, was Du mit dem Bargraph darstellen willst. Eine gut/schlecht
Anzeige, oder einen realen Wert?

Das Display hat eine y-Aulösung von 48 Pixel. Das ist der Bereich, der Dir für
einen senkrechten Bargraph zur Verfügung steht.

Beispiel:
Dein Sensor gibt Dir einen Wertebereich von 0 bis 47 aus, das entspricht dann
1 Pixel je Wert.
SensorWert = 1, 1 Pixel

Gibt Dein Sensor einen Wertebereich von 0 bis 95 aus, dann entsprechen 1 Pixel
gleich 2 Werte.
SensorWert = 2, 1 Pixel

Es kann Dir also bei einer zu geringen Auflösung des LCD passieren, das Du für
SensorWert = 10, 1 Pixel hast.
Hier wird sich bei einem Sensorwert von 0 bis 3 und von 6 bis 9 nichts am
Bargraph ändern.
Gibt Dein Sensor z.B. einen Werte-Bereich von 0 bis 23 aus, und Du möchtes
eine Auflösung 1/10 (0.1) darstellen, dann benötigst Du eine y-Auflösung von
240 Pixel. 1 Pixel gleich ein Wert von 0.1 .
Alles klar??

Mußt also mal sehen, was Du mit dem Bargraph darstellen willst, danach suchst
Du dann Dein Display aus. Das 5110 bekommt man wohl zum laufen, aber- je
höher die Auflösung des Bargraph sein soll, je mehr Pixel brauchst Du.
Gruß und Spaß
Andreas

das sollte man auch zum laufen bekommen...
Display
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
Antwort schreiben 


Möglicherweise verwandte Themen...
Thema: Verfasser Antworten: Ansichten: Letzter Beitrag
  RC Signal einlesen und ausgeben Kai H. 0 1.044 04.05.2016 10:38
Letzter Beitrag: Kai H.

Gehe zu:


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