Ein neuer mit einem Problem (Arduino + PZB-Würfel)

Da immer mehr Zusi User von einem 1:1 Führerstand mit träumen, soll es zumindest an Datenaustausch nicht hapern.
Antworten
Nachricht
Autor
MikrowellenRechner
Beiträge: 3
Registriert: 15.01.2015 19:14:43

Ein neuer mit einem Problem (Arduino + PZB-Würfel)

#1 Beitrag von MikrowellenRechner »

Hallo zusammen,

erstmal kurz zu meiner Person: ich heiße Michael, bin 22 und komme aus Sachsen.

Nun zu meinem Problem:

Ich versuch vergeblich, mein Andurino mit Zusi oder Loksim zu verbinden. Ich wollte testweiße den PZB Block über das Andurino ansteuern. Als vorbild habe ich mir den Quellcode aus dem VB Projekt genommen (http://forum.zusi.de/viewtopic.php?p=203762#p203762). Nun habe ich sowohl den Quellcode für das Andurino, als auch den VB.net benutzt und in dem entsprechenden Programm hochgeladen. Trotzdem leuchten alle 6 Dioden dauerhaft. Ich vermute, dass ich grundsätzliche noch einen Fehler mache.

Nun zu meiner Frage: Wie oder besser in welcher Reihenfolge muss ich die Codes nacheinander kompilieren?

Vielen Dank im voraus für eure Hilfe!

edit: Aussagefähiger Betreff, carsten
Zuletzt geändert von Carsten Hölscher am 15.01.2015 23:39:00, insgesamt 1-mal geändert.

Benutzeravatar
F. Schn.
Beiträge: 6689
Registriert: 24.10.2011 18:58:26

Re: Ein neuer mit einem Problem

#2 Beitrag von F. Schn. »

Die Kompilierreinfolge sollte egal sein, eventuelle Abhängigkeiten kann VisualStudeo (und sicher auch andere IDEs) in der Regel automatisch auflösen.

Wichtig ist aber die Starreinfolge: Als erstes den TCP-Server starten und einschalten! Wenn du unseren Server (von Andreas, mir und <Bernd>) benutzt, kannst du Zusi und das VB.Net-Programm in beliebiger Reinfolge starten, beim alten TCP-Server musst du erst dein Programm verbinden, und dann Zusi!

Das Arduino-Beispiel, das du verlinkt hast, funktioniert so, dass du den Arduino mit dienem PC über ein COM-Kabel verbinden musst, dann hast du auf dem Rechner ein Vermittlerprogramm, das die Daten vom TCP-Server empfängt, und an den COM-Port weiterleitet. Das heißt, bevor du das Vermittlerprogramm mit dem Arduino verbindest, muss dieser am COM-Port eingesteckt sein, und Strom haben.

Zu Loksim würde ich übrigens raten, die Version 2.8.3 zu nehmen, und nicht die Version 2.9, zur Zeit schleichen sich da immer wieder Fehler ein... Vielleicht können wir da die Grundlagen von Andreas und mir nutzen, um Loksim wieder dort zu reparieren, ich stehe dazu mit Andres und dem Entwickerlteam mehr oder weniger in Kontakt, zur Zeit aber noch ohne Ergebnis. Momentan funktioniert Loksim z.B. nicht mit unserem Server, sondern nur mit dem alten, weil es sich offenbar an ein paar kritischen Stellen nicht an die Spezifikation hält, bzw. die Spezifikation nicht ideal formuliert ist.

Teste daher lieber mit Zusi - erst wenn du weißt, dass es funktioniert, kannst du auch mit Loksim 2.9 probieren.

Ich persönlich würde mal vermuten, dass der Fehler beim Arduino-Programm liegt. Der Leuchtmelder für Befehl hängt laut Code an Pin 9, 500 Hz an Pin 11, 1000 Hz an Pin 13, Die Zugartenpins O, M U hängen an Pin 8, 10 und 12. Wenn du einen anderen Pin verwendest, musst du natürlich das Programm entsprechend anpassen.

Gruß

F. Schn.
Diese Signatur möchte folgendes bekannter machen: ZusiWiki · ZusiSK: Streckenprojekte · YouTube: Objektbau für Zusi · euirc: Zusi-Chat

MikrowellenRechner
Beiträge: 3
Registriert: 15.01.2015 19:14:43

Re: Ein neuer mit einem Problem

#3 Beitrag von MikrowellenRechner »

Erst mal danke für deine Hilfe.

Trotzdem ist mir noch nicht ganz klar, was du mit TCP Server meinst. Meinst du etwa das Fenster, dass auftaucht, nachdem ich das VB.Net Programm gestartet habe(hab da COM 3 augewählt und dann Verbinden gedrückt)? Und zweitens hat das Arduino doch gar kein COM Anschluss, sondern nur USB.

Benutzeravatar
F. Schn.
Beiträge: 6689
Registriert: 24.10.2011 18:58:26

Re: Ein neuer mit einem Problem

#4 Beitrag von F. Schn. »

Bevor du die TCP-Verbindung nutzen kannst, musst du einen Sogenannten TCP-Server starten.

<Bernd> hat einenen Programmiert, hier ist einer ohne Graphische Benutzeroberfläche, und der alte TCP-Server fliegt irgendwo auf der Zusi-CD herum. (Wobei der einen größeren Bug im Zusammenhang mit dem Leuchtmelder "Block, bis zu dem die Strecke frei ist" hat.)

Erst diesen Server starten, dann das VB.Net-Programm verbinden und dann in Zusi unter Eigenschaften->Datenausgabe ebenfalls verbinden.
Diese Signatur möchte folgendes bekannter machen: ZusiWiki · ZusiSK: Streckenprojekte · YouTube: Objektbau für Zusi · euirc: Zusi-Chat

Benutzeravatar
Arne aus dem Norden
Beiträge: 721
Registriert: 25.12.2011 14:28:21
Aktuelle Projekte: Fahrpult VT628/VS928 - Versuch eines Nachbaus
Wohnort: Str.Km "6,8" der Kiel-Schönberger Eisenbahn (DB-Str. 9107)

Re: Ein neuer mit einem Problem

#5 Beitrag von Arne aus dem Norden »

F. Schn. hat geschrieben:und der alte TCP-Server fliegt irgendwo auf der Zusi-CD herum. (Wobei der einen größeren Bug im Zusammenhang mit dem Leuchtmelder "Block, bis zu dem die Strecke frei ist" hat.).
Den fehlerbereinigten Server gibts hier: http://www.zusidisplay.de/files/TCP-Server-1.4a.7z
Die ältere Version auf der Zusi-CD bringt gerade beim PZB-Würfel oftmals nach einigen Minuten Fahrt unsinnige Zustände der LEDs, an deren Fehlersuche man dann verzweifeln kann...
Zuletzt geändert von Arne aus dem Norden am 16.01.2015 07:51:05, insgesamt 1-mal geändert.
Mein Baubericht von der echten Bahn zum Schönberger Strand:
https://www.facebook.com/Hein-Sch%C3%B6 ... 601976323/

Benutzeravatar
nonesense
Beiträge: 506
Registriert: 15.07.2006 12:50:10
Aktuelle Projekte: QDmi
Fahrpult Einheitsführerstand
Ludmilla
Wohnort: Köln
Kontaktdaten:

Re: Ein neuer mit einem Problem (Arduino + PZB-Würfel)

#6 Beitrag von nonesense »

Nabend,

hast du, Michael, mal probiert, ein anderes Programm zu schreiben, dass die LEDs ansteuert?

Gruß
Jens

MikrowellenRechner
Beiträge: 3
Registriert: 15.01.2015 19:14:43

Re: Ein neuer mit einem Problem (Arduino + PZB-Würfel)

#7 Beitrag von MikrowellenRechner »

Hallo,

@nonesense: Nein ein Programm habe ich noch nicht selber geschrieben. Habe bei dem vorgefertigten jedoch die Pins auf meine Bedürfnisse angepasst. Ich werde versuchen, selber eins zu schreiben. Allerdings erst in 3 Wochen, da ich jetzt Prüfungsphase habe.

Grüße Michael

Benutzeravatar
F. Schn.
Beiträge: 6689
Registriert: 24.10.2011 18:58:26

Re: Ein neuer mit einem Problem (Arduino + PZB-Würfel)

#8 Beitrag von F. Schn. »

Ich tippe mal auf einen Fehler bei dieser PIN-Anpassung.

Exemplarisch mal gezeigt, was man anpassen muss, wenn man den Befehlsmelder auf einen anderen Pin setzt:
In Zeile 16:
pinMode(9, OUTPUT);
Diese 9 müsste man dann auf den neuen Pin ändern.

In Zeile 66 und 67:
if ((LM&4) > 0){digitalWrite(9, HIGH);}//Bef
if ((LM&4) == 0){digitalWrite(9, LOW);}
Diese beiden 9er müsste man ebenfalls anpassen.

Nicht anpassen muss man die 4 dort unten und auch nicht das VB.Net-Programm.

Dude oder nonsense mögen mich korrigieren, wenn ich falsch liege.
Vielleicht zeigst du einfach mal den Code, und welche Pins du für was verwenden möchtest.
Zuletzt geändert von F. Schn. am 19.01.2015 17:15:48, insgesamt 1-mal geändert.
Diese Signatur möchte folgendes bekannter machen: ZusiWiki · ZusiSK: Streckenprojekte · YouTube: Objektbau für Zusi · euirc: Zusi-Chat

Benutzeravatar
Arne aus dem Norden
Beiträge: 721
Registriert: 25.12.2011 14:28:21
Aktuelle Projekte: Fahrpult VT628/VS928 - Versuch eines Nachbaus
Wohnort: Str.Km "6,8" der Kiel-Schönberger Eisenbahn (DB-Str. 9107)

Re: Ein neuer mit einem Problem

#9 Beitrag von Arne aus dem Norden »

MikrowellenRechner hat geschrieben:Trotzdem ist mir noch nicht ganz klar, was du mit TCP Server meinst. Meinst du etwa das Fenster, dass auftaucht, nachdem ich das VB.Net Programm gestartet habe(hab da COM 3 augewählt und dann Verbinden gedrückt)? Und zweitens hat das Arduino doch gar kein COM Anschluss, sondern nur USB.
Moin,

der COM-Port des Arduino ist die emulierte serielle Schnittstelle die du zur Kommunikation über USB mit dem PC benutzt. Es können ja mehrere Arduinos an einem PC gleichzeitig betrieben werden, die benutzen dann alle unterschiedliche COM-Ports um sie eindeutig zu identifizieren.
An welchem Port sich der der Arduino angemeldet hat, siehst du nach dem Anschließen in den Systemeinstellungen in deinem Betriebssystem.
Das ist dann natürlich genau die Portnummer, die du in dem Verbindungstool (das "Fenster, dass auftaucht, nachdem ich das VB.Net Programm gestartet habe") auswählen mußt. Dann hast du eine Verbindung zwischen zwischen .NET und Arduino über USB.

Dann mußt du - genau wie oben schon beschrieben - noch eine Verbindung zwischen .NET und z.B. dem externen TCP-Server 1.4a von Zusi aufbauen und zuletzt eine Verbindung zwischen dem TCP-Server und Zusi 2 (mit der Zusi 3 Demo geht das eh nicht).

Wenn du das alles genau so gemacht hast bitte erstmal schreiben was sich tut bevor wir weiterspekulieren...

Gruß, Arne
Mein Baubericht von der echten Bahn zum Schönberger Strand:
https://www.facebook.com/Hein-Sch%C3%B6 ... 601976323/

Antworten