Pages: [1]   Go Down
Author Topic: problemen tekst weergeven lcd display  (Read 1373 times)
0 Members and 1 Guest are viewing this topic.
Offline Offline
Newbie
*
Karma: 0
Posts: 1
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Op arduino.cc kom ik veel van LCD display tegen maar dat word allemaal in de void setup geschreven.
dit is een éénmalig actie, maar ik wil tekst laten zien aan de hand van bepaalde status die aanwezig is.

dit wil ik dan in de void loop

inputclock1 = digitalRead(inputclock1);
  if (inputclock1 == HIGH){
    lcd.begin(16, 2);
    lcd.print("Clock1 aanwezig");
  }
  else if (inputclock1 == LOW){ 
    lcd.begin(16, 2);
    lcd.print("Clock1 defect");

  }}


alleen niet schrijft hij volgens mij steeds de tekst omdat hij de loopt steeds herhaald hoe op te lossen??
de tekst word zeg maar
Logged

The Netherlands
Offline Offline
Edison Member
*
Karma: 47
Posts: 1533
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Hoi Patrick, welkom.

Je vraag is bijna niet te volgen omdat zinnen niet afgemaakt zijn en je niet precies vertelt wat je wil.
Toch denk ik dat ik je een beetje kan helpen.
Wat je doet, is elke keer als je loop doorlopen word, ga je iets naar je LCD schrijven.
Als die loop niet heel ingewikkeld is, dan gaat dat dus ontzettend hard.
Zo hard, dat het nieuwe schrijfcommando al komt voordat de oude is uitgevoerd.
En daarom heb je vermoedelijk problemen.
Dit soort zaken is vrij eenvoudig op te lossen.
Je moet dan namelijk alleen naar je LCD schrijven als er iets veranderd is, en dat zal heel veel minder vaak voorkomen dan 1 keer per loop.
Om dat te kunnen realiseren, moet je dus bijhouden wat je al op het scherm hebt staan.
Dat betekent dus dat je een extra variabele moet maken en moet kijken of die variabele veranderd is, voor je naar het scherm gaat schrijven.

Overigens is het een erg goed idee dat altijd te doen.
Want dat is iets meer werk om in de code te schrijven, maar zeer waarschijnlijk minder werk voor het uitvoeren van die code, en dus zal je code wat efficiënter verlopen.

Verder zet je elke keer als je iets wil afbeelden op je LCD, het scherm aan.
Maar die stond al aan want je had m niet uitgezet.
Dat is dus overbodig en zou wel eens tot problemen kunnen leiden.
Dus doe lcd.begin in je setup en lcd.print in je loop.
Overigens zou ik ook lcd.Setcursor gebruiken zodat je telkens op de juiste plaats schrijft.


Forumtip:
Als je nog eens een code wil posten, klik dan op het knopje boven.
Dan komt je code in een apart venstertje maar blijft de opmaak van die code intact en is ie dus net ff iets gemakkelijker leesbaar.

Als je meer vragen hebt, ben je van harte welkom deze te stellen.
Veel succes met het coden.
« Last Edit: April 29, 2013, 06:42:58 am by MAS3 » Logged

Have a look at "blink without delay".
Did you connect the grounds ?
Je kunt hier ook in het Nederlands terecht: http://arduino.cc/forum/index.php/board,77.0.html

Heemskerk, Netherlands
Offline Offline
Sr. Member
****
Karma: 10
Posts: 356
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Ik zou de LCD begin in de init() zetten.
Verder als je niet wilt dat hij telkenmale hetzelfde schrijft dus alleen maar als hij verandert? Dan bewaar je de inputclock1 in een variabele. Als bij een volgende lees inputclock1 hetzelfde is als de variabele dan doe je verder niets. Immers dit had je al laten zien. En als je nu een eerste test doet in de init() dus lezen en bewaren, dan begint hij goed en loopt hij als een trein.
Logged

Pages: [1]   Go Up
Jump to: