Pages: 1 [2]   Go Down
Author Topic: Messwert auf einem LCD ausgeben  (Read 1312 times)
0 Members and 1 Guest are viewing this topic.
Weinsberg, Germany
Offline Offline
God Member
*****
Karma: 3
Posts: 773
A Coder's Tale
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Probier mal:

Code:
void setup() {
  lcd.begin(16, 2); // set up the LCD's number of columns and rows:
}

voit loop ()
{
  Poti2V=analogRead(poti2Pin);
  if (Poti2V != Poti2Valt)
  {
    U_soll=Poti2V;
    lcd.setCursor(0, 0);
    lcd.print("Vsoll = ");
    lcd.setCursor(8, 0);
    lcd.print((U_soll*6/1024));
    Poti2Valt=Poti2V;
  }
}
Logged

NRW
Offline Offline
Sr. Member
****
Karma: 2
Posts: 372
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Jo, das lcd.begin gehört nicht in den loop sondern in den setup.

Yso wie es Joghurt schreibt sollte es gehen.
Logged

Offline Offline
Full Member
***
Karma: 0
Posts: 147
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Hallo Joghurt,
ich habs getestet, leider funktioniert es nicht mit dem  lcd.begin(16, 2) im Setup.
Die Anzeige ist dann nicht lesbar. Die Zeichen laufen durch, weder "Usoll =" noch der Potiwert ist lesbar.
Auch nicht funktionieren tut, die Kalibrierung außerhalb des Printbefehls. Dann werden die Nachkomma stellen zu Null gesetzt.

Logged

Offline Offline
Full Member
***
Karma: 0
Posts: 147
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Hallo noch einmal,
das Setup ins Setup zuschreinen war mein erster Ansatz.
Eigendlich würde ich auch das:
 lcd.setCursor(0, 0);
  lcd.print("Vsoll = ");
gerne in das Setup schreiben, das soll ja immer angezeigt werden, aber dann flackert es genau so grässlich wie wenn man nur das lcd.beginn in das Stupschreibt. Sieht so aus als würde alles durch die Usoll-werte überschrieben.
Logged

Weinsberg, Germany
Offline Offline
God Member
*****
Karma: 3
Posts: 773
A Coder's Tale
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Die Zeichen laufen durch
Definiere das, was genau meinst Du damit?

Dann werden die Nachkomma stellen zu Null gesetzt.
Schätze mal dann arbeitest Du mit ints statt mit doubles...
Logged

Offline Offline
Full Member
***
Karma: 0
Posts: 147
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Rundung:
Ich arbeiet sogar mit Float, das funktioniert sogar.
Die Zeichen laufen durch:
Bedeutet die Curserpositionist nicht fix und oder die Zeichen überschreiben sich soschnell, dass sie nicht mehr erkennbar sind. Ähnllich wie bei den Beispielen wenn man die delays raus nimmt.
Logged

Weinsberg, Germany
Offline Offline
God Member
*****
Karma: 3
Posts: 773
A Coder's Tale
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Hast Du mal eines der Beispiele probiert? Funktionieren die?
Logged

Offline Offline
Full Member
***
Karma: 0
Posts: 147
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Ich habe "Blink" und "Hallo .." getestet und die funktionieren.
Logged

Offline Offline
Full Member
***
Karma: 0
Posts: 147
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Vollzug!!
es war ein intensiver Vormittag ist, jetzt funktioniert die Regelung und die LCD-Anzeige. Im Zusammenhang benötigt die LCD-Anzeige auch keine Delays mehr.
warum es vorher nicht so richtig wollte und warum das LCD-Setup in der Voit Loop stehen muss damit es funktioniert, ist bislang allerdings im Dunkel geblieben.

Als nächstes muss ich mich um die Aufbereitung der Analogsignale kümmern. 
Logged

NRW
Offline Offline
Sr. Member
****
Karma: 2
Posts: 372
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Kann ich mir zwar nicht vorstellen das das LCD-Setup in die loop muss aber wenns jetzt für dich geht, ok!
Logged

Pages: 1 [2]   Go Up
Jump to: