Forum: Mikrocontroller und Digitale Elektronik USB-I2C und CMPS03


von R. T. (rt70)


Lesenswert?

Hallo!

Ein Bekannter möchte einen elektronischen Kompass für USB.
Fertig gibt es keine Geräte - also bleiben nur noch Module.

Also habe ich mir folgendes zugelegt:
USB zu I2C Adaptermodul
http://www.roboter-teile.de/Shop/themes/kategorie/detail.php?artikelid=102&source=2
und das Kompassmodul CMPS03
http://www.roboter-teile.de/Shop/themes/kategorie/detail.php?artikelid=11&source=2

Also beides zusammengesteckt (I2C-Bus) und... Nix.
Eigentlich klar. Will der USB-I2C doch wissen, was wo ab geht und das 
Kompassmodul will auch wissen, was es machen soll...

Ich kenne mich in BASCOM und VB etwas aus.
Hat jemand einen Lösungsvorschlag, wie ich die Daten aus dem Kompass 
über den virtuellen COM-Port abfrage?
Erst mal zum testen in Windows, später unter Linux.
Soweit ich weiß, fragt seine Navi-Software (Linux) nach einem 2. 
Com-Port für den Kompass...

von ROFL (Gast)


Lesenswert?

>Fertig gibt es keine Geräte

Unsinn.
Gib in g**gle "digital compass usb" ein und du findest z.B.:

http://www.ocean-server.com/compass.html

http://news.thomasnet.com/fullstory/521139

http://eepn.com/Locator/Products/ArticleID/34986/34986.html

von R. T. (rt70)


Lesenswert?

Naja - zumindest hatte ich teilweise recht:
gibt es in Deutschland nicht und zum bezahlbaren Preis!
3D ist sehr interessant für Modellbau (Heli und Anfänger) aber in diesem 
Fall over sized...

von R. T. (rt70)


Lesenswert?

Oder Plan B:

Ich habe hier noch einen ATMEL AT-MEGA128 zu liegen.
Mit dem werde ich mal versuchen, einpaar Daten aus dem Kompass zu 
saugen.
Ich muss zugeben, das ist das 1. Mal, dass ich mich mit dem I2C Bus 
beschäftige (muss).

Ich muss dem:
1. ein Startbit senden
2. die Moduladresse (0xC0) mit gelöschtem read/write und ack bit
3. Registernummer (2,3) als Wort 0-3599
4. Nach Wiederholtem Startbit wird nochmals die Moduladresse mit 
gesetztem r/w bit (0xc1) übertragen
5. Register byte-weise lesen
6. wiederholtes lesen (16bit Register) wird vom Host über das ACK Bit 
gesteuert
7. bei 16bit Registern wird das high-Byte zuerst ausgegeben.

Ich hab es mal sinngemäß aus der Anleitung abgeschrieben.

Kann mir das jemand "übersetzen"?
Vielleicht in BASCOM ;-)

von R. T. (rt70)


Lesenswert?

Hmmm, schön.
Mit dem Atmel läuft es.
Dank:
http://www.roboternetz.de/wissen/index.php/Bascom_und_Kompass_CMPS03

Mit Anpassung der Ports (logisch).

Aber wie soll ich jetzt über den COM(USB)-Port solche Befehle senden 
(empfangen)?

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.