# Ampelschaltung



## JackyD (24. Oktober 2004)

Hallo @ all,
mein Freund und ich haben uns überlegt in Technik als Abschlussarbeit eine Ampelschaltung zu machen. Wir wollen ein einfachen Aufbau aus drei Leuchtdioden machen. Die Ampel sollen ohne linksabbieger Regeln geschaltet werden. Also müssen nur die zwei gegenüberliegenden Seiten parallel geschalten werden.
Wir müssen dazu ein Programm schreiben das die Schaltung der Ampel regelt.
Wir haben in Programmierung noch nicht so viel Erfahrung und uns jetzt überlegt es mit VB zu machen, weil wir damit am einfachsten ein Interface machen können und schon teilweise Makros in Excel gemacht haben.
Ist das so realiesierbar? Was für Ports oder Schnittstellen sind dazu geeignet oder günstig?
Ich würde mich auf eure Meinung und Tipps sehr freuen.


----------



## Shakie (24. Oktober 2004)

Ein Port hat ja was mit Netzwerk zu tun, ist dafür also eher weniger geeignet. Prinzipiell könnt ihr aber jede Schnittstelle verwenden. Es kommt halt drauf an wie gut ihr euch mit der Datenübertragung der Schnittstellen auskennt. Schließlich müsst ihr ja eine Steuerung bauen, die die Befehle vom PC versteht und dann entsprechend die Ampeln schaltet.


----------



## PoNr (24. Oktober 2004)

Hi,
kommt drauf an was bzw. wie ihr schalten wollt.
Könnt mir das ja mal genau erklären. Ich denke man nimmt am besten die Serielle und Parallele Schnittstelle. Dafür kann ich euch auch Quelltexte zur Verfügung stellen.
Einfach melden.

Bis dann
PoNr


----------



## JackyD (25. Oktober 2004)

Danke schon mal für eure Hilfe.
Wir wollen, dass die kreuzung von 4 Richtungen befahrbar ist. Immer die gegenüberliegenden sollen gleichzeitig fahren oder halten. Es gibt keine Sonderegelung für linksabbieger. Ich habe schon für das Interface ein Test gemacht, wo ich 4 Bilder mit Rot, Rotgelb, Grün und Gelb Leuchtender Ampel übereinander gestellt habe und dann noch 4 buttons dazu die jeweils eine andere Funktion zum ein und ausblenden der Bilder haben. Hier ein Bsp:

Private Sub cmdGruen_Click()
imgGruen.Visible = True 'Grün Leuchtende Ampel wird eingeblendet
imgRotgelb.Visible = False 'Rotgelb Leuchtenden aus
cmdGelb.Visible = True 'Button Gelb wird eingeblendet
cmdGruen.Visible = False 'Button Grün ausgeblendet.
End Sub

Siehe Anhang.

Das muss jetzt verdoppelt werden und wie der Schaltplan der Ampel angeordnet werde.
In die Anweisungen muss nur noch die dazugehörige Schnittstelle Ansteuerung dazu.

Das ist nur Vorraussichtilich so. Wir müssen das noch mit dem Lehrer klären ob wir das so wie geplant machen dürfen und die Entgültige Planung erfolgt vor den Weihnachtsferien.


----------



## PoNr (25. Oktober 2004)

Achso, ich dachte du wolltest das ganze auch noch Visuell auf der Form darstellen.
Hab da mal schnell ein Projekt gemacht.

Die Listbox ist später für die Schaltung etc.

Habe auch noch nicht diese "Ampel Pause" Stellung etc. integriert.
Kannst dir ja mal mein Projekt anschauen.
Frage: Willst du nur Leuchtdioden schalten ?

MfG
PoNr


----------



## PoNr (25. Oktober 2004)

Hallo nochmal,
ich hab den Zeit Text Box Bug behoben und die Wartezeit eingefügt.
Einfach testen.
Danke
PoNr


----------



## JackyD (26. Oktober 2004)

Danke ich schau mir deins mal an.
Ich will nur die LEDs schalten. Aber wir haben uns überlegt noch ein Fußgängerübergang zu machen und eine gelbblinkende LED für die rechtsabieger(achtung Fußgänger kreuzen). Wenn alles mit manuellschalten funktionier vielleicht machen wir dann noch eine Zeitschaltung hinzu. Dass das Programm selber nach 20 sec oder so von rot auf rotgelb schalten soll und dann nach 5 sec von rotgelb auf grün nach 20 auf gelb und dann nach 5 sec auf wieder auf rot. Ich hab leider keine Anhnung wie ich die Zeitschaltung machen soll, wenn wir eine machen. Über die Schnittstellen ansteuerung weiß ich auch noch nicht so bescheid. Kannn ich sowas auch irgendswie testen, dass ich an meine rechner LEDs anschließe. Geht das irgendswo an die normalen anschlüsse?


----------



## PoNr (26. Oktober 2004)

Hi,
also Ihr könnt alles über den Parallelport schalten (8 Ausgänge).
Ich meine der könnte 200mA. Dazu bastelt ihr euch ne Relaiskarte aber lasst die Relais weg, wenn Ihr nicht wisst was ich meine dann stelle ich morgen so gegen 13:00 Uhr ein Tutorial online (Bebildert, Schaltplan etc.). Falls Ihr noch externe Taster anschließen wollt, dann benutzt zusätzlich noch die Serielle Schnitstelle. Für beides gebe ich euch dann einen Quelltext zum ansteuern.

Bis dann
PoNr


----------



## meilon (26. Oktober 2004)

Wow PoNr, ich wollte dir mal gratulieren! Hatte mich bisher nicht an Schaltungen ran getraut, aber wenn du ein schön bebildertes Tutorial machst, werde ich es gerne mal Versuchen. Habe schon viele Verwendungszwecke, um mit meinem PC irgendetwas externes in Gang zu setzten.

Ich freue mich jetzt schon *megafreu*

bis denne


----------



## JackyD (27. Oktober 2004)

Servus,
du bist echt super. Ich freue mich schon auf das Tutorial. Einen externen Taster haben wir nicht mit eingeplant, brauchen wir auch nicht. Wir wollen das dann mit relais steuern. Für die blinklichter hab ich gedacht, dass wir einfach ein wechselblinker bauen. In den Ferien (in BW vom 28.10-7.11) werde ich mal in Excel ein Plan vom Interface machen und dann noch Wahrheitstabellen, wenn was geschaltet werden muss. Mein Freund wollte den Plan für die Elektronik machen. Sobald der Plan fertig ist stell ich ihn mal hier rein.
Deine Ampel ist echt gut. So ne art Automatikbetrieb wollen wir ja auch machen. Ist das möglich die Takte einzeln einzustellen? Es sollte aber immer im verhältniss sein also wenn ich angebe bei Rot auf Rotgelb soll er 20 sec warten dann soll er automatisch umstellen von rotgelb auf grün nur ein viertel (5 sec) davon von grün auf gelb wieder die 20 sec und dann von gelb auf rot wieder nur ein viertel.


----------



## Rift (27. Oktober 2004)

Ich hab hier ne Ampel mit Timer-Funktion gemacht, war für nen Kumpel von mir, weil er das für seinen Informatikunterricht brauchte...
ist ja vielleicht das richtige für euch!
Würde auch den source code weitergeben, wenn er damit zufrieden seit oder diesen entsprechend verändern


CMA alias Rift


----------



## JackyD (28. Oktober 2004)

Deine Ampel ist echt gut. Von dem Quelltext benötige ich eigentlich nur die Zeitschaltung. Aber da Spricht mir die Zeitschaltung von PoNr eher zu, weil es eine Kreuzung ist. Deine müsste dann noch kombinieret werden, dass abwechselt geschalten wird. Die anordnung der Bilder gefällt mir bei dir sehr gut. Ich glaube so ähnlich werde ich sie auch anordnen, mit schwarz und dann die Farben. Was ist besser für die Lade und arbeitszeit: Wenn ich ein großes Bild nehme wie in meinem Beispiel Ampel und das jeweils wechsele oder wenn ich nur das auswechsele was die Farbe ändert, ist halt dann mehr code der verarbeitet werden muss.


----------



## Rift (29. Oktober 2004)

so, hab jetzt nochmal den Quellcode geuppt...
Hab es in VB 6.0 mit Sp6 geschrieben.
Wenn du  noch irgendwelche Fragen hast, zu dem Source oder so, dann stelle sie einfach  
naja, ich wusste nich ganz genau, ob ich jetzt jeden Befehl kommentieren sollte, aber ich denke ich habe das schon sehr großzügig gemacht.
Sollte eigentlich jeder ANfänger verstehen(mein Kumpel hat es zu mindest verstanden)
sind ca. 12 Zeilen mit Kommentaren, die die benutzten Befehle großzügig erklären  
und wie gesagt, frag einfach...


CMA

PS: Dieses Tut//Source ist ganz gut um die Timer-Funktion von VB zu lernen
PPS: Anlage ist der SourceCode


----------



## PoNr (29. Oktober 2004)

Sorry,
war die Woche über auf LAN. Also, das Tutorial dauert leider noch was ich denke nächste Woche ist es online.
Habe vor morgen die Bauteile zu bestellen. In meiner Ampelschaltung ist nun auch der erste Rechtsabieger drin, aber es funktioniert noch so einiges nicht richtig.

Ich habe es euch trotzdem mal geuppt.
Der erste Schaltplan ist fertig, wollt Ihr es lieber mit Transistoren machen oier mit nem IC ?
Wofür denn die Relais ? Wenn Ihr nur Leds schalten wollt braucht Ihr keine Relais. 
Also bei meiner Schaltung habt Ihr insgesamt glaub ich ca. 12 Ausgänge zur verfügung. Sobald die Visuelle Darstellung fertig ist, ist die Ausgabe an die Leds nur noch 5 min..

Bis dann
PoNr


----------



## meilon (29. Oktober 2004)

Also, ich währe *für* Relais. Weil wenn man mal etwas mehr Schalten will als Led's, z.B. 240V60W Glühbirnen, dann bräuchte man die Teile schon.
Und wegen Transistoren oder IC's: Mir eigentlich egal  

mfg


----------



## JackyD (29. Oktober 2004)

Wir wollen halt 2 getrennte Stromkreis. Ein Steurestrom über den Computer und ein Arbeitstromkreis für die Ampel. Es ist auch für die Unterschiedlichen Spannungen. Z.B. kann man diese steuerung auch zum starkstomsteuren nehmen also richtige Ampeln auf der Straße. @ Rift Danke für den Source Code die Zeitsteuerung habe ich zum Teil verwenden können und hier ist auch schon gleich mein Erster Prototyp Sagenhafte 516 Zeilen Quellcode. Haben wir uns noch nicht überlegt ob wir es mit Transistoren oder IC's machen.


----------



## PoNr (29. Oktober 2004)

Ok,
kein Problem ich wollte nur fragen, weil Ihr ja eigentlich *nur*  Led's schalten wolltet. 
Also ich empfehle euch das IC, es kostet das gleiche, aber man muss weniger verdrahten.

Ok bis dann 
PoNr


----------



## spirit (1. November 2004)

Ich kann nur davor warnen den Parallelport mit 200mA zu belasten. Du wirst schnell merken das das zu viel war    (Max. 20mA)
Zur Realisierung würde ich ein 4 zu 16 Demultiplexer nehmem (TTL74154). Damit kann man ohne viel Aufwand und auf Lochraster 16 Schaltzustände mit nur 4 Bit realisieren.
Einen Schaltplan kann ich gerne zur Verfügung stellen


----------



## PoNr (1. November 2004)

Hi,
Ihr bzw. du hast mich falsch verstaden. Ich will nicht direkt den Parallelport mit 200mA belasten, sonder erst mal Transistoren oder einen ULN davor schalten. Danach kann ich locker 200mA ziehen.
   

PoNr


----------



## PoNr (1. November 2004)

Übrigens, hab ich da was vergessen.
Man kann nicht mal 20 mA. direkt ziehen.
Außerdem kann man mit dem TTL immer nur 1 Schaltzustand auf einmal machen.
Mit meinem ULN, kann man 8 machen.
Bzw. 13 Ausgänge schalten.
Nur so als Tip.

Schaltplan & Quelltext habe ich, und gebe ich euch gerne.

MfG
PoNr


----------



## spirit (2. November 2004)

Du brauchst ja auch nur einen Schaltzustand. Die Ampelphasen werden jeweils als Gruppen zusammengefasst und somit kannst du 5 Ampeln seperat schalten.


----------



## PoNr (2. November 2004)

Das ist schon klar, aber so kann ich meine Steuerung erweitern ohne immer neue Strippen ziehen zu müsse.

MfG
PoNr


----------



## JackyD (14. November 2004)

Servus,
gestern haben wir uns ein Relais Modul beim conrad geholt. Das wird über den Druckerprot angeschlossen. Weiß jemand, wie ich mit VB. Einen der 25 pole öffnen kann?


----------



## PoNr (14. November 2004)

Hi, kein Problem 
habe gestern mein Tutorial angefangen, dauert aber doch wesentlich länger da ich mir jetzt überlegt habe noch eine Digitale In/Out Karte zubauen. Die KArte hat dann 64 Eingänge und 64 Ausgänge.

Also um in VB den Drucker port anzusprechen brauchst du die InpOut32.dll (habe ich als Anhang eingefügt.

Die fügst du in dein Projekt ein. Dann kannst du in VB 8 Kanäle ansteuern (Pin 1 - 8).
Damit also alle 8 Relais.
Hier der Code um die DLL einzubinden:

```
Public Declare Function Inp Lib "inpout32.dll" _
Alias "Inp32" (ByVal PortAddress As Integer) As Integer
Public Declare Sub Out Lib "inpout32.dll" _
Alias "Out32" (ByVal PortAddress As Integer, ByVal Value As Integer)
```
Das machst du am besten in ein Modul.

Hier der Code um die Ports anzusprechen:

```
Dim A,B,C,D,E,F,G,H,J As Byte
Dim Port as String

Port = "h378"

J = A+B+C+D+E+F+G+H
Out Port, J
```
Für die Variable Port setzt du deinen Port.
J ist die Ausgabevariable.
A = Ausgang 1
B = Ausgang 2
C = Ausgang 3
D = Ausgang 4
E = Ausgang 5
F = Ausgang 6
G = Ausgang 7
H = Ausgang 8
Um nun einen Ausgang auf 1 zu setzen, weißt du ihm den richtigen Wert zu:
0 bedeutet das der Ausgang Aus ist. (z.B.: A = 0 / B = 0)
A = 1 bedeutet Ausgang 1 An.
B = 2 beduetet Ausgang 2 An
C = 4 bedeutet Ausgang 3 An.
D = 8 bedeutet Ausgang 4 An.
E = 16 bedeutet Ausgang 5 An.
F = 32 bedeutet Ausgang 6 An
G = 64 bedeutet Ausgang 7 An.
H = 128 bedeutet Ausgang 8 An.
J = A+B+C+D+E+F+G+H (Es werden alle Ausgänge zusammen gezählt)

Wenn alle Aus sein sollen, reicht folgendes: J = 0
Wenn alle An sein sollen, reicht folgendes: J =  255

Ich hoffe ich habs erklären können, ansonsten einfachnochmal fragen.


----------



## JackyD (14. November 2004)

Hab ich das so richtig verstanden:
Wenn ich will dass Port 1,3 u 5 offen sind muss ich:
A=1
B=0
C=2
D=0
E=4
F=0
G=0
H=0
J=A+B+C+D....
J hat dann den Wert 7 und das müssten dann 00000110 sein.


----------



## PoNr (14. November 2004)

Nein, s meinte ich das nicht, 
also:
A steht für Ausgang 1
B steht für Ausgang 2
C steht für Ausgang 3
D steht für Ausgang 4
E steht für Ausgang 5
F steht für Ausgang 6
G steht für Ausgang 7
H steht für Ausgang 8

Um nun Ausgang 1,3 und 5 an zu schalten, musst du folgendes machen:
A = 1
B = 0
C = 4
D = 0
E = 16
F = 0
G = 0
H = 0

Also wenn du nun A,B,C,D,E,F,G,H auf 0 setzt, sind die Ausgänge nicht asktiv.
Um die Ausgänge zu aktivieren, musst du für
A die 1 setzen # Ausgang 1 ist an
B die 2 setzen #Ausgang 2 ist an
C die 4 setzen 
D die 8 setzen
E die 16 setzen
F die 32 setzen
G die 64 setzen
H die 128 setzen
Die bytes werden immer um das doppelte gesteigert.

Bzw. so wie du das gemacht hast wäre es richtig, aber ich würd ein diesem Schema bleiben.
Es muss halt immer der richtige J wert rauskommen.
Bei 255 sind halt alle an.
Wenn du 1,3,5 an haben wilslt muss J = 21 (wenn ichmich nicht verrechnet habe)!
ICh hoffe ich hab mich jetzt besser ausgedrückt !


----------



## JackyD (14. November 2004)

OK danke das wars was ich wissen wollte.


----------



## meilon (15. November 2004)

Boa, 
64 Ein- und Ausgänge, soviele anwendungen hätte ich da jetzt gar net. Aber mir fällt da schon noch was für ein ^^
Ich freue mich schon wahnsinnig aufs Tutorial. Kannst du schon sagen, wieviel das Hardware-Technisch kostet? Bei Reichelt oder Conrad.

mfg


----------



## JackyD (15. November 2004)

Weiß no net genau wird aber teurer werden. Das Modul hat 30 Euro gekostet dann noch LED's, Kabel bisher gesamt ca 70 Euro. Das sin keine 64 Ausgänge. Der Druckerport hat glaub 25 Pole. Über das Relais Modul können wir acht verschiedene stromkreise anschließen.


----------



## spirit (15. November 2004)

Hallo

Für größere Lasten würde ich keine Relais nehmen. Die sind zu teuer. Ein Triac z.B TIC206 oder ein BT136 kostet 70ct. + Optokoppler mit Nullspannungsdetect 90 ct.
und schon sind Lasten ungekühlt bis 1500 W schaltbar. Mit einem BCD-Wandler die fast nix kosten sind 32 Zustände schaltbar und nicht wie immer gesagt wird nur 8


----------



## PoNr (15. November 2004)

Hi,
also der Paraqlelleport hat 8 Ausgänge, mit einer kleinen Schaltung (siehe Anhang) mache ich daraus 64 Eingänge & 64 Ausgänge.
Übrigens der SChaltplan ist als Buss gezeichnet.
Also dur dass was auf dem Schaltplan zu sehen ist also 64 Ein- und 64 Ausgänge ohne:
Leds, Relais,Triacs etc. kostet so max. 5 € (mit Platine)

Bis dann
PoNr


----------



## JackyD (16. November 2004)

Laufen mit VB6 erstellten exe Dateien auf Win 98? Weil die Ampelschaltung läuft nicht kann ich da irgendwas einstellen. 64 jetzt hab ichs auch geblickt. Danke.


----------



## PoNr (17. November 2004)

Ja,
das Programm laüft unter Win98, habs unter Xp Pro. geschrieben in VB6 unter Win98 hats ein Freund getestet.


----------



## JackyD (17. November 2004)

Kannst du das mal testen lassen unter 98 bei mir liefs nicht unter 98. Muss ich da irgendwass einstellen für 98 oder so?


----------



## PoNr (17. November 2004)

Sorry,
diese Schaltung ist nicht von mir.(Ich dachte zuerst du meintest meine.
Aber sie ist gut gemacht, allerdings ist ein Fehler drin, der zwar nicht weiter stört aber halt nicht wirtschaftlich genug ist.
Wenn die AMpeln 1 + 3 (für Autos) grün werden dann könnten auch schon die Fussgängerampeln 1+3 Grün werden, da dies bei Kreuzungen ja öfters der Fall ist.
Genauso bei 2+4, aber wie gesagt nur ein Schönheitsfehler.
Also, wenn du mir mal deinen Quelltext gibst, dann bau ich den dem entsprechenum und bau die Par. Port ansteuerung ein wenn du es noch nicht hast. !

MfG
PoNr


----------



## JackyD (18. November 2004)

Wir habe ja das noch gar nicht gebaut momentan ist da nur ein Interface test. Die Portansteuerung kommt erst später rein. Das mit den Fußgängern ist bewusst so gemacht, weil wir 2 ports zu wenig haben(müssten dann die Platin machen von dir) wir bräuchten auch noch blinklichter für die autos. Es hat aber auhc noch einen anderen grund, in manchen großstätten ist das so, dass man links abbiegen kann wenn von gegenüber keiner kommt ansonsten muss man warten bis frei ist, dann können nämlich die autos auch noch links abbiegen, wenn dort Fußgänger wieder laufen wäre es unpraktisch. In manchen Städten ist das auch so gemacht mit den Fußgänger, dass entweder auto oder Fußgänger fahren/gehen dürfen. Was kann ich macchen, wenn das Programm nicht auf 98 läuft, bin ich dann gezwungen für die steuerung ein rechner mit xp zu nehemn?


----------



## meilon (19. November 2004)

wuuu, wann isses denn fertig, das Tutorial?
Ich verglühe schon  Brauche was zum basteeeeeln  *You see Oberst Klink is getting nervus* (Sieht man, das ich ab und zu mal Ultima Online spiele? )

mfg


----------



## PoNr (19. November 2004)

Sorry,
hab zurzeit Stress mit der SChule und so. Aber ich hoffe das es demnächst fertig ist.
MfG
PoNr


----------



## JackyD (23. November 2004)

Hallo @ all,

ich habe jetzt auf 98 eine neue Runtime von VB6 installiert aber die Ampeschaltung läuft immer noch nicht, woran könnte es noch liegen wenn sie nicht läuft?


----------



## PoNr (23. November 2004)

Ist das ganz normales Win98 ode rmit Inis oder irgendeinem HDDGuard etc. 
Bei Inis sind bei uns nämlich auche nicht installierte Programme funktionsuntüchtig.

Stelles bitte nochmal online, dann teste ichs nochmal bei mir!
MfG
PoNr


----------



## JackyD (24. November 2004)

Keine Ahnung was da drauf alles ist. Ist ein alter Laptop. In der Schule gings auch net.
Könnte es was helfen, wenn ichs unter VB4 speicher?


----------



## JackyD (3. Dezember 2004)

Wir haben ein problem mit dem Modul, man kann immer nur einen der 8 Relais öffnen, nie 2 gleichzeitig. Kann ich dann damit auch die Schaltung realisieren. Brauch ich da so ne platine für 64 Anschlüssen, wie der Schaltplan von PoNr. Wie kann ich dann die unterschiedlichen anschlüsse ansteuern?


----------



## PoNr (3. Dezember 2004)

HI,
ich kenn leide rnicht das Modul von euch, hast du nen Schaltplan?
Also du musst nicht direkt 64 Anschlüsse machen.
Ich kann dir z.B. einen Schaltplan für ne 8 Port Relaiskarte geben.
Aber eigentlich sollte man auch bei dem Conradmodul alle bzw. mehrere Ports gleichzeitig öfnnen können.

MfG
PoNr


----------



## JackyD (4. Dezember 2004)

Ich geb dir nächste Woche mal ein Plan. Mein Freund hat momentan das Modul, er hats auch getestet und gesagt, dass man nur ein zur gleichen Zeit ansteuern kann. Hier auf der Conrad HP http://www1.conrad.de/scripts/wgate...lb_user_js=Y&shop=B2C&p_init_ipc=X&~cookies=1
du musst zwischen den Zeilen lesen:


> können bis zu 8 verschiedene Geräte zu unterschiedlichen Zeiten ein- oder ausgeschaltet werden.


 Und genauso solls beim Testen auch gewesen sein.


----------



## meilon (4. Dezember 2004)

Wollte mal fragen, wie weit denn so das Tutorial ist. Wenn du schon so weit bist, was man alles kaufen muss und was man womit zusammenlötet wäre ich dir sehr Dankbar.
Ich möchte ja nun nicht eine Ampelschaltung bauen sondern nur mit meinem PC externe Schaltungen vornehmen. Da möchte ich wenigstens das Board fertig haben und dran rumbasteln

Achja, fällt mir gerade ein: Wie sieht es mit USB-Unterstützung aus? Wäre es überhaupt möglich ein eigenes USB-Gerät zu bauen und dass dann mit VB oder VB.net anzusprechen? Wollte nur mal fragen

mfg


----------



## JackyD (8. Dezember 2004)

Hallo PoNr,

weißt du zufällig etwas über Logoschaltungen, wir haben uns entschlossen ein neues Modul von Siemes zu kaufen. Leider benötigen wir dazu Logoschaltungen.


----------



## PoNr (8. Dezember 2004)

Sorry,
ich war lange nicht mehr oonline, da ich keine Emailbestätigung bekommen habe.
Also, Tutorial hat sich total verschoben, da ich neu anfangen muss. Schaltplan etc. hab ich, kann ich dir geben.

Zu Logo: Nein, ich kenn mich nicht mit Logo aus. Aber was ist das denn für ein Siemens Modul, und was kostet es  Mein Onkel macht viel mit Siemensschaltungen.

Also mein Modul für 8 Kanäle, kostet mit Relais 10€
MfG
PoNr


----------



## meilon (9. Dezember 2004)

Hi
mein Vater hatte mal ein Logo-Modul. Das ist ein (je nach Anschlüssen) kleiner weißer Kasten, den man an den PC Anschließen kann und mit entsprechender Software Programmieren kann.
Und wenn ihr für die Ampelschaltung ordentlich was absahnen wollt, würde ich eher selber was programmieren als ein Gerät zu kaufen, wo man nur noch alles einstellen muss.
Außerdem ist LOGO relativ teuer, soweit ich weiß.

mfg


----------



## JackyD (10. Dezember 2004)

Ja war ziemlich teuer. 300€. Es ist besser, da es nur von einem Chip läuft und wir kein rechner dazu brauchen. Das programm wäre nicht benotet worden, weil es ein praktische arbeit sein muss, wo man ein modell oder so was herstellt. Mein Freund wird das Modul später noch gebrauchen können, wenn er seine Lehre anfängt.


----------



## ThePuppetMaster (12. Dezember 2004)

3 Seiten mit Text, wobei das ganz einfach ist 

2 Möglichkeiten

1. Controler-Basis
2. PC-Basis


1. Controler-Basis
Dafür benötigt man einen kleinen Controler, wie z.B. den AVR (AT90S2313) reicht aus, oder nen PIC z.B. Pic16C84
nen ULN z.B. 2803 oder ähnlich
den Pic bzw. AVR klemmt man DIREKT an die eingänge des ULN
Plus und minus dran, das ganze mit TTL versorgen, und kleine Wiederstände dran, für die LEDs

Je nach anzahl, der LEDs, kann man das direkt oder über eine Matrix-schaltung laufen lassen!

Direkt, sind dann nur 8LEDs möglich, über eine Matrix, kann man bei 8Ports und 2 Diemensionen = 8 / 2 = 4 Leitungen für die Matrix benutzen ... das ergibt eine effiziente anzahl von  4 * 4 = 16 LEDs, bei 8 Ports ... damit haben wir die anzahl der LEDs verdoppelt! ... desweiteren kann man das ganze dann noch über ein Puls-schalt-verfahren steuern, was die anzahl weiter erhöhen würde, aber das ist warscheinlich zu aufwendig für dich, bzw. braucht warscheinlich auch garnicht...


2. PC-Basis
Im grunde gilt hier das gleiche, wie bei der ausführung mit AVRs oder PICs
Grunstätzlich schaft es ein PIC, AVR und PC port, kleine LEDs zu treiben! allerdings NIE OHNE VORWIEDERSTAND! ... Sicher ist sicher!
Dennoch, möchte man den Port nicht alzusehr belassten, wenns schon treiber für solche aufgaben gibt! 


Zur Software

Im PIC bzw. AVR bereich gibts sehr gute Kostenlose Software zum Programmieren von z.B. MicroChip und Bascom ... auch Programmer sind leicht selbst herzustellen! ... wobei es beim PIC etwas schwerer ist.

fürn PC gibts die sogenante "Port.dll", welche auch kostenlos im netz gefunden werden kann. Diese Dll, steuert den zugriff auf so ziemlich alles, was sich im PC befindet! ob TV-Karte, oder Serielle schnitstelle, Drucker-Port oder Sound-karte...

mit dieser Dll, läst sich sehr schnell eine extrem leistungsfehige software basteln, die vollen und direkten zugriff auf die schnitstellen hat! ... 

hier n kleines beispiel für PCs:

Das beispiel zeigt ein Control, das ich mal geschrieben habe, um die standart-schnitstellen zu benutzen!
(normalerweise veröffentlich ich keinen Code, aber ... naja...)


*Wichtig ist, das die Port.dll vorhanden ist!*

MODUL:

```
Public Declare Function OPENCOM Lib "Port" (ByVal A As String) As Integer
Public Declare Function READBYTE Lib "Port" () As Integer
Public Declare Function CTS Lib "Port" () As Integer
Public Declare Function DSR Lib "Port" () As Integer
Public Declare Function RI Lib "Port" () As Integer
Public Declare Function DCD Lib "Port" () As Integer
Public Declare Function TIMEREAD Lib "Port" () As Long
Public Declare Function TIMEREADUS Lib "Port" () As Long
Public Declare Function INPORT Lib "Port" (ByVal p As Integer) As Integer
'Public Declare Function JOYX Lib "Port" () As Long
'Public Declare Function JOYY Lib "Port" () As Long
'Public Declare Function JOYZ Lib "Port" () As Long
'Public Declare Function JOYW Lib "Port" () As Long
'Public Declare Function JOYBUTTON Lib "Port" () As Integer
'Public Declare Function SOUNDSETRATE Lib "Port" (ByVal Rate As Integer) As Integer
'Public Declare Function SOUNDGETRATE Lib "Port" () As Integer
'Public Declare Function SOUNDBUSY Lib "Port" () As Boolean
'Public Declare Function SOUNDIS Lib "Port" () As Boolean
'Public Declare Function SOUNDGETBYTES Lib "Port" () As Integer
'Public Declare Function SOUNDSETBYTES Lib "Port" (ByVal b As Integer) As Integer
Public Declare Sub CLOSECOM Lib "Port" ()
Public Declare Sub SENDBYTE Lib "Port" (ByVal B As Integer)
Public Declare Sub DTR Lib "Port" (ByVal B As Integer)
Public Declare Sub RTS Lib "Port" (ByVal B As Integer)
Public Declare Sub TXD Lib "Port" (ByVal B As Integer)
Public Declare Sub DELAY Lib "Port" (ByVal B As Integer)
Public Declare Sub DELAYUS Lib "Port" (ByVal L As Long)
Public Declare Sub TIMEINIT Lib "Port" ()
Public Declare Sub TIMEINITUS Lib "Port" ()
Public Declare Sub REALTIME Lib "Port" (ByVal i As Boolean)
Public Declare Sub OUTPORT Lib "Port" (ByVal A As Integer, ByVal B As Integer)
'Public Declare Sub SOUNDIN Lib "Port" (ByVal Puffer As String, ByVal Size As Integer)
'Public Declare Sub SOUNDOUT Lib "Port" (ByVal Puffer As String, ByVal Size As Integer)
'Public Declare Sub SOUNDCAPIN Lib "Port" ()
'Public Declare Sub SOUNDCAPOUT Lib "Port" ()


Public Function BinOfDec(ByVal Number As String, Optional length As Integer) As String
Dim D, B, L, wk, C
D = Number
L = 0
If length = Empty Then
    Do
        If D Mod 2 Then B = "1" & B Else B = "0" & B
        D = D \ 2
    Loop Until D = 0
Else
    Do
        If D Mod 2 Then B = "1" & B Else B = "0" & B
        D = D \ 2
        L = L + 1
    Loop Until L = length
End If
If Number < 0 And length = 8 Then GoTo TwosCompliment
GoTo BinAns
TwosCompliment:
L = Len(B)
D = 0
C = 1
For D = L To 1 Step -1
    wk = Mid(B, D, 1)
    If wk = 1 Then wk = 0 Else wk = 1
    If wk = 1 And C = 1 Then
        wk = 0
        C = 1
    ElseIf wk = 0 And C = 1 Then
        wk = 1
        C = 0
    ElseIf wk = 1 And C = 0 Then
        wk = 1
        C = 0
    ElseIf wk = 0 And C = 0 Then
        wk = 0
        C = 0
    End If
    BinOfDec = BinOfDec & wk
Next D
Exit Function
BinAns:
BinOfDec = B
End Function
```

CONTROL:

```
Dim ADR As Integer
Dim WADR As Integer

Dim AD0 As Boolean
Dim AD1 As Boolean
Dim AD2 As Boolean
Dim AD3 As Boolean
Dim AD4 As Boolean
Dim AD5 As Boolean
Dim AD6 As Boolean
Dim AD7 As Boolean

Dim DD(8) As Boolean
Dim Opened As Boolean

Private Sub UserControl_Resize()
On Error Resume Next
On Error Resume Next
UserControl.Width = Label1.Width
UserControl.Height = Label1.Height
End Sub

Public Function Open_Port(Parameter As String) As Boolean
On Error Resume Next
Dim X As Integer
If Opened = False Then
    X = OPENCOM(Parameter)
    If X = 0 Then
        Open_Port = False
    Else
        'Com1=1016
        'Com2=760
        'Com3=1000
        'LPT1=888
        ADR = 0
        If InStrRev(Parameter, ":") > 0 Then
            Select Case UCase(Mid(Parameter, 1, InStr(1, Parameter, ":") - 1))
                Case "COM1": ADR = 1016
                Case "COM2": ADR = 760
                Case "COM3": ADR = 1000
            End Select
        Else
            Select Case UCase(Parameter)
                Case "LPT1"
                    ADR = 888
                    WADR = 889
            End Select
        End If
        Opened = True
        Open_Port = True
    End If
Else
    Open_Port = False
End If
End Function

Public Function Close_Port() As Boolean
On Error Resume Next
If Opened = True Then
    CLOSECOM
    Opened = False
    Close_Port = True
Else
    Close_Port = False
End If
End Function

Public Function Seriel_IN_CTS() As Boolean
On Error Resume Next
If CTS = 0 Then
    Seriel_IN_CTS = False
Else
    Seriel_IN_CTS = True
End If
End Function

Public Function Seriel_IN_DSR() As Boolean
On Error Resume Next
If DSR = 0 Then
    Seriel_IN_DSR = False
Else
    Seriel_IN_DSR = True
End If
End Function

Public Function Seriel_IN_RI() As Boolean
On Error Resume Next
If RI = 0 Then
    Seriel_IN_RI = False
Else
    Seriel_IN_RI = True
End If
End Function

Public Function Seriel_IN_DCD() As Boolean
On Error Resume Next
If DCD = 0 Then
    Seriel_IN_DCD = False
Else
    Seriel_IN_DCD = True
End If
End Function

Public Function Seriel_OUT_DTR(Value As Boolean)
On Error Resume Next
If Value = False Then
    DTR 0
Else
    DTR 1
End If
End Function

Public Function Seriel_OUT_RTS(Value As Boolean)
On Error Resume Next
If Value = False Then
    RTS 0
Else
    RTS 1
End If
End Function

Public Function Seriel_OUT_TXD(Value As Boolean)
On Error Resume Next
If Value = False Then
    TXD 0
Else
    TXD 1
End If
End Function

Public Function Port_OUT_Data(Adresse As Integer, Data As Integer)
On Error Resume Next
OUTPORT Adresse, Data
End Function

Public Function Port_IN_Data(Adresse As Integer) As Integer
On Error Resume Next
Port_IN_Data = INPORT(Adresse)
End Function

Public Function Set_RealTime(Value As Boolean)
On Error Resume Next
REALTIME Value
End Function

Public Function Port_ReadByte() As Integer
On Error Resume Next
Port_ReadByte = READBYTE
End Function

Public Function Port_SendByte(Data As Integer)
On Error Resume Next
SENDBYTE Data
End Function

Public Function Delay_Sek(Time As Integer)
On Error Resume Next
DELAY Time
End Function

Public Function Delay_USek(Time As Long)
On Error Resume Next
DELAYUS Time
End Function

Public Function Time_Init_Sek()
On Error Resume Next
TIMEINIT
End Function

Public Function Time_Init_USek()
On Error Resume Next
TIMEINITUS
End Function

Public Function Time_Read_Sek() As Integer
On Error Resume Next
Time_Read_Sek = TIMEREAD
End Function

Public Function Time_Read_USek() As Integer
On Error Resume Next
Time_Read_USek = TIMEREADUS
End Function

Public Function Set_Adresse(Adresse As Integer)
On Error Resume Next
ADR = Adresse
End Function

Public Function Set_WriteAdresse(Adresse As Integer)
On Error Resume Next
WADR = Adresse
End Function

Public Function Parallel_IN_SELECT() As Boolean
On Error Resume Next
If Mid(BinOfDec(INPORT(ADR + 1), 8), 4, 1) = 1 Then
    Parallel_IN_SELECT = True
Else
    Parallel_IN_SELECT = False
End If
End Function

Public Function Parallel_IN_PE() As Boolean
On Error Resume Next
If Mid(BinOfDec(INPORT(ADR + 1), 8), 3, 1) = 1 Then
    Parallel_IN_PE = True
Else
    Parallel_IN_PE = False
End If
End Function

Public Function Parallel_IN_BUSY() As Boolean
On Error Resume Next
If Mid(BinOfDec(INPORT(ADR + 1), 8), 1, 1) = 1 Then
    Parallel_IN_BUSY = True
Else
    Parallel_IN_BUSY = False
End If
End Function

Public Function Parallel_IN_ACK() As Boolean
On Error Resume Next
If Mid(BinOfDec(INPORT(ADR + 1), 8), 2, 1) = 1 Then
    Parallel_IN_ACK = True
Else
    Parallel_IN_ACK = False
End If
End Function

Public Function Parallel_IN_ERROR() As Boolean
On Error Resume Next
If Mid(BinOfDec(INPORT(ADR + 1), 8), 5, 1) = 1 Then
    Parallel_IN_ERROR = True
Else
    Parallel_IN_ERROR = False
End If
End Function

Public Function Parallel_IN_D(Bit As Integer) As Boolean
On Error Resume Next
If Mid(BinOfDec(INPORT(ADR + 6), 8), 8 - (Bit - 1), 1) = 1 Then
    Parallel_IN_D = True
Else
    Parallel_IN_D = False
End If
End Function





Public Function Parallel_IN_STROBE() As Boolean
On Error Resume Next
If Mid(BinOfDec(INPORT(ADR + 2), 8), 8, 1) = 0 Then
    Parallel_IN_STROBE = True
Else
    Parallel_IN_STROBE = False
End If
End Function

Public Function Parallel_IN_AUTOFEED() As Boolean
On Error Resume Next
If Mid(BinOfDec(INPORT(ADR + 2), 8), 7, 1) = 0 Then
    Parallel_IN_AUTOFEED = True
Else
    Parallel_IN_AUTOFEED = False
End If
End Function

Public Function Parallel_IN_INIT() As Boolean
On Error Resume Next
If Mid(BinOfDec(INPORT(ADR + 2), 8), 6, 1) = 1 Then
    Parallel_IN_INIT = True
Else
    Parallel_IN_INIT = False
End If
End Function

Public Function Parallel_IN_SLCT() As Boolean
On Error Resume Next
If Mid(BinOfDec(INPORT(ADR + 2), 8), 5, 1) = 0 Then
    Parallel_IN_SLCT = True
Else
    Parallel_IN_SLCT = False
End If
End Function

Public Function Parallel_OUT_STROBE(Value As Boolean)
On Error Resume Next
Dim B As String
B = BinOfDec(INPORT(ADR + 2))
If Value = True Then
Else
End If
End Function

Public Function Parallel_OUT_AUTOFEED(Value As Boolean)
On Error Resume Next
End Function

Public Function Parallel_OUT_INIT(Value As Boolean)
On Error Resume Next
End Function

Public Function Parallel_OUT_SLCT(Value As Boolean)
On Error Resume Next
End Function






Public Function Parallel_OUT_D(Value As Integer)
On Error Resume Next
OUTPORT ADR, Value
End Function

Public Function Parallel_OUT_DD(Bit As Integer, Value As Boolean)
On Error Resume Next
Dim X As Integer
Dim OD As Integer
DD(Bit) = Value
OD = 0
For X = 1 To 8
    If DD(X) = True Then
        OD = OD + (2 ^ (X - 1))
    End If
Next
OUTPORT ADR, OD
End Function






Private Sub UserControl_Terminate()
On Error Resume Next
If Opened = True Then
    CLOSECOM
End If
End Sub

Public Function CheckPortOpen() As Boolean
On Error Resume Next
CheckPortOpen = Opened
End Function
```


 nun noch ne passende anwendung:
benötigt werden, Check1(0-15) (checkbox)
und ne Picturebox

FORM

```
Dim LV As Boolean

Private Sub Check1_Click(Index As Integer)
Port1.Parallel_OUT_DD Index + 1, CBool(Check1(Index).Value)
End Sub

Private Sub Form_Load()
Dim NV As Boolean
NV = Port1.Open_Port("LPT1")
Port1.Parallel_OUT_D 0
MsgBox NV
End Sub

Private Sub Form_Unload(Cancel As Integer)
Port1.Close_Port
End Sub

Private Sub Timer1_Timer()
If Port1.CheckPortOpen = True Then
    Dim TV As Boolean
    TV = Port1.Parallel_IN_ACK
    If TV = False Then
        Shape1.BackColor = vbGreen
    Else
        Shape1.BackColor = vbRed
    End If
    If LV <> TV Then
        ChangeV TV
    End If
    LV = TV
End If
End Sub

Public Function ChangeV(NewValue As Boolean)
Dim X As Long
If NewValue = False Then
    For X = 0 To 7
        Check1(X).Value = Check1(X + 8).Value
    Next
Else
    For X = 0 To 7
        Check1(X).Value = 0
    Next
End If
End Function
```
Damit kannst du alle 8Ports überwachen, und setzen!


wenn du das mit AVRs machen willst, schreib ne nachricht, und ich poste dann mal n code in Bascom und Microchip

Hoffe, du kannst damit ws anfangen!

Grüsse
Martin


----------



## meilon (13. Dezember 2004)

ööhm *grübel* aha *am kopf kratz*
Oder kurz gesagt: hä?
Von dem ganzen technischen habe ich jetzt nichts Verstanden. Habe in diesem Bereich nur seeehr geringe Vorkenntnisse.
Da ja nun ein Tutorial für Ampelschaltungen wegfällt, da die Bastler nun ein LOGO-Modul benutzten, wäre ich sehr erfreut über ein Tutorial, wie man an den LPT-Port einen Kasten hängen kann, mitdem man diverse Relais schalten kann. Ob nun die Weinachtsbeleuchtung, Tischlampe oder irgendeine PC-Peripherie. Einen Toaster oder so möchte ich ja nicht dranhängen 
Würde mir da jemand eins schreiben? Mit Schaltplan für Dummies und ein klein bisschen VB-Code? Wäre sehr dankbar.

mfg


----------



## PoNr (13. Dezember 2004)

Kein Thema.

Kannst du denn Schaltpläne lesen ?
Wenn ja dann hab ich einen für 8 Ports, er halt 64, 8  ist aber schnellergebaut (max. 10 min). Den VB Code kann ich dir auch geben, mit Bweispiel Programm.

MfG
PoNr
(Wenn de ICQ hast, dann Adde mich einfach)
Icq# :282-174-855


----------



## daDom (16. Dezember 2004)

Hi Jungs!

Ganz nett, was ihr da fabriziert habt 

Ich hab zufällig durch mein ITA Dasein heute eben so eine Ampelschaltung abgegeben...
Zwar ohne fahrende Auto, aber ist denke ich ganz nett :


----------



## Splasher1 (25. Februar 2005)

hm... sorry aber gibt es keine möglichkeiten den LPT port auf diese weiße anzusteuern

z.B

LPT1,15 = 1
LPT1,3=1

also einfach nur die ausgänge auf 1 oder 0 zu setzten?

Was ist der minimale code um den Ausgang vom LPT-Port auf 1 bzw 0 zu setzen`?

Also ich wär euch wirklich sehr dankbar, wenn ihr mir die 
EINFACHSTE LÖSUNG zeigt wie ich die Augänge meines LPT-Ports auf 0 bzw. 1 setzen kann.

danke


----------



## PoNr (25. Februar 2005)

Also, was heißt minimal Code ?

Du kannst das so machen aber dann musst du halt eine Prozedur schreiben, die diese Befehle umwandelt.

Also, einfach die DLL und das Modul einbinden, und dann

J = A+B+C+D+E+F+G+H
Out Port, J

Wobei dann halt a - h ein Byte enhalten.
Also minimal Code gibt es sogesehen nicht.


----------



## Splasher1 (25. Februar 2005)

wenns Dir nicht zu viel arbeit ist,
kannst du mir dann den Quelltext von
einem Programm geben
das so einfach wie möglich
mir zeigt, wie ich den LPT-Port
ansprechen kann?

danke


----------



## lifelover (25. Februar 2005)

PoNr hat gesagt.:
			
		

> Übrigens, hab ich da was vergessen.
> Man kann nicht mal 20 mA. direkt ziehen.
> Außerdem kann man mit dem TTL immer nur 1 Schaltzustand auf einmal machen.
> Mit meinem ULN, kann man 8 machen.
> ...


 Hi PoNr Hast da doch nen fertigen Quelltext & Schaltplan für ne Ampelschaltung.
Würdest mir die evtl. zur verfügung stellen und senden?
mailto:lifelover@web.de
Vielen Dank
Pablo


----------



## PoNr (26. Februar 2005)

Hi,
klar kann ich machen, aber die Ampelschaltung habe ich nicht mehr, da meine Festplatte vor kurzem kaputt gegangen ist.

Bin halt erst am Montag wieder da, deshalb werde ich dann das Programm frühestens Dienstag schicken.

Gruss PoNr


----------



## ThePuppetMaster (27. Februar 2005)

nun joar ... eigentlich ist das schon ziemlich vereinfacht  ... daher hab ich ja auch das OCX geschrieben  ... is sooo: den Port kannste nur über eine adresse ansprechen (LPT1 = 888 zum lesen und 889 zum schreiben) ... auf die adresse muste nen Byte-wert setzen (0-255) den angibtm, welche pins du auch high bzw low gesetzt haben willst! 

Kannst natürlich auch so schreiben!  


```
Outport 889,255
```

Damit haste alle pins auch High

mein ocx kann halt noch mehr, wie z.B. jeden pin seperat via Bool wert auch high bzw low, und dann das ganze für ein und ausgabe sowie für die Com-ports

Kannst das natürlich beliebig umcoden, wenn willst!
0 steht dabei für ALLE PINs LOW und 255 für ALLE PINs HIGH! ...natürlich Binäre schreibweise... 

die PortDll findest im Netz (einfach mal googln)

Greez Martin

hät ich beinahe vergessen:
Wenn wissen willst, welche adresse der port hat, kannste in der systemsteuerung nachglotzen! (START -> SYSTEMSTEUERUNG -> SYSTEM -> HARTWARE (Geräte-manager) -> ANSCHLÜSSE -> "Port wählen" -> EIGENSCHAFTEN -> RESSOURCEN ... dann I/O-Bereich z.B. bei LPT1: "378" in nen windows-rechner UNTER (HEX) eingeben, und auf "DEZIMAL" umstellen ... dann haste die Portadresse ... 

Brauchst den wissenscahftlichen rechner! (Is eigentlich der normale, nur im menü unter "Ansicht" umstellen)

Greez
Martin


----------



## Splasher1 (27. Februar 2005)

kannst du mir mal einen beispielquelltext mit allem intigriert geben?


----------



## ThePuppetMaster (27. Februar 2005)

mit allem! ... habe ich dochbereits gepostet ... must nur n bissal hoch scrollen [OCX] ...

Da brauchst du nur noch beim öffnen des Ports die bezeichnung an zu geben ... z.B. "LPT1", "LPT2" oder "COM1:9600,N,8,1" ...


```
if Port1.Open_Port("LPT1") = true then Msgbox "Port Bereit!"
```

Das OCX ist für LPT und COM kommunikation ausgelegt.


Greez
TPM


----------



## EGS1 (1. März 2005)

Hallo,
was für ein Modul wollt ihr euch denn kaufen.
Ein normales LOGO-Modul zum programmieren.
Wenn ja geht es ganz einfach mit Logischenverknüpfungen.
UNDGliedern-ODERGliedern NOR XOR und so weiter.

MfG


----------



## JackyD (1. Mai 2005)

Hab das Handbuch zu Logo gelesen, isch ziemlich leicht, ham das Programm schon lange fertig.


----------



## Jamal123 (29. September 2005)

Hallo leute,
ich habe diesen Thead gerade gefunden und der passt super zu meinem Problem / vorhaben.
Und zwar soll ich für eine art einstellungstest oder änliches eine amel bauen, 
und zwahr nicht eine X-bilibige sonder eine LED Ampel.
Diese LED-Ampel sol animiert sein, d.H. soll z.B. die Grühn Phase ein laufendes mächen darstellen.
Also als orentiungshilfe habe ich das hier: 
http://www.signalbau-huber.de/files/file/Datenblatt-Global-B-deutsch.pdf
und das bekommen:
http://www.signalbau-huber.de/files/file/Datenblatt-Global-A-deutsch.pdf
Der ganze vorgang soll über einen Pc gesteuertwerden, mittels einer software soll ich dann Visuell sowie Pracktisch an die Ampel-Schaltung geschikt werden. Die Ampel hat 16 Tackte , dacher brauche ich eine Relaiskarte die mind. 32 Kanal hatt! 
Ich dachte da eine die so 46 hat(hatt man dann noch reserve für einige andere uppdates!) 
Ich musste diese auch selber bauen, die vom pc aus gesteuert wird!

Das was ihr da schon programiert habt ist schon sehr Hilfreich um das konzept zu erstellen.
Doch wo finde ich eine Bauanleitung für eine 64-Kanal Relais-Karte?ß 4-8 findet man wie sand am meer!
und wie sollte ich die laufbewegung in der grün-phase machen ich würde euch sehr dankbar sein wenn ihr mir da ein paar tipps und codes für die software und so geben könntet.

mfg Jamal123


----------



## ET3005 (30. März 2006)

Tach Jungs

Ich bin durch Zufall auf eure Seite gestoßen, weil ich Hilfe brauche.
Es geht bei mir auch um eine Ampelschaltung, die ich für diue Schule programmieren sill, ich habe aber keine Ahnung von dem Kram. Könnte vielleicht einer von euch ein komplettes Projekt in MS Visual Basic 2005 schreiben Wir sollen Dioden an den Parallelport auf eine Platine löten uind diese mit Hilfe eines Programms über den Parallelport ansteuern. Dabei soll eine Kreuzung gemacht werden und eine einzelne Fußgängerampel ansprechen. Könnt ihr mir ein Programm dafür schicken


Ich bedanke mich im Voraus

Etienne Balvay


----------



## Shakie (30. März 2006)

*Kein Problem*

Selbstverständlich machen wir dir gerne deine Hausaufgaben. Denn dazu sind sie ja da, die Hausaufgaben. Am besten sagst du uns noch deine Adresse, dann schicken wir dir die fertig gelötete Ampelschaltung gleich mit.
Ne mal im Ernst: Wenn du ein konkretes Problem hast, dann hilft man dir hier gerne weiter. Sag doch einfach wovon genau du keine Ahnung hast. Aber mit "ich hab keine Ahnung, bitte programmiert das für mich" wirst du hier nicht weit kommen.


----------



## ET3005 (3. April 2006)

Ich habe ein Problem damit, den Parallelport direkt anzusprechen und deshalb komme ich nicht damit klar. Uns ist hier klar, dass er eine Adresse wie H378 hat, aber wir haben hier nicht die geringste Ahnung, wie man einzelne Ports anspricht. Ich habe für VB eine dll gekriegt, die inpout.dll um den Parallelport anzusprechen, und die Oberfläche zum Ansprechen von einzelnen Ports mit Checkboxen haben wir auch. Ich muss nur wissen, wie man die einzelnen Ports anspricht, den davon hat hier keiner ne Ahnung


----------



## ET3005 (3. April 2006)

ich meine von uns hier hat keiner ne Ahnung, ob ihr das könnt, weiß ich nicht. Ich bete, dass ihr das könnt, sonst hab ich ein Problem


----------



## Quattro_07 (10. Februar 2008)

Hallo,

sicher ist es jetzt komisch so ein altes Thema wieder aufzurollen, aber mich interesiert es ob man auch eine Relaiskarte von Pollin ( PC-Relaiskarte K8) ansteuern kann.

Habe jetzt mal das Probiert wie oben beschrieben wird, aber ohne erfolg. 

Habe auch das Project mal angehängt.


----------

