Pages: [1]   Go Down
Author Topic: arduino mega mit 2 zusätzlichen ftdi boards  (Read 725 times)
0 Members and 1 Guest are viewing this topic.
Offline Offline
Newbie
*
Karma: 0
Posts: 22
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

hallo,

ich habe ein neues projekt und bräuchte ein paar tips. folgender aufbau:
neurofeedbacksoftware liefert über serielle kommunikation daten an den arduino. dieser soll daten weitergeben an einen anderen rechner, an dem 2 monitore angeschlossen sind. auf dem zweiten rechner läuft processing, das die daten visualisiert.
kann ich an einen mega zwei ftdi boards an zwei weitere uarts anschliessen, diese dann an den zweiten pc? der sketch aud dem mega würde einfach nur ankommende daten auf die andere(n) seriellen schnittstellen weitergeben.   im processing sketch ( vielleicht 2 processing programme gleichzeitig) kann ich dann den einen oder den anderen
com port abfragen.
wenn ich mit einem processing programm zwei fenster gleichzeitig verwalten könnte, ist es vielleicht einfacher nur ein zusätzliches ftdi board anzuschliessen?

wichtig ist auch geschwindigkeit, der datenfluss sollte alle paar hundertstel sekunde geschehen.

danke,
michael
Logged

Offline Offline
Jr. Member
**
Karma: 0
Posts: 82
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Deine Beschreibung ist sehr unverständlich. Ich fass mal kurz zusammen, was ich verstanden habe:

Auf PC 1 läuft eine "neurofeedbacksoftware" die Daten auf der seriellen Schnittstelle an den Arduino ausgibt. Der Arduino soll die Daten an einen zweiten Rechner (PC 2) mit zwei Monitoren weitergeben. Auf dem zweiten Rechner läuft ein Programm "processing" das die Daten visualisiert. Soweit noch verständlich.

Jetzt möchtest du die Daten vom PC 1 mit zwei ftdi-Boards an den zweiten PC weitergeben. Warum denkst du du brauchst zwei?

Quote
im processing sketch ( vielleicht 2 processing programme gleichzeitig) kann ich dann den einen oder den anderen com port abfragen.

Was heißt hier "processing sketch" und "processing programme" Meinst du damit dein "processing"-Programm auf dem PC? Hier mal die Definition von Sketch:
Quote
A sketch is the name that Arduino uses for a program. It's the unit of code that is uploaded to and run on an Arduino board.

Also wie du den Com-Port abfragst musst du jedenfalls im PC 2 regeln.

Quote
wenn ich mit einem processing programm zwei fenster gleichzeitig verwalten könnte, ist es vielleicht einfacher nur ein zusätzliches ftdi board anzuschliessen?

Du musst dir irgendwas ausdenken, wie der zweite PC weis ob die Daten für Monitor 1 oder Monitor 2 sind. Ob du den Datenfluss mit dem Arduino zerlegst oder im PC 2 zerlegst ist Wurst. Also würde 1 ftdi-Board reichen. Wie viele Fenster du verwallten kannst hängt von deinem "processing"-Programm ab. Welche Programmiersprache benutzt du?

Die Frage ist wozu überhaupt der Arduino? Um zwei PCs kommunizieren zu lassen Braucht man keinen Arduino. Was du brauchst ist ein Null-Modemkabel und wenn deine PCs keine Serielle Schnittstelle haben zwei USB-RS232 Adapter (http://www.ebay.de/itm/USB-RS-232-Konverter-Kabel-RS232-Kompaktadapter-Premium-Adapter-DB-9-SAT-Update-/251106240947?pt=DE_Computing_Monitor_AV_Kabel_Adapter&hash=item3a771929b3#ht_4465wt_1397)

Zeitgemäß wäre es natürlich das ganze über Ethernet zu lösen.
Logged

AREA COLOGNE
Offline Offline
Edison Member
*
Karma: 15
Posts: 1069
I am 1 of 10 who understands binary
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Grundsätzlich ist das möglich der der MEGA ja 4 Hardware UART womit dann dein System funktionieren würde. Aber du musst mit den Daten aufpassen der Mega hat nur begrenzten Einganspuffer. In der Arduino IDE ist ein Beispiel unter Communication MultiSerialega und der macht genau das was du willst.
Gruß
Der Dani
Logged

So ist das Leben:
Manchmal bis du das Denkmal, manchmal die Taube!

Offline Offline
Newbie
*
Karma: 0
Posts: 22
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

hallo volvodani und circuit99,
danke für eure antworten.
ich will processing von processing.org, was ja sehr gut mit dem arduino zusammen geht, benutzen. mit sketch bezeichne ich das programm, welches ich geschrieben habe, um die daten zu visualisieren. mit programm meine die processing software, die ich runtergeladen habe und die exe ausführe. die exe kann ich zweimal ausführen, habe dann 2 processing programme gleichzeitig offen. in jedem kann ein unterschiedlicher sketch laufen. in jedem der programme kann ich dann die play taste drücken, um die visualisierung zu starten. ich hätte also 2 unabhängige sketche mit visualisierung laufen. in jedem dieser sketche würde ich die seriellen daten von einem anderen comport einlesen, deshalb 2 ftdi boards. z.b. sketch1 comport 1 und sketch 2 comport 2.

wenn es jedoch die möglichkeit gibt, mit einem processing sketch 2 visualisierungsfenster zu steurn, würde mir ein ftdi board langen. ich weiss aber nicht genau ob das geht und wenn ja in welcher geschwindigkeit.
weiss das jemand?

ich dachte für mich, als anfänger mit programmieren und processing wäre die einfachste möglichkeit ein arduino zu benutzen. das habe ich schon gemacht und es funktioniert.
das es sicher einfacher, besser und schneller geht, kann ich mir vorstellen aber dazu fehlen mir die fähigkeiten. deshalb wollte ich kein ethernet benutzen.

wenn ich mit dem nullmodemkabel die 2 pcs verbinde, kann ich dann problemlos von processing auf diese schnittstelle zugreifen oder muss man da viel basteln?

volvodani, habe das beispiel gesehen, ist ja ganz einfach. gibt es eine lösung für den eingangsbuffer? in bioera, der neurofeedbacksoftware, habe ich die möglichkeiten baudraten einzustellen, von 9600 bis 115200.
ist da eine möglichst hohe baudrate sinnvoll oder hängt das davon ab, wieviel code nach der serialread ausgeführt wird, bis erneut serialread ausgeführt wird?
neurofeedback ist das rückmelden von gehirnströmen, des eegs. da ist es wichtig sehr schnell den aktuellen zustand des gehirns wiederzuspiegeln.
ich will in processing mehrere werte gleichzeitig( also fast gleichzeitig) visualisieren. z.b. die höhe der alpha amplitude mit der größe eines rechtecks korrellieren, gleichzeitig theta amplitude mit der hintergrundfarbe, und und und...
ist processing dafür schnell genug? ich wollte nur einfache formen nehmen, keine komplexen berechnungen.

michael
Logged

Pages: [1]   Go Up
Jump to: