PC-Steuerung

Alles rund um Computertechnik, LEDs, und und und....
Antworten
sebi

PC-Steuerung

Beitrag von sebi » Mittwoch 12. Januar 2005, 14:07

Ich hab mit Bewunderung gehört, dass im MiWuLa alle Lichter PC-gesteuert sind. Dazu muss ich ja ein Programm auf dem Rechner laufen haben, das einzelne Pins der seriellen Schnittstelle oder des Druckeranschlusses, o.ä. ansteuern kann.
Weil ich nun eine ähnliche Spielerei mit dem PC vorhabe, würde mich interessieren, mit welchen Programmiersprachen, bzw. über welche API-Funktionen, so etwas möglich ist.

Benutzeravatar
Datterich
Forumane
Beiträge: 9775
Registriert: Montag 9. Februar 2004, 14:21
Wohnort: 100 km südlich Speicherstadt

Steuerung mit PC

Beitrag von Datterich » Mittwoch 12. Januar 2005, 14:31

Schau bitte mal ---> hier und benutze ggfs. die Bild Suchen-Funktion. Dieses Thema wurde hier schon sehr ausführlich und detailliert erörtert.

Freundliche Grüße aus Darmstadt
Datterich
_________________
... dem heute ein Licht aufgegangen ist

Christian Schoenwitz
Forumane
Beiträge: 733
Registriert: Donnerstag 1. Januar 2004, 18:43

Beitrag von Christian Schoenwitz » Mittwoch 12. Januar 2005, 15:45

edit............
Zuletzt geändert von Christian Schoenwitz am Samstag 22. Januar 2005, 23:22, insgesamt 1-mal geändert.

decoolegangsta

Beitrag von decoolegangsta » Donnerstag 13. Januar 2005, 23:14

Die Seite kannst du "vergessen".
Die ist stillgelegt! (Jdenfalls vorläufig! oder für immer?)
(meine 15603...)

Benutzeravatar
Nobby
Forumane
Beiträge: 230
Registriert: Montag 19. Januar 2004, 21:01
Kontaktdaten:

Beitrag von Nobby » Freitag 14. Januar 2005, 10:17

Hallo,

ich habe mir zum einzelnen Schalten von Lampen und CarSystem Verbrauchern ein eigenes "modulares" System entworfen. Dieses hat 120 Kanäle und wird an die parallele Schnittstelle angeschlossen, momentan geht das nur am SPP Anschluß, da die ECP/EPP keine standart TTL Pegel haben. Benutzt man noch die Steuerausgänge oder einen weiteren Parallelport kann man leicht 960 Verbraucher einzeln schalten.

Ich programmiere das momentan mit Delphi, dafür habe ich auch eine kleine Unit geschrieben, die jede Lampe einzeln ein- und ausschalten kann, es können alle Verbraucher auf einmal angeschaltet werden (Lampentest), oder es kann alles ausgeschaltet werden (NotAus).

Die Hardware dafür kommt mit wenigen standart Bauteilen aus.
An den Parallelport wird eine Platine, auf der zwei ICs sind, angeschlossen. Diese Platine hat dann 15 Ausgänge. An diese Ausgänge werden dann die Schaltplatinen angeschlossen, auf denen sich ein IC befindet und 8 Transistoren zum schalten, oder ein weiteres IC, z.B. ULN 2803.
Die Platinen werden über ein 5adriges Kabel angeschlossen, und können direkt in der nähe der Verbraucher plaziert werden, weitere Platinen können "durchgeschliffen" werden.

Eine Adapterplatine zum Anschließen handelsüblicher Relaiskarten für den parallelport habe ich ebenfalls entworfen.

Das ganze ist sehr preisgünstig, und leicht zu programmieren.

Gruß
Torsten

sebi

Beitrag von sebi » Freitag 14. Januar 2005, 12:56

Ja, das geht in die Richtung, in die ich gehen wollte. Bisher hab ich rausgekriegt, wie ich die serielle Schnittstelle ansteuern kann.
Ich wollte aber nach Möglichkeit nicht Delphi lernen, sondern bei VB bleiben.
Ich geh mal davon aus, dass du in Delphi auch die Windows API für den Zugriff brauchst. Welche Funktionen sind denn das ?
Wenn ich erstmal weiß, mit welchen Funktionen ich den Anschluss steuern kann, kann ich das restliche Programm drumrumstricken und dann schauen, wie die Schaltung passt.
Es ist also weniger ein Elektronikproblem, als ein Programmierproblem. Ich muss eigentlich nur wissen, welche API die Anschlüsse steuern kann. Der Rest is kein Problem (bzw. noch nicht :wink:

Benutzeravatar
Nobby
Forumane
Beiträge: 230
Registriert: Montag 19. Januar 2004, 21:01
Kontaktdaten:

Beitrag von Nobby » Freitag 14. Januar 2005, 13:41

Ich arbeite unter Windows 2000, und der eigentliche Zugriff auf die parallele Schnittstelle geht über die IO.dll, die habe ich dort gefunden:
http://www.geekhideout.com/iodll.shtml

Die kann man auch unter anderen Sprachen benutzen, ist auf der Seite alles beschrieben.

Gruß
Torsten

sebi

Beitrag von sebi » Freitag 14. Januar 2005, 18:16

Genial !

Das ist genau das, was ich gesucht hab !

Danke !

Nur noch eine Frage für mich Hardwaredummie:
Woran erkenne ich den SSP-Anschluss ?

sebi

Beitrag von sebi » Freitag 14. Januar 2005, 18:59

Gut. Ich denke die Frage von eben hat sich geklärt und bei den SSP-Anschlüssen handelt es sich um die beiden SUB-D 25, an die z.B. der Drucker kommt.
Dafür hab ich ne neue Frage. Die Funktionen der DLL wollen Parameter übergeben haben, den Port, den man ansprechen will, und den Bit, den man steuern will, oder die Daten die man senden will. Soweit so klar.
Ist es nun so einfach, das ich der Funktion SetPortBit als Port 1 und als Bit auch 1 übergeben kann und dann der erste Kontaktstift des ersten Steckers high wird. Wenn ich dann sage ClrPortBit(1,1) wird dieser Stift wieder auf low gesetzt.
Oder sind die einzelnen Ports und Bits mit lustigen Hexadezimalzahlen codiert - wenn ja, wie lauten diese ?

Benutzeravatar
Nobby
Forumane
Beiträge: 230
Registriert: Montag 19. Januar 2004, 21:01
Kontaktdaten:

Beitrag von Nobby » Samstag 15. Januar 2005, 01:09

Du mußt einmal die Adresse vom Parallelport angeben, der LPT1 ist standartmäßig auf der Hex Adresse 378, das wäre Dezimal 888.
Dann kannst Du die 8Bit setzen, die ein Parallelport als Datenbit hat.
Das wären dann die Werte 1,2,4,8,16,32,64,128. Willst Du z.B. nur das erste Datenbit auf high haben schreibst Du 1.

Es gibt auf der Seite auch einen "Parallel Port Monitor", da kannst Du sehen welches Bit Du gesetzt hast.

Gruß
Torsten

sebi

Beitrag von sebi » Samstag 15. Januar 2005, 08:53

Sorry, ich bin ein Schaf. Ich hab den Link über die parallele Schnittstelle ganz unten auf der IOdll-Seite übersehen. Da stehts ja. :oops: :oops:
Danke aber dennoch für die Mühen.

Nur noch zum Verständnis: Die acht Datenbits liegen bei der SubD-Dose auf den Pins 2-9 und die Masse finde ich bei 18-25. Richtig ?

Benutzeravatar
Nobby
Forumane
Beiträge: 230
Registriert: Montag 19. Januar 2004, 21:01
Kontaktdaten:

Beitrag von Nobby » Samstag 15. Januar 2005, 10:03

Genau da liegen sie. Wenn Du den parallelport Monitor nimmst, zeigt der Dir auch die Pinnummer an.

sebi

Beitrag von sebi » Samstag 15. Januar 2005, 10:26

Vielen Dank !

FlorianH

Beitrag von FlorianH » Montag 17. Januar 2005, 21:20

Nobby hat geschrieben: Die Hardware dafür kommt mit wenigen standart Bauteilen aus.
An den Parallelport wird eine Platine, auf der zwei ICs sind, angeschlossen. Diese Platine hat dann 15 Ausgänge. An diese Ausgänge werden dann die Schaltplatinen angeschlossen, auf denen sich ein IC befindet und 8 Transistoren zum schalten, oder ein weiteres IC, z.B. ULN 2803.

Hallo Torsten,

das mit dem programmieren würde ich mir auch zutrauen. Allerdings fehlt mir auf der Elektronikseite noch ein bißchen Know How.
Wie hast du denn deine Platinen aufgebaut? Hast du da einen Schaltplan und/oder eine genauere Erklärung die du mir mitteilen könntest?

Vielen Dank

Flo

Antworten