PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Seriell/Parallel Port pins ansteuern



Jada
26.12.2010, 17:49
Hallo,
ich habe eine idee, die ich versuchen möchte zu verwirklichen.
Ich möchte ein Notebook als "Basis" nehmen. An den Seriellen oder Parrallelen port ein Microcontroller dranhämgen, mir schwebt im moment der atmel mega32 vor. Jeder Pin des Ports kommt wieder an ein pin des Microcontrollers.

Bis dahin ist das kein Problem. Jetzt kommt meine idee und gleichzeitig mein problem. Ich möchte an das Notebook ne kamera hängen die z.B ein Hinderniss erkännt. Das bekomme ich hin (irgendwie). Nun möchte ich, wenn das Hinderniss auf der linken seite ist, dass dann z.B port 1 und 3 vom Port des Rechners angesteuert werden, damit dies der microcontroller ausliest und den roboter rechts um das hinderniss fahren lässt.

Hat jemand ne idee wie ich das Programmieren kann?
Ich kann ein bisschen vb deswegen möchte ich am liebsten sowas in vb programmieren.
Das Programm für den Microcontroller bekomme ich hin jedoch das Programm für den Rechner habe ich ein Problem (jeden pin des ports beim rechner ansteuern)
MfG

Andun
26.12.2010, 18:19
Moin

Also jeden einzelnen Pin eines seriellen oder parallelen Ports kann man zwar theoretisch, würde ich aber auf jeden Fall vermeiden!

Am einfachsten nutzt du die Ports so, wie sie vorgesehen sind:

Du Computerprogramm schreibt einfach per UART "Hinderniss rechts" und dein µC liest diese Nachricht wieder aus und arbeitet dementsprechend weiter. Das spar dir im Endeffekt Pins und du kannst auf vorgefertigte Skripte zurückgreifen.

Jada
26.12.2010, 20:12
und wie geht das?
Ich befasse mich noch nicht allzulange mit dieser materie.

Richard
26.12.2010, 21:53
und wie geht das?
Ich befasse mich noch nicht allzulange mit dieser materie.

Dann solltest Du mit vb möglichst kleine Testprogramme schreiben und mit einem Messgerät überprüfen ob der gewünschte Pin schaltet.

Früher unter DOS war das sehr einfach, seitdem Microschrott das übernommen hat blicke ich nicht mehr durch b.z.w. habe ich da auch nicht mehr Lust zu.:-(

Es gibt für CNC Maschien eine Linux Software, da sollte auch der quellcode offen sein. Anschauen und "abkupfern".

Gruß Richard

Feuerring
27.12.2010, 00:15
Hallo Jada,

schau dir mal die IOWarriors von CodeMercs an ...

genau das richtige um mit einem PC was zu steuern ...

http://www.codemercs.com

Gruss Ralf

Jada
27.12.2010, 09:44
Danke für eure antworten, es weiß aber keiner von euch wie ich die einzelne pins der serielle oder parallelen schnittstelle in vb programmiere oder?

Richard
27.12.2010, 10:59
Danke für eure antworten, es weiß aber keiner von euch wie ich die einzelne pins der serielle oder parallelen schnittstelle in vb programmiere oder?

Die Serielle eher in Verbindung mit einem Schieberegister, Seriell in Parallel out. Bei/für VB
gibt es (glaube ich) extra dll's mit denen es möglich ist auf die Hardware Register der Schnittellen zu zugreifen. Das wäre ein VB Forum die nächste Wahl. :-)

Gruß Richard

manu418
27.12.2010, 12:19
Hallo,
also mit FreeBasic ist es kein Problem, den Parallelport zu steuern. Man kann sowohl bis zu 12 Ausgänge simpel schalten und 4 Eingänge abfragen (einige Ausgänge kann man auch als Eingänge verwenden). So kann man schön eine Schrittmotrensteuerung lösen (auf ganz einfache Art - jeder Pol des Steppers bekommt über eine entsprechende Verstärkung einen Ausgang zugewiesen - ohne ICs).

MFG Manuel

Jada
27.12.2010, 13:06
Danke manu418, könntest du mir villeicht bei dem quellcode in visualbasic helfen?
Wäre voll nett

manu418
27.12.2010, 13:13
Hallo,
VBasic kenne ich nicht, aber in FreeBasic könnte ich dir behilflich sein ;-) . Ist echt sehr einfach, da die Pins anzusteuern.

MFG Manuel

Jada
27.12.2010, 13:40
ok, könntest du mir dann in freebasic etwas helfen um die einzelnen pins anzusteuern?

manu418
27.12.2010, 13:44
Hallo,
ja klar, lade es dir mal herunter und dann sehen wir weiter. Kannst dir auch schonmal das Binärsystem aneignen, das braucht man dazu nämlich.

MFG Manuel

Jada
27.12.2010, 13:54
hab es schon runtergeladen und installiert
Binärsystem????
0001
0011
0111
1111
So???

manu418
27.12.2010, 14:03
Hallo,
gut. Der Befehl, um die ersten 8 Ausgänge der parallen Schnittstelle anzusteuern, lautet

Out 888, x

Für x setzt du beispielsweise 1, 2, 4, 8, 16, 32, 64, 128 ein. Insgesamt 8 Zahlen für 8 Ausgänge. Durch "mischen" der Zahlen kannst du natürlcih auch mehrere Ausgänge gleichzeitig schalten. Welche diese Ausgänge sind, kannst du dir hier anschauen: http://www.cncplayer.de/main/hlptorg.gif.

Rot sind die Ausgänge.
Schwarz ist Masse.
Blau sind zusätzliche Ausgänge (Anzusteuern mit Out 890, x)
Grün sind die Eingänge (Abfragen mit x = INP (889) and 888)

MFG Manuel

Jada
27.12.2010, 14:09
Danke das du dir so viel mühe gibst.

Das heißt ich mache ne formanwendung, packe dadrauf nen button und schreibe in den Programmcode "out 888,1"
und dann ist pin 1 geschaltet oder?

manu418
27.12.2010, 14:21
Hallo,
du tippst einfach in das große weiße Feld ein "Out 888, 1" von mir aus. Dann drückst du F5, ein kleiner Schwarzer Kasten erscheint kurz und Out 888, 1 ist geschaltet ;-) . Nix Formanwendung. Einfach eintippen. Sicher, dass du alle nötigen Komponenten für FreeBasic runtergeladen hast? Schau mal hier: http://www.freebasic-portal.de/tutorials/was-man-fuer-fb-braucht-3.html. Da steht alles, was man braucht, damit das gut läuft.

MFG Manuel

Jada
27.12.2010, 14:27
kann man das nicht auch mit ner konsolenanwendung irgendwie machen?

Jada
27.12.2010, 14:34
sorry, muss mich korrigieren ich meinte mit ner formanwendung?

manu418
27.12.2010, 14:58
Hallo,
weiß nicht genau was du meinst, habe dir mal ein primitives Programm zum Steuern der Ports geschrieben.

MFG Manuel

hagbart06
27.12.2010, 14:58
Mit Sicherheit, ich kann dir nur nicht sagen wie es in Vbasic oder Freebasic geht. Ich programmiere gerade eine Software mit Delphi, die eine CNC Fräse über die serielle Schnittstelle steuert. Dabei denke ich mir, wenn du schon Probleme hast, auf die Schnittstelle zu zugreifen, dann wird das Auswerten des Kamerabildes noch viel mehr Probleme bereiten. Aber vielleicht hilft die die Seite erst mal im Bezug auf die Schnittstelle: http://www.aaroncake.net/electronics/vblpt.htm

manu418
01.01.2011, 09:10
Hallo,
und, hat es funktioniert, Jada?