Archiv verlassen und diese Seite im Standarddesign anzeigen : LED steuern
01Detlef
04.10.2002, 17:33
hallo,
ich habe damit begonnen, ein LED an die serielle Schnittstelle anzuschließen, aber diese möchte ich jetzt noch programmieren!
Zu beginn möchte ich nur 2 Button, der eine zum Anschalten und der andere zum Ausschalten!
Dazu brauche ich jetzt die nötigen Befehle oder eine Anleitung, wo das ganze erst einmal allgemein erklärt wird!
Ich muss doch Befehle dazu haben, den Port erst zu öffnen, dann die Bytes zu senden und dann noch zu lesen, stimmt das??
Ich habe dem Entsprechendes nicht in der Such-Funktion für Delphi gefunden!
Danke Detlef
1. serielle schnittstellen in delphi wurden hier schon diskutiert ...
2. aber das prob ist, dass du hardware dafür bauen musst. kleiner tip: nimm lieber den parallelport, sofern möglich. näheres sollten wir in cb>allgemeines>hardware klären.
Felix Kaiser
04.10.2002, 20:19
~~~ Thread verschoben ~~~
Achja: Elektronisch gesehen ist Parallelport einfacher, aber sobald man Rückantworten erwartet vom Port oder benötigt, kommt man hier nur über Treiber weiter.
01Detlef
05.10.2002, 12:02
moin,
wieso ist bei meinem Vorhaben der parallele Port besser oder nur möglich, könntet ihr mir dazu eine Einführung geben(Website..) damit ich das verstehe, weil ich dafür ja was tun möchte und nicht einfach einen Code bekommen möchte und gut!!!
Muss ich Daten einlesen oder nur senden, also brauch ich einen Treiber? Ich vermute ja, weil ich doch einlesen muss ob das LED leuchtet oder nicht ????
Danke Detlef
also kleine einleitung: die serielle schnittstelle sendet daten seriell - wer hätte das gedacht - und ist zur datenübertragung entwickelt worden. damit man damit was steuern kann, muss man ein empfangsgerät bauen, dass die seriellen daten auswertet, und dann z.b. ne led anschaltet.
die parallele hingegen ist eher zum steuern gedacht. da kannst du je nach konstruktion 8 verschiedene leds mit steuern :D oder sogar mehr ... dazu musst dir nur ne platine basteln, auf der ein sogenanntes d-flipflop sitzt. das teil hat zwei eingänge: "clock" und "d". "clock" muss an die sog. "strobe"-leitung des ports angeschlossen werden, und "d" an eine der 8 datenleitungen, nämlich "d0". den ausgang namens "q" klemmst du an das mitlere beinchen eines transistors, an ein anderes klemmst du einen 300-ohm-widerstand, der an 5 volt liegt. an das übrige beinchen des transistors muss das lange bein der led, und das kurze led-bein an 0 volt (masse). jetzt kuckst du mal auf einer delphi-seite nach eine komponente zur parallelport-steuerung mit passendem treiber. wenn du das teil dann soweit eingebunden hast, legst du einfach den wert "1" an den parallelport. fertig.
aber bevor du dran rumfummelst, lern löten, lern elektronik, und vor allem lern digitaltechnik. ansonsten würde ich lieber jemanden fragen, der sowas schon gebaut hat, und ob er nicht für 10€ nocheins für dich baut. ja, so ist elektronik nunmal ... :(
01Detlef
05.10.2002, 19:25
also um die Platine mach ich mir keine Sorgen, das macht ein Kumpel. Aber ich soll halt das Programmieren und suche darüber Infos. Hat vielleicht jemand schon einen ähnlichen Code, wo ich herauslesen kann, wie man die Ports mit Delphi ansteuert?
Am Anfang wollen wir halt nur ein LED an-aus-schalten!
Danke Detlef
broker16
06.10.2002, 18:06
Hallo!
Kann ich außer Delphi noch andere Sprachen, wie zum Beispiel VISUAL BAISC. Das würde mich mal interessieren. Kennt ihr vielleicht noch websiten, die sich mit soetwas beschäftigen?
Ich danke im voraus!
@detlef: also wenn du jetzt nur irgendwie auf ports zugreifen willst, hat felix eine schön kompakte serielle komponente. damit kannst zwar nix steuern, aber du kannst mit modems und terminals kommunizieren, was auch sehr sehr interessant sein kann. für den parallelport gibt es leider nur die möglichkeit mit nem treiber. oder du probierst mal einen text-only-druckertreiber aus, mit dem du dann ascii-codes an den port schickst. wie man das unter delphi ansteuert kann ich dir jetzt net sagen (bin @work), steht aber in der delphi-help drin. musst den drucker irgendwie als textdatei ansprechen. wenn du das inner help gefunden hast, ist es kein prob mehr.
@broker: für vb gibt es die möglichkeit, eine ocx-komponente für den serial-port zu benutzen. hab aber vor ewigkeiten mit vb aufgehört (ja, ich hab was gegen basic) und darum kann ich dir leider net mehr den namen dieser ocx sagen. kann dir nur verraten, dass es eine m$-kommunikations-bibliothek war ;) für parallelport siehts sogar noch schlechter aus, weil man glaubich nichtmal so einfach auf den drucker schreiben kann, wie bei delphi ...
01Detlef
10.10.2002, 15:20
ich habe mich jetzt noch mal über die serielle Schnittstelle informiert und geguckt wie sie mit Delphi angesteuert werden kann!!
Das SIOS-Interface wird über die serielle Schnittstelle mit einzelnen Bytes angesteuert. Ein Hardware-Handshake ist nicht vorgesehen, so daß man nur die Leitungen TXD und RXD berücksichtigen muß. Auf der Software-Seite genügt eine Prozedur SendByte und eine Funktion ReadByte, jeweils zur Übertragung einzelner Bytes. Außerdem muß eine Prozedur zum Öffnen der Schnittstelle mit den vorgegebenen Parametern (19200,N,8,1) vorhanden sein. Prinzipiell kann man in Delphi Windows-API-Aufrufe zur Ansteuerung der Schnittstellen nutzen, dies ist jedoch nicht ganz einfach.
Was sagt ihr zu dieser Möglichkeit? Was jeißt TXD und RXD?
Detlef
01Detlef
10.10.2002, 15:34
hallo,
ich schon wieder,
dann habe ich noch was über DLLs gesehen, wie kann das für Hardwareansteuerung verwendet werden, ich kenne das nur als
"Server", in dem oft vorkommende Funktionen oder.. hineinkönnen?
Detlef
debuGGer
10.10.2002, 15:56
Original geschrieben von 01Detlef
Was jeißt TXD und RXD?
TXD --> Sendedaten
RXD --> Empfangsdaten
Original geschrieben von 01Detlef
... Auf der Software-Seite genügt eine Prozedur SendByte und eine Funktion ReadByte, jeweils zur Übertragung einzelner Bytes. Außerdem muß eine Prozedur zum Öffnen der Schnittstelle mit den vorgegebenen Parametern (19200,N,8,1) vorhanden sein. ...
Detlef
das hätte zufolge, dass du ununterbrochen den wert FFh an den port schicken müsstest, dabei würde der restliche computer fast lamgelegt sein ... darum: entweder die parallelport-methode, oder ein empfangsgerät bauen ;) achja ... ne dritte möglichkeit: du nimmst einen microcontroller, den du entsprechend programmierst ... wenn das signal x ankommt, schalte die led an port n an ... das wär die beste möglichkeit, aber dann müsstest du echt bücher drüber lesen.
01Detlef
10.10.2002, 17:16
ja, das möchte ich gerne tun, welche Bücher könnt ihr mir emphehlen?
ich wollte das mit der Ampel ja zum einstieg machen, aber ich wusste nicht, dass das so kompliziert ist!
Danke
ach jetzt ist es ne ganze ampel? *g*
nunja, empfehlen kann ich keine bücher, weil ich alles inner schule gelernt hab. deshalb hier ein kleiner lehrplan, falls du es wirklich ernst meinst. also wegen folgenden themen musst du dich der reihenfolge nach informieren:
1. binär- und hexadezimal-system verstehen
2. digitaltechnik & logikgatter (high & low, and & or, usw.)
3. bausteine (schieberegister, serialport-bausteine, usw.)
was ich dir noch empfehlen kann, ist der microcontroller-kurs aus der elektor von anfang diesen jahres, da sind fast alle grundlagen drin, die du für einen einstieg in die microprozessor-gesteuerte welt brauchst ;)
wenne nur n bissl mit der elektronik innem computer rumspielen willst dann saug dir locad... is nen altes schulprog... damit kannste dir eigene platinen ram bausteine oder taschenrechner bauen... is auch nicht gerade schwehr... musst nur dahinter kommen...
kann dir dann auch nen paar schaltpläne für locad geben....
Kampfwurst
10.10.2004, 17:04
ja, locad ist zu ernzwecken sehr gut geeignet... habe ich auch mir gearbeitet... kann man (theoretisch) n ganzen prozessor mit aufbauen... aber mir wurde es langweilig... also selbst löten und selbst was basteln, wo am ende ne echte LED leuchtet ist sicher weitaus interessanter ^^ ich hab nur schiss, dass mein mainboard danach nicht mehr zu gebrauchen ist...
Marek Swierzy
20.10.2004, 11:02
Hier,
ich habe dieses Thema nicht ganz mitverfolgt.
Aber keine Angst wegen deinem Motherboard.
Lad dir mal das Datenblatt von einem Max232 herunter.
Benutze diesen als treiber der regelt die +- 12 Volt runter auf 5 Volt.
Dann nimmst du noch einen Vorwiderstand und gut.
Kampfwurst
20.10.2004, 13:37
äähm... aha :) danke erstmal :)
gibts ne genauere Beschreibung? also ich bin wie gesagt absoluter neuling.... oder sowas wie ein tutorial für den einstieg?
Marek Swierzy
23.10.2004, 22:12
für was ?
Lad dir mal das Datenblatt herunter, sieh es dir an.
Wenn du fragen hast; meld dich mal ;-)
Kampfwurst
24.10.2004, 13:16
sorry, aber wo bekomm ich so n datenblatt? ^^ und wovon? am besten was enifaches ^^
Marek Swierzy
24.10.2004, 14:20
sorry, aber wo bekomm ich so n datenblatt? ^^ und wovon? am besten was enifaches ^^
http://pdfserv.maxim-ic.com/en/ds/MAX220-MAX249.pdf
Dann guckst du beim MAX232
vBulletin® v3.8.6, Copyright ©2000-2012, Jelsoft Enterprises Ltd.