Autor
|
Thema: USB-LCD Lowcost Edition (Gelesen 464396 mal)
|
|
|
|
deed[*LdC*]
LED-Tauscher

Karma: +0/-0
Offline
Geschlecht: 
Beiträge: 43

Son of Northern Darkness
|
bedeutet das Schaltungsfehler oder µC im Eimer? auf anfrage hätt ich auch noch bilder der schaltung
|
error.GIF (29.46 KB - runtergeladen 167 Mal.)
|
|
Gespeichert
|
|
|
|
avion23
Modding-Noob

Karma: +0/-0
Offline
Beiträge: 10
Ich liebe dieses Forum!
|
Hallo liebes Forum, auch ich habe das Tutorial nachgebaut, sogar zweimal. Deswegen erstmal PICS Links die alte, rechts die neue Version:

 Der programmer von unten, inkl. Lochraster Schaltplan:
 Das LCD Anschlusskabel:

Bei mir funktioniert die Ansteuerung des zweiten Controllers (E2) nicht Ich steuer ein WD-CD2704M-1HNN von Pollin an. Dieses Display hat zwei HD44780 Controller auf der Platine, die 2x(2x27) Zeichen ansteuern, also ein 4x27 Zeichen Display. Ich habe die Schaltung 2 Tage durchgeprüft, dann die zweite Version gebaut, der selbe Fehler. Die zweite Version ist übrigens leicht verbessert, ich konnte etwa 4 airwires einsparen. So sieht's aus bei der Ansteuerung mit LCD-Test.exe mit 2 Controller, 2 Zeilen:
 und mit einer Zeile:
 Ob ich nun "Zwei Controller" an oder abwähle ändert nichts 
Was ich bis jetzt gemacht habe: Im Schaltplan steht, dass E2 des Displays an PD5 vom µC angeschlossen werden muss. Wenn ich E2 vom Display mit E1 vom Display miteinander vertausche, dann funktioniert die untere Hälfte des Displays. Also ist das Display nicht defekt, aber PD5 wird vom µC nie angesteuert? Schaltung ist in Ordnung, habe wie gesagt 2 Tage durchgeprüft und 2x gebaut. Mit stlcd funktioniert's auch nicht besser, beim zweiten Controller wird immer nur ein durchgehender Balken gezeigt, der sich nicht ändert. Ich habe mir die Quellen durchgelesen. Dort befindet sich kein Sourcecode zur DLL-Datei oder zu LCD-Test.exe, ich habe also keine Chance da etwas zu ändern.
Wäre nett, wenn sich ein "Macher" mal drum kümmern könnte, ist ansonsten nämlich eine super Anleitung, hat richtig Spaß gemacht! Bilder dürfen weiterverwendet werden.
Und noch etwas anderes: Wie lerne ich am besten/einfachsten/schnellsten den Attiny2313 zu programmieren? Das sieht doch anders aus als der typische Anwendungs-C-code. Vielleicht ein paar URLs? Habe bis jetzt http://www.roboternetz.de/wiss..._leicht_gemacht und das Datenblatt http://atmel.com/dyn/resources...nts/doc2543.pdf
Danke für die Mühe! @deed schon mal versucht, die Daten neu zu übertagen?
|
|
|
Gespeichert
|
|
|
|
deed[*LdC*]
LED-Tauscher

Karma: +0/-0
Offline
Geschlecht: 
Beiträge: 43

Son of Northern Darkness
|
ich musste die schaltung auch 2x aufbauen, beim ersten mal hat der AVR nicht geantwortet und da ich nicht wusste, was falsch war, hab ich sowohl den Programmer, als auch die schaltung neu auf gebaut. nun scheint das ja irgendwie zu stimmen, aber naja irgendwie auch nicht ... was auch immer ... jedenfalls gehts nicht zu programmieren.
ROK'n'ROL!
|
|
|
Gespeichert
|
|
|
|
|
avion23
Modding-Noob

Karma: +0/-0
Offline
Beiträge: 10
Ich liebe dieses Forum!
|
Danke Ast, das mit dem Zahlendreher kenne ich  Es funktioniert mit dem neuen USB_LCD.exe einwandfrei, genau wie du gesagt hast. Nur mit stlcd komme ich nicht klar, ich habe jetzt eingestellt: lcd-type=5 (AST) 4x27 Zeichen isDual=1 Und der zweite wird immer noch nicht initialisiert... ich kümmer mich morgen mal drum. Auf jeden Fall vielen Dank! Du hast mir sehr geholfen!
|
|
|
Gespeichert
|
|
|
|
sneppa
Gast
|
Hi! sowas hab ich schon ewig gesucht, weil ich keinen druckeranschluss mehr hab  gehen auch mehrfarbige LCDs? also solche kleine bildschirme über usb? gibts da auch irgendwo ein tut?
|
|
|
Gespeichert
|
|
|
|
|
avion23
Modding-Noob

Karma: +0/-0
Offline
Beiträge: 10
Ich liebe dieses Forum!
|
Hi, ich komme wieder nicht weiter. Es geht darum, 2 Controller mithilfe von STLCD anzusteuern. Die Verkabelung ist auf jeden Fall richtig. Dank AST funktioniert jetzt USB_LCD.exe, welches die beiden HD44780 Controller korrekt ansteuert: Text1 Text2 Text3 Text4

Nur mit STLCD funktioniert es nicht. Meine Einstellungen sind: PORT=USB LCDType=5 LCDSubType=0 LCDSpeed=0 Lines=2 Chars=27 IsDual=1 was zu führt, es werden also die ersten beiden Zeilen korrekt angezeigt.
Mit PORT=USB LCDType=5 LCDSubType=0 LCDSpeed=0 Lines=4 Chars=27 IsDual=1
erscheint . Die Darstellung ist also fehlerhaft, obwohl ich das richtige eingestellt habe. Mehr noch, der zweite Controller wird nicht initialisiert. Auch IsDual=0 hilft nichts.
Hat da jemand ne Ahnung? Das geht über mein Wissen hinaus, ich komme so nicht weiter
|
|
|
Gespeichert
|
|
|
|
|
|
|
avion23
Modding-Noob

Karma: +0/-0
Offline
Beiträge: 10
Ich liebe dieses Forum!
|
Hi Olaf, erstmal danke dass du dich drum kümmerst 
Zuschicken wäre natürlich schlecht. Bis jetzt bin ich unter 15€ weggekommen und 2x verschicken wäre natürlich auch Aufwand & Geld.
So wie ich es verstanden habe, funktioniert die Ansteuerung über die dll-Datei von Ast. Sein Programm hat das ja schon bewiesen Allerdings ist "Text1, Text2" vielleicht... etwas dürftig, dein Programm hat da schon mehr auf dem Kasten und ich würde es gerne benutzen. In deinem Programm funktioniert lediglich das Ansprechen des zweiten Controllers nicht, als 1xHD44780 mit 2x27 Zeichen funktioniert es. So wie ich das sehe, wird in deinem Programm mit dem "IsDual=1" nur etwas für den Druckerport verändert. Statt dieser Funktion müsste man halt die dll korrekt ansteuern, was ja zum Teil schon gemacht wird. Hier steht sogar, wie:
The DLL exports the following functions as stdcalls:
short _stdcall USB_LCD_Connect (void)
Establishs a connection to the USB-LCD. Has to be executed before the other commands.
short _stdcall USB_LCD_Init (short increase, short shift, short C_on, short B_on, short D_shift, short R_shift, short lines, short font, short LCD)
Initialises the LCD with the options shown in the datasheet of the LCD.
short _stdcall USB_LCD_Command (unsigned char command, short LCD)
Sends the command to the LCD. For a reference of supported commands see the datasheet of the LCD.
short _stdcall USB_LCD_Data (char data[], short len, short LCD)
Writes len bytes of data into the LCD's RAM.
short _stdcall USB_LCD_BL (short value)
Switches the backlight on or off.
All functions return a value different from zero, if they were successful. The argument "LCD" represents the controller-number; For one-controller-LCDs it can be set to 0 or 1. Also statt ner 0 ne 1 Aber nur wenn IsDual=1. Ich studiere zwar Informatik und benutze Gentoo, wirklich etwas auf die Reihe bekommen habe ich aber noch nicht ;( Wenn du willst, kannst du mir den Sourcecode schicken (billiger), dann versuche ich es mal. Kann aber nichts versprechen... ich meine nur, sieht relativ einfach aus. ralf at waldukat dot info
|
|
|
Gespeichert
|
|
|
|
|