PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Absoluter Anfänger



Lisa12
29.03.2010, 12:02
Hallo,

ich lerne jetzt ja grad fleißig Java in der Schule bin auch schon ziemlich weit gekommen.
Nun habe ich mir blöderweise in den Kopf gesetzt ein externes Realie mit Java anzusprechen. Wie realisiert man so etwas am besten? Mit der seriellen Schnittelle habe ich mir sagen lassen.
Mein Notebook hat keine Serielle-Schnittstelle. Also bin ich in den elektro Laden meines Vertrauens gegangen und habe mir einen Adapter dafür gekauft. Die Treibersoftware ist auch schon installiert.

Aber:
JETZT GOOGLE ICH HIER SCHON ZWEI TAGE UND BEKOMM ES TROTZTDEM NICHT ZUM LAUFEN ](*,)

Ich habe immer noch keine Ahnung wie ich es zum laufen bekommen soll.
Eine LED zum leuchten zu bringen würde mir ja schon für den anfang reichen.

Und ja ich bin ein Anfänger, wer jetzt sagt "Mädchen und Technik " kriegt eins auf die Mütze. So.
Es wäre echt nett wenn ihr mir helfen könntet. Bitte Bitte Bitte. [-o<
Ich würde mich über Antworten freuen.

Lisa

bnitram
29.03.2010, 12:15
An einem Roboter?
Wenn ja,welcher Roboter?

Lisa12
29.03.2010, 12:24
erstmal danke das jemand geantwortet hat :-)
an keinem fertig Bausatz Roboter. Eigenbau ich habe mir einfach mit meinem bisschen wissen einen kleinen naja.. fast roboter zusammen gebaut zumindest hat er Räder und einen Motor. Und den versuche ich jetzt vom Notebook mit java über den Com- Port anzusteuern.

Ich habe keinen Microprozessor oder so ähnlich. Alles soll über Realies vom Notebook direkt gesteuert werden.

Lisa

bnitram
29.03.2010, 12:27
OK
da kann ich dir leider nicht helfen

Lisa12
29.03.2010, 12:51
kennt sich jemand anders in diesem Gebiet aus?

p_mork
29.03.2010, 13:27
Hallo Lisa,

auf http://www.mikrocontroller.net/articles/Serielle_Schnittstelle_unter_Java ist genau beschrieben, wie man die serielle Schnittstelle ansteuert. Siehe auch die offizielle Doku von SUN auf http://java.sun.com/products/javacomm/index.jsp

MfG Mark

Thomas$
29.03.2010, 16:50
Hallo
"Mädchen und Technik " kann man nur befürworten
mit der com wirst du aber kein relai direkt ansteuern du musst das in einen paralell ausgang umwandeln.
bei den linuxtagen hab ich sowas gesehen undzwar fast überall
usb serial wandler und dann einen seriall ltp1 wandler mit einem At90s2313
ein einfache lösung wäre jetzt z.B. mit ein arduino relativ einfach zu programiern
hat das notbook eine lpt1?

sonst fällt mir noch das usb-avr-lab vom christian ein

Neutro
29.03.2010, 18:57
Ein Relais kann man auch mit dem LPT Port nicht direkt ansteuern (aber wenn dein Laptop keinen COM Port hat wird er wohl auch keinen LPT haben).
Du wirst immer Treiber in Form von Transistoren oder FET´s benötigen. Um per ComPort was anzusteuern brauchst du ja einen "Empfänger" der die Zeichen die du sendest versteht und weis was er bei bestimmten Zeichen für Aktionen ausführen soll. Praktischerweise haben fast alle AVR Controller eine Com Schnittstelle. Den Controller musst du dann aber entsprechend programmieren, also müsstest du dich mit der Materie noch etwas auseinandersetzen.
Bei der Java programmierung kann ich leider nicht weiterhelfen.
Hier noch ein Link der dir vielleicht weiterhilft :
http://www.rn-wissen.de/index.php/Windows_Programm_zum_Steuern_des_AVR%27s

Gruß

Neutro

Lisa12
30.03.2010, 11:28
Danke ihr drei.

Ich glaube ich habe noch nicht genug geschildert was ich eigentlich will.
Über java soll direkt auf eine Platine zugegriffen werden.
Ich habe noch nicht geschnallt welche Signale der Com Port denn nun ausgibt.:-s Wie funktioniert das?

Was ist der Unterschied zwischen Com und LPT?
Tschuldigung für die doofen Fragen.

Lisa

Furay
30.03.2010, 12:33
Hallo Lisa,

Mit Java kenn ich mich leider auch nicht aus, aber dafür emfehle ich dir auch in Java Forums zu schauen. Ich denke jedoch mal du wirst eine Bibliothek ansprechen müssen um Signale da drüber zu jagen.

Was bei einem Com-Port rauskommt sind leider einzenen Signal. Es werden Datenpacket Seriell übertragen(Serielle_Schnittstelle). Eine verwendetes Protokoll dafür ist zum beispiele das RS232.
Um davon dann eine brauchbares Signal (Parallel) zu bekommen wirste eine µC brauchen.

Jedoch gibts es solche Module auch schon fertig hermal ein Link:
http://www.ftdichip.com/Products/FTEvaluationKits.htm

LTP hingegen schicke die Daten über mehre Leitungen (Parallele-Schnittstelle).
Für dein vorhaben wäre dies die bessere Variante, da du die kommenden Signale 1:1 verwenden kannst.

Mehr infos über COM und LTP:
COM: http://de.wikipedia.org/wiki/Serielle_Schnittstelle
LPT: http://de.wikipedia.org/wiki/Parallele_Schnittstelle

Grüße

Lisa12
30.03.2010, 13:03
du bist der beste Furay :-)
Und beim LPT Port kann ich das Signal wirklich 1:1 übernehmen? Liegt an den einzelnen Punkten eine Spannung an?

Lisa

Thomas$
30.03.2010, 14:07
inpout.dll wirst du sicher nutzen müssen.
was hast du an hardware da? was für relais? wenn du noch keine hast würd ich dir raten nicht die klappertechnik zu nutzen sondern eine h-brücke bzw eine doppel h-brück (l298 48V 2A)
zum schnittstellen problem die lpt1 liefert zu wenig strom um ein relai zuschalten man braucht da noch einen extra transitor treiber stufe

Lisa12
30.03.2010, 15:01
Ich besitze ja leider keinen LPT Port soll ich mir also einen dieser Adapter kaufen? http://www.amazon.de/2direct-Adapter-Parallel-Konverter-USB-parallel/dp/B000QGCJV6/ref=pd_bxgy_ce_img_b

Gibt es dann noch irgendwelche Risiken oder kann ich dann problemlos alles ausprobieren?
Ich habe Windows 7. Gibt es die inpout.dll für Windows 7?
Ok dann werde ich keine Relais nutzen.
Gibt es denn irgendwo eine Beispiel Schaltung oder ein Tutorial wie ich denn z.b eine LED an den LPT Port anschließe?
@Fuary Das sind µC Module oder?(Module die Signale des Com-Port umwandeln)

Eine einfache Lösung wie ein Modul das ich direkt in Java ansprechen kann wäre auch noch eine interessante Möglichkeit. Bin ich dann an Bestimmte Hardware gebunden oder kann ich auch eigene Hardware verwenden?

Lisa

Thomas$
30.03.2010, 15:07
die adapter machen leider keine echte lpt1 sonder macht meist nur das drucker protokoll wenn du sooderso etwas kaufen musst würd ich dir den arduino oder das usbavrlab. und dann eventuell noch ein steckbrett dazu zum probiern
PIN--- widerstand (200ohm)---(+)Led(-)----- GND

Dirk123
30.03.2010, 15:54
Hallo!
Die serielle Schnittstelle verfügt über das RTS-Signal (Ready-To-Send), welches man auch per Software direkt ansteuern kann. Das ist dann ein Pin des seriellen Kabels, welches dann High oder Low-Pegel annimmt.
Am Besten, Du lädst Dir mal das Programm HTerm runter (das ist freie Software). Dort kann man über einen Knopf das RTS-Signal toggeln. Dann kannst Du messen, welche Pegel auf der seriellen rauskommen. Ich glaube, RS232 ist mit +-12V-Pegeln.
Und wenn das klappt, musst Du nur noch ein Javaprogramm soweit bringen, RTS zu setzen :-)
Allerdings wirst du damit das Relais nicht direkt schalten können, da die serielle Schnittstelle nicht genug Strom liefert. Dafür wirst Du einen Transistor verwenden müssen.

Grüße,
Dirk

Thomas$
30.03.2010, 15:56
aber wenn es nach dirks beschreibung aufgebaut wird nehm andere widerstands wert sowas wie 1kohm oder so

nomad
31.03.2010, 08:39
hi lisa
hab auch einen vorschlag, und sollte unter windows 7 funzzen.
von parallax.com gibts den basic-stamp + board, ist nicht teuer
das board wird mit usb-kabel geliefert, es gibt kits da ist die software + hardware dabei

du hast dann 8 pins zur verfuegung, kannst damit led schalten, und im buch gibts auch
hinweise fuer die ansteuerung von kleinen elektromotoren ohne relais

vorteile, du musst dich nicht um die ansteuerung der rs232-schnittstelle kuemmern.
es gibt ein sehr grosses und gute basic-stamp forum mit vielen code-beispielen.
ich hab mir mal den katalog angeschaut
- Basic Stamp 1 Starter Kit mit Buch und Kabel und basic-stamp (microcontroller)
US$ 59.99 artikel-no. 27205

also ich mach hier keine werbung fuer parallax, aber fuer einen anfaenger find ich
die kombination gut

bitte lass die finger von der LPT-schnittstelle: wenn du da was falsch machst hast du
die schnittstelle ins nirawana gebracht.

gruss nomad

shedepe
31.03.2010, 13:15
Wenn wir schon bei Schnittstellenkarten sind:
http://www.conrad.de/goto.php?artikel=191003
diese hier wäre bestimmt auch eine Alternative zu der von Parallax. Man muss halt wissen wie man DLLs in Java verwendet.

Lisa12
31.03.2010, 13:20
@Dirk durch den fehlenden und nur schlecht emulierbaren LPT-Port werde ich auf diese Methode verzichten. Klingt sowieso sehr kompliziert, aber trotzdem danke :-)

@nomad Ja, ich glaube ich werde eine Plattform nutzen wie basic-stamp, arduino oder das usbavrlab. Mich hat arduino sehr fasziniert.
http://nexno.blogspot.com/2010/02/update-on-that-eee-robot.html

Welche Erfahrungen habt ihr damit gemacht? Ist es möglich den arduino in Java zu programmieren oder ist C unbedingt erforderlich?

Finde es toll das ihr immer noch antwortet :-)

Lisa

Lisa12
31.03.2010, 13:22
@shedepe oh, hab deinen Eintrag gar nicht mehr gelesen, werde mir dass auch mal in Betracht ziehen.

Thomas$
31.03.2010, 14:33
ich hab mich bevor ich den arduino gehabt hatte nur basic programiert und dann aber mit dem arduino lernt man c eigentlich ziemlich schnell.
den arduino bekommt man auch mit relativ wenig vorkenntnis zum laufen durch die gleich mitgelieferten beispielen nur ist der arduino alleine ziemlich unpraktisch ein steckbrett oder platine mit stiftleisten wären schon nützlich
fürs üben und rausfinden wie was geht ist steckbrett ideal und den richtigen aufbau mit platine dann nur wenn man weis wie es klappt oder man sich ziemlich sicher ist. ich hab den arduino http://www.tinkersoup.de/ dort bestellt glaub am übernächsten werktag wars da. find es genial das du gerade nex blog erwischt hast
durch den arduino hast du dann eine virtuelle com die steuerst du genauso wie eine echte com

Furay
01.04.2010, 06:34
@Lisa: µC sind Frei Programmierbare Chips. Mit denen kannst du alles machen. Jede Spieleconsolle besitz einen(oder Mehrer), jedes Handys usw. Du musst sie halt nur programmieren ;-)

Da muss ich meine Vorredner recht geben. LPT ist zwar schön und gut aber wenn du da etwas falsch machst ist diese auch gleich im jenseits.

Hab mich gerade etwas über den arduino schlau gemacht und muss sagen der ist besser als das Velleman K8055D (also die alternative die shedepe meinte) Ich hab mit diesem schon so einiges gemacht und war nicht wirklich begeistert von den möglichkeite das arduino bietet dir im gegensatz mehr.

Beiden haben den vorteil das es sie auch als USB Version gibt mit einem Treiber dazu, somit sparste es dir eine Schnittstelle zu schreiben. Kann es nur vom K8055D sagen, da ist es ein Kindespiel signale zu bekommen und zu senden.

Lisa12
01.04.2010, 10:43
Ich werde mir jetzt auch mal ein arduino hohlen.
Dann gibts natürlich wieder was von mir zu hören :-)

Lisa

BasicStampUs
20.04.2010, 15:35
Hallo Lisa,

ich habe die Beiträge hier eigentlich nur als Besucher mal gelesen, wollte aber auch kurz etwas beitragen:

Die BasicStamp ist eigentlich genau das Richtige für Dich in diesem Fall. Effektiv brauchst Du für das kleine Ding nicht mal ein Board kaufen. Einfach das "IC", also die Stamp mit auf Deine Platine setzen, ein serielles Kabel basteln (z.b. alte Maus ausschlachten) und direkt verbinden.
Damit kannst Du direkt auf die BasicStamp zugreifen. zugegeben, Du mußt das Ding auch (etwas) programmieren, bevor Du mit deinem JAVA-Prog direkt über die serielle Schnittstelle darauf zugreifen kannst, aber dazu brauchst du keine extra Hardware und die Programmiersoftware gibt´s bei Parallax kostenlos.

Die BasicStamp ist als Schnittstelle für Hardwaresteuerungen kaum zu schlagen ! Ich selbst bin Modellbauer und nutze einen Rechner aus 8 (!!!) BasicStamps um Robot-Modellschiffe (incl. Navigation und solchen Dingen) über einen PDA per WLAN zu steuern...
Ich kann Dir echt nur empfehlen die Basic Stamp zu nutzen, besonders weil -wie ja schon mal gesagt wurde- ziemlich geniale Dokus und Beispielprojekte kostenlos zur Verfügung stehen.
CU !