Pages: [1]   Go Down
Author Topic: Einsteigerfrage zu ftd2xx.dll  (Read 464 times)
0 Members and 1 Guest are viewing this topic.
Offline Offline
Newbie
*
Karma: 0
Posts: 5
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset


Hallo an das Forum,

ich bin Anfänger und habe natürlich einige Fragen zum neuen Arduino.

Vorab meine “Hardware”:
1 x Arduino Mega 2560 R2
1 x Ethernet Shield mit SD-Karten Einschub
1 x Anfängerset mit div. elektronischen Bauteilen
(alles von W****ot”)

Software:
Win 7 32bit
Arduino 1.0

Ich möchte mit dem Arduino 3 Lichtschranken und 6 Handtaster abfragen. Die entsprechenden Impulse lese ich zur Zeit über die Digitalports 31 - 39 in der Loop-Schleife aus. Den genauen Zeitpunkt erfasse ich über millis(). Dieser wird dann über den seriellen-Port an den PC übertragen. Tastennummer und Zeitpunkt werden gleichzeitig auf der SD-Card zur späteren Auswertung gespeichert. Siehe auch anhängenden, bereits lauffähigen, “Grob-Script”. (Script ist leider etwas länger.) Habt bitte etwas Nachsicht, es ist mein erstes "C-Programm".

Leider dauert die Übertragung über den seriellen Port für “meine Verhältnisse” ziemlich lange. Ich habe gelesen, dass man den FTDI-Chip (ist der überhaupt in meinem Arduino verbaut?) auch über die ftd2xx.dll direkt ansteuern kann. Abfragebeispiele in VB6 finde ich auch auf den FTDI-Seiten. Leider kann ich nichts finden, wie ich den Arduino programmieren muss. Wird der ftd2xx.dll Treiber eigentlich mit der Arduino-IDE Installation mit installiert?

Besonders würde mich interessen, ob die direkte Ansteuerung wirklich schneller ist. Weiterhin möchte bei meinem Programmstart feststellen können, ob ein Arduino bereits angeschlossen ist. Eine Abfrage aller Comports am Rechner möchte ich eigentlich vermeiden.

Falls jemand eine bessere Lösungsmöglichkeit für das Projekt sieht oder wie die Daten schneller an den Rechner zu übertragen sind, bin ich für jeden Tipp und Hinweis dankbar. Auch für Hinweise über Fehler oder Verbesserungsmöglichkeiten in meinem Script würde ich mich freuen. Sicher werdet Ihr einige "Anfängerfehler" finden. Nur zu ....

Vorab vielen Dank für Eure Antworten und Hinweise.


* ButtonTestmitSD.ino (10.06 KB - downloaded 7 times.)
* ButtonTestmitSD.ino (10.06 KB - downloaded 2 times.)
* ButtonTestmitSD.ino (10.06 KB - downloaded 2 times.)
Logged

Forum Moderator
BZ (I)
Offline Offline
Brattain Member
*****
Karma: 251
Posts: 21272
+39 349 2158303
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Der Arduino Mega 2560 hat keinen FTDI-Chip, das Interface wird durch einen programmierten ATmega8U2 (beim R3 einen ATmega16U2) realisiert.
Du kannst die Übertragungsgeschwindgkeit noch verdoppeln:
Serial.begin(115200);
Du kannst die SD-Karte in ein Kartenlesegerät stecken und die Daten so schneller übertragen.

Grüße Uwe
« Last Edit: February 14, 2012, 01:30:30 pm by uwefed » Logged

0
Offline Offline
Faraday Member
**
Karma: 23
Posts: 3470
20 LEDs are enough
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Kannst Du "ziemlich lange" in Zahlen ausdrücken?
Logged

Check out my experiments http://blog.blinkenlight.net

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


Vielen Dank für Eure schnellen Rückmails,

kein FDTI-Chip -> keine Umgewöhnung gegenüber Serial ;-)

Serial.begin(115200) hatte ich auch schon ausprobiert.  Leider hatte ich hiermit noch einige Protokollfehler. Daran muss ich im Empfangs- und Sendeprotokoll wohl noch arbeiten.

Die SD-Card dient eigentlich  nur zur Sicherung bei einem Stromausfall des Rechners. Solange der Arduino läuft (evtl. über Batterie), werden die eingehenden Daten gesichert. In diesem "Notfall" sollen dann später die Daten über Netzwerk oder Serial ausgelesen werden können. Hierzu muss ich mich noch mit der "Umschaltung" zwischen SD-Card und Ethernet-Shield beschäftigen.

Ich habe zur Zeit Übermittlungszeiten zwischen 10 - 20 Millisekunden und die Hoffnung diese evtl. noch verkürzen zu können. Mein Testaufbau mit den "kleinen Spielzeugtastern" ist wahrscheinlich auch noch nicht optimal.

Gibt es denn evtl. eine Lösung für das "Vorhandensein" des Arduino. Kann man evtl. in der Registry das "An- und Ausstecken" des Arduino prüfen?

Logged

Pages: [1]   Go Up
Jump to: