Arduino mit LCD

    Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

    Aufgrund technischer Veränderungen ist der Mailverkehr innerhalb des Forums (Private Nachrichten) nur noch eingeschränkt möglich. Die Einschränkung ist notwendig, um zusätzliche Betriebskosten für das Forum zu vermeiden. Näheres zu den Hintergründen im Thread "Aktuelles zum Forum".Wir bitten um Verständnis.

    Hinweis kann nach Kenntnisnahme deaktiviert werden!

    • Arduino mit LCD

      Hallo Freunde,
      ich habe mich vor ein paar Minuten als Neuling angemeldet.
      Folgendes Problem:
      Hardware : Arduino UNO mit LCD 16x2 Zeichen. Software Bascom.
      Möchte gerne meinen alten Verstärker mit einen Display erweitern.
      LCD soll mir nur die Eingangswahl von verschiedene Quellen anzeigen.
      Aux , Plattenspieler, CD und Tuner. Habe schon erste Teilerfolge.
      In der zweiten Zeile soll dauernd "Made by Masa" stehen.
      in der ersten Zeile die Verschiedene Eingänge die mittels Drehschalter umgeschaltet werden.
      Nun mein Problem:
      Wenn ich nur eine Zeile nehme funktioniert es einwandfrei .
      Sobald ich die zweite Zeile "Made by masa " nehme flackert diese Zeile.
      Habe viele Zeiten (waitms ) ausprobiert.
      Kann mir bitte da einer weiterhelfen ?
      Anbei Miniprogramm


      BASCOM-Quellcode

      1. $regfile = "m328pdef.dat"
      2. $crystal = 16000000
      3. $swstack = 10
      4. Config Lcdpin = Pin , Db4 = Portd.2 , Db5 = Portd.3 , Db6 = Portd.4 , Db7 = Portd.5 , E = Portb.3 , Rs = Portb.4
      5. Config Lcd = 16 * 2
      6. Cursor Off
      7. Portb = 255
      8. Config Portd.6 = Input
      9. Taste1 Alias Pind.6
      10. Config Portd.7 = Input
      11. Taste2 Alias Pind.7
      12. Config Portb.1 = Input
      13. Taste3 Alias Pinb.1
      14. Config Portb.2 = Input
      15. Taste4 Alias Pinb.2
      16. Do
      17. If Taste1 = 0 Then
      18. Waitms 220
      19. Cls
      20. Locate 1 , 1
      21. Lcd " AUX "
      22. Lowerline
      23. Locate 2 , 1
      24. Lcd "MADE BY MASA"
      25. Upperline
      26. Waitms 200
      27. End If
      28. If Taste2 = 0 Then
      29. Waitms 220
      30. Cls
      31. Locate 1 , 1
      32. Lcd " Plattenspieler"
      33. Lowerline
      34. Locate 2 , 1
      35. Lcd "MADE BY MASA"
      36. Upperline
      37. Waitms 220
      38. End If
      39. If Taste3 = 0 Then
      40. Waitms 220
      41. Cls
      42. Locate 1 , 1
      43. Lcd " cd "
      44. Lowerline
      45. Locate 2 , 1
      46. Lcd "MADE BY MASA"
      47. Upperline
      48. Waitms 220
      49. End If
      50. If Taste4 = 0 Then
      51. Waitms 220
      52. Cls
      53. Locate 1 , 1
      54. Lcd " Tuner "
      55. Lowerline
      56. Locate 2 , 1
      57. Lcd "MADE BY MASA"
      58. Upperline
      59. Waitms 220
      60. End If
      61. Loop
      62. End
      Alles anzeigen
    • masa schrieb:

      Cls
      Locate 1 , 1
      Lcd " AUX "
      Lowerline
      Locate 2 , 1
      Lcd "MADE BY MASA"
      Upperline
      Waitms 200
      End If
      Also, erster gern gemachter fehler ist das CLS, das initialisiert dir jedes mal das komplette Display mit dem Effekt das es dann auch flakert.
      an sich brauchst du ja das Display nur einmal beschreiben und nur ändern wenn sich der Zustand des Eingangs wieder geändert hat. Benutz halt nen merker. Unst statt CLS kannst du auch die zeile komplett mit leerzeichen beschreiben.
      Und Upperline/Lowerline brauchts du nicht, die machen jeweils das gleiche wie Locate 1,1 und locate 2,1

      Tobias
    • Das cls löscht immer beide Zeilen. Das einfachte wäre es wegzulassen und nach locate 1,1 Den neune Text mit genügend Leerzeichen am Ende zu schreiben so das alles alte verschwindet. z. B .

      Quellcode

      1. Lcd " AUX "

      Schraubbaer schrieb:

      das CLS, das initialisiert dir jedes mal
      leider nicht . Wenns mal richtig abgeschmiert ist, reicht cls nicht dann muß ein volles Init ausgeführt werden.
    • Hallo Jungs,
      konnte doch nicht warten bis nachher.
      Das war richtig Klasse !! :)
      habe lowerline upperline die ganzen Zeiten weggelassen.
      Und auch cls .Das klappt richtig gut.
      Das Einzige ist nur noch ,dass das längste Wort "Plaatenspieler" beim Umschlten
      auf Aux oder CD bleiben die letzten 4 Buchstaben vom Plattenspieler.
      habt Ihr da noch ein Tipp ?
    • Hat sich erledigt !!
      Habe den Tipp vom Pluto25 übersehen.
      Habe eine Menge Leerzeichen genommen.
      Es funktioniert jetzt Perfekt.
      Darf ich zu einem späteren Zeitpunkt nochmals auf Euch zukommen ??
      Würde gerne am Display die Lautstärke als Bargraph sehen wollen.
      Sobald der Poti sich Bewegt soll alles verschwinden und Den Balken anzeigen.
      Nach einer kurzen Zeit verschwindet der Bargraph (Volume) und der Text
      z.B Aux/Made by Masa soll wieder erscheinen.
      Würde einen Analog Eingang nehmen im Bezug mit einer Subroutine.

      Zunächst nochmals vielen Dank