RoboPro I2C-Treiber Sammlung (I2C Driver Collection)
Forumsregeln
Bitte beachte die Forumsregeln!
Bitte beachte die Forumsregeln!
Re: RoboPro I2C-Treiber Sammlung (I2C Driver Collection)
Hallo thkais,
kann man diese schönen TFT-Displays auch über Knobloch GmbH beziehen? Wenn ja, sind auch Preise verfügbar?
Viele Grüße
Volker-James
kann man diese schönen TFT-Displays auch über Knobloch GmbH beziehen? Wenn ja, sind auch Preise verfügbar?
Viele Grüße
Volker-James
-
- Beiträge: 42
- Registriert: 26 Jan 2011, 22:12
- Wohnort: Erlangen
Re: RoboPro I2C Drvier (rgb-LED BlinkM) - Problem
Hallo zusammen,
ich habe vor einigen Wochen für meinen Sohn das rgb-LED-Modul "BlinkM" erstanden:
http://www.watterott.com/de/BlinkM-I2C-RGB-LED.
Im Online-Betrieb funktioniert das Modul prima - im Download-Modus bleibt sowohl das Programm aus der RoboPro-Bibliothek als auch eigene Versuche oft schon nach den ersten Befehlen (Stop Script, Set Color Black,...) stecken. Manchmal läuft es auch weiter und es werden beispielsweise einige Farbwechsel abgearbeitet, aber irgendwann ist leider immer Schluss. Auch ein probeweises Ändern der I2C-Adresse oder andere hatte nichts geändert.
Im Online-Betrieb hatte ich ein oder zweimal einen "Aufhänger", konnte dieses Verhalten jedoch nicht reproduzieren.
Kennt jemand diese Probleme und/oder hat eine Idee, wie ich diese beheben könnte?
Danke für eine Antwort im Voraus!
ich habe vor einigen Wochen für meinen Sohn das rgb-LED-Modul "BlinkM" erstanden:
http://www.watterott.com/de/BlinkM-I2C-RGB-LED.
Im Online-Betrieb funktioniert das Modul prima - im Download-Modus bleibt sowohl das Programm aus der RoboPro-Bibliothek als auch eigene Versuche oft schon nach den ersten Befehlen (Stop Script, Set Color Black,...) stecken. Manchmal läuft es auch weiter und es werden beispielsweise einige Farbwechsel abgearbeitet, aber irgendwann ist leider immer Schluss. Auch ein probeweises Ändern der I2C-Adresse oder andere hatte nichts geändert.
Im Online-Betrieb hatte ich ein oder zweimal einen "Aufhänger", konnte dieses Verhalten jedoch nicht reproduzieren.
Kennt jemand diese Probleme und/oder hat eine Idee, wie ich diese beheben könnte?
Danke für eine Antwort im Voraus!
+grussvongeorg
Re: RoboPro I2C-Treiber Sammlung (I2C Driver Collection)
Hallo,
kann man die 12C Sachen dann auch mit RoboPro programmieren oder
muss man das dann mit einer anderen Programmiersprache machen?
Gruß,
Benscho
kann man die 12C Sachen dann auch mit RoboPro programmieren oder
muss man das dann mit einer anderen Programmiersprache machen?
Gruß,
Benscho
Re: RoboPro I2C-Treiber Sammlung (I2C Driver Collection)
Hallo Bensho,
die ganze Zeit ist in den betreffenden Foren von RoboPro 3.1.3, RoboTX und I²C (oder auch I2C) die Rede. Ich gehe mal davon aus, dass da ein gewisser Zusammenhang besteht.
Viele Grüße
Volker-James
EDIT: Ein "den" durch "in" ersetzt.
die ganze Zeit ist in den betreffenden Foren von RoboPro 3.1.3, RoboTX und I²C (oder auch I2C) die Rede. Ich gehe mal davon aus, dass da ein gewisser Zusammenhang besteht.
Viele Grüße
Volker-James
EDIT: Ein "den" durch "in" ersetzt.
-
- Beiträge: 42
- Registriert: 26 Jan 2011, 22:12
- Wohnort: Erlangen
Re: RoboPro I2C-Treiber Sammlung (BlinkM)
@ Rei Vilo
Thanks a lot for your help ! Now it works really fine. You made me happy - and my son too !
Thanks a lot for your help ! Now it works really fine. You made me happy - and my son too !
+grussvongeorg
-
- Beiträge: 42
- Registriert: 26 Jan 2011, 22:12
- Wohnort: Erlangen
Re: RoboPro I2C-Treiber Sammlung (I2C Driver Collection)
Wieder mal hallo geschätzte FT-Fans,
mein Sohn wünscht sich zu Weihnachten einen Gyro-Sensor "ITG-3200" http://www.watterott.com/de/Gyro-ITG-3200-Breakout und einen 3-Achsenbeschleunigungssensor "ADXL-345" http://www.watterott.com/de/Breakout-Board-ADXL345. Die zugehörigen Treiber sind ja bei RoboPro in der Bibliothek I2C zu finden.
In der Beschreibung der Breakout-Boards bei Watterott steht, dass die Eingangsspannung 2-3,6 Volt betragen darf. Nun liegen ja am I2C-Bus vom TX-Controller 5 Volt-Spannung an. Kann man diese I2C-Module nun trotzdem direkt an den I2C-Bus anschliessen? Und kann man 5V I2C-Module (z.B. ein LCD-Display) mit einem 3.3V Modul gleichzeitig in einem Bus betreiben? Oder kann mir/meinem Sohn jemand einen Tipp geben, wie man I2C-Module für 3,3 V korrekt an den TX-Controller anschließt? Ich selbst bin leider kein Elektronik-Profi :-(
Über eine Antwort würde ich mich sehr freuen!
mein Sohn wünscht sich zu Weihnachten einen Gyro-Sensor "ITG-3200" http://www.watterott.com/de/Gyro-ITG-3200-Breakout und einen 3-Achsenbeschleunigungssensor "ADXL-345" http://www.watterott.com/de/Breakout-Board-ADXL345. Die zugehörigen Treiber sind ja bei RoboPro in der Bibliothek I2C zu finden.
In der Beschreibung der Breakout-Boards bei Watterott steht, dass die Eingangsspannung 2-3,6 Volt betragen darf. Nun liegen ja am I2C-Bus vom TX-Controller 5 Volt-Spannung an. Kann man diese I2C-Module nun trotzdem direkt an den I2C-Bus anschliessen? Und kann man 5V I2C-Module (z.B. ein LCD-Display) mit einem 3.3V Modul gleichzeitig in einem Bus betreiben? Oder kann mir/meinem Sohn jemand einen Tipp geben, wie man I2C-Module für 3,3 V korrekt an den TX-Controller anschließt? Ich selbst bin leider kein Elektronik-Profi :-(
Über eine Antwort würde ich mich sehr freuen!
+grussvongeorg
Re: RoboPro I2C-Treiber Sammlung (I2C Driver Collection)
Nice question, with a little help of BING:
Some suggestions for a I2C bus level shifter
http://www.nxp.com/documents/applicatio ... N10441.pdf
http://www.ti.com/corp/docs/landing/hpa ... ca9306.htm
See Figure 3. Application Example with Discrete Level Shifter
http://www.onsemi.com/pub_link/Collateral/AND8449-D.PDF
Some suggestions for a I2C bus level shifter
http://www.nxp.com/documents/applicatio ... N10441.pdf
http://www.ti.com/corp/docs/landing/hpa ... ca9306.htm
See Figure 3. Application Example with Discrete Level Shifter
http://www.onsemi.com/pub_link/Collateral/AND8449-D.PDF
Re: RoboPro I2C-Treiber Sammlung (I2C Driver Collection)
Mit etwas Suche per google kann man auch 5V Beschleunigungssensoren finden, z.B.
http://www.shop.robotikhardware.de/shop ... cts_id=232
Der Treiber müßte dann vermutlich leicht angepasst werden.
Es gibt I2C-Pegelwandler, wie den PCA 9517 (reichelt), der will aber korrekt angeschlossen werden, dann werden noch Pullups und eine funktionierende 3V Versorgung benötigt - Für Anfänger sicherlich nichts einfaches, und wenn es nicht gleich unterm Tannenbaum läuft ist das Geschrei los. Deswegen würd ich 5V Varianten nehmen.
Der Betrieb von Geräten mit unterschiedlichen Spannungspegeln ist generell möglich.
http://www.shop.robotikhardware.de/shop ... cts_id=232
Der Treiber müßte dann vermutlich leicht angepasst werden.
Es gibt I2C-Pegelwandler, wie den PCA 9517 (reichelt), der will aber korrekt angeschlossen werden, dann werden noch Pullups und eine funktionierende 3V Versorgung benötigt - Für Anfänger sicherlich nichts einfaches, und wenn es nicht gleich unterm Tannenbaum läuft ist das Geschrei los. Deswegen würd ich 5V Varianten nehmen.
Der Betrieb von Geräten mit unterschiedlichen Spannungspegeln ist generell möglich.
"Propaganda does not deceive people; it merely helps them to deceive themselves."
E Hoffer
E Hoffer
-
- Beiträge: 42
- Registriert: 26 Jan 2011, 22:12
- Wohnort: Erlangen
Re: RoboPro I2C-Treiber Sammlung (I2C Driver Collection)
Hallo Carel und Defiant,
herzlichen Dank für Eure Infos.
Ich habe schon befürchtet, dass es nicht so einfach wird "3-Volt-Module" anzuschliessen. Mein Sohn und ich werden uns wahrscheinlich auf die Suche nach "5-Volt-Modulen" machen - es auch so schon kompliziert genug für uns :-)
Mein Sohn hat die Treiber-/Programmbibliothek I2C von RoboPro durchstöbert und will am liebsten von jedem Teil eins ausprobieren ...
Auch den Farbsensor "ADJD-S311-CR999" gibt es z.B. bei Watterott leider nur als 3-Volt-Modul :http://www.watterott.com/de/Color-Light ... ion-Board- - da habe ich auch noch keinen ähnlichen Sensor für 5 Volt gefunden ...
Oder dieser Luftdrucksensor wär ja auch nett: http://www.watterott.com/de/Breakout-Bo ... rucksensor - leider auch 3Volt ...
Vielleicht sollte man in den Beschreibungstext der RoboPro-Beispielprogramme noch einen kleinen Hinweis bezüglich der 3V versus 5V Problematik unterbringen.
Und ich mach mich nun auf die Suche. Falls jemand interessante 5-Volt-Module kennt freuen wir uns über Hinweise!
(ich werde mich aber auch mit I2C Level Shifter und der gleichen beschäftigen - aber da fehlt mir bis Weihnachten leider die Zeit etwas funktionstüchtiges auf die Beine zu stellen. Ich will die Module ja auch nicht leichtfertig "verheizen" - so ganz billig sind die Dinger ja auch nicht gerade ...
Guts Nächtle!
herzlichen Dank für Eure Infos.
Ich habe schon befürchtet, dass es nicht so einfach wird "3-Volt-Module" anzuschliessen. Mein Sohn und ich werden uns wahrscheinlich auf die Suche nach "5-Volt-Modulen" machen - es auch so schon kompliziert genug für uns :-)
Mein Sohn hat die Treiber-/Programmbibliothek I2C von RoboPro durchstöbert und will am liebsten von jedem Teil eins ausprobieren ...
Auch den Farbsensor "ADJD-S311-CR999" gibt es z.B. bei Watterott leider nur als 3-Volt-Modul :http://www.watterott.com/de/Color-Light ... ion-Board- - da habe ich auch noch keinen ähnlichen Sensor für 5 Volt gefunden ...
Oder dieser Luftdrucksensor wär ja auch nett: http://www.watterott.com/de/Breakout-Bo ... rucksensor - leider auch 3Volt ...
Vielleicht sollte man in den Beschreibungstext der RoboPro-Beispielprogramme noch einen kleinen Hinweis bezüglich der 3V versus 5V Problematik unterbringen.
Und ich mach mich nun auf die Suche. Falls jemand interessante 5-Volt-Module kennt freuen wir uns über Hinweise!
(ich werde mich aber auch mit I2C Level Shifter und der gleichen beschäftigen - aber da fehlt mir bis Weihnachten leider die Zeit etwas funktionstüchtiges auf die Beine zu stellen. Ich will die Module ja auch nicht leichtfertig "verheizen" - so ganz billig sind die Dinger ja auch nicht gerade ...
Guts Nächtle!
+grussvongeorg
Re: RoboPro I2C-Treiber Sammlung (I2C Driver Collection)
The level shifter with the two: NTMD4840 is very common.
- Dirk Fox
- ft:pedia-Herausgeber
- Beiträge: 1845
- Registriert: 01 Nov 2010, 00:49
- Wohnort: Karlsruhe
- Kontaktdaten:
Re: RoboPro I2C-Treiber Sammlung (I2C Driver Collection)
Hallo fantogerch,
Das funktioniert recht gut; möglicherweise reicht aber bei dem einen oder anderen Sensor dann die Ausgangsspannung an der Datenleitung nicht mehr, damit das Signal korrekt erkannt wird. Daher ist ein Spannungswandler (wie der von NXP beschriebene) sicher die besser Lösung - probieren kannst Du es aber auch problemlos erstmal mit der Diodenlösung (0,02 Euro/Stück und max. 2 Löstellen
, und Dioden kann man immer gebrauchen, siehe die Schaltungen von Steffalk in ftpedia 3/2011).
Oder Du wählst alternative 5V-Module. Neben dem von defiant genannten Anbieter gibt es auch noch "no dna" - einige der dort angebotenen I2C-Sensoren haben sogar einen integrierten Spannungsregler (z.B. http://nodna.de/Pololu-LSM303DLHC-3D-Ko ... ungsregler).
Beste Grüße,
Dirk
eine Weile sollte das auch mit 5V funktionieren - die Lebensdauer der Sensoren verkürzt sich aber ggf. beträchtlich... Eine Alternative zu einem I2C-Spannungswandler sind zwei in Reihe geschaltete Dioden: damit erreichst Du einen Spannungsabfall von 2x0,7 V (5-1,4 gibt ganz zufällig genau 3,6V); siehe den Tipp von Harald zu meinem Nunchuk (http://www.ftcommunity.de/details.php?image_id=36074).fantogerch hat geschrieben:In der Beschreibung der Breakout-Boards bei Watterott steht, dass die Eingangsspannung 2-3,6 Volt betragen darf. Nun liegen ja am I2C-Bus vom TX-Controller 5 Volt-Spannung an. Kann man diese I2C-Module nun trotzdem direkt an den I2C-Bus anschliessen?
Das funktioniert recht gut; möglicherweise reicht aber bei dem einen oder anderen Sensor dann die Ausgangsspannung an der Datenleitung nicht mehr, damit das Signal korrekt erkannt wird. Daher ist ein Spannungswandler (wie der von NXP beschriebene) sicher die besser Lösung - probieren kannst Du es aber auch problemlos erstmal mit der Diodenlösung (0,02 Euro/Stück und max. 2 Löstellen

Wenn Du die 3,3V-Sensoren "hinten" in den Bus hängst, sollte das m.E. auch mit den Dioden klappen (bis auf die o.g. Problematik der Signalleitung). Kaputtgehen kann jedenfalls nix dabei - Du bekommst höchstens "Datensalat" auf dem Bus, weil z.B. Kollisionen nicht oder Datenbits falsch erkannt werden.fantogerch hat geschrieben:Und kann man 5V I2C-Module (z.B. ein LCD-Display) mit einem 3.3V Modul gleichzeitig in einem Bus betreiben?
Oder Du wählst alternative 5V-Module. Neben dem von defiant genannten Anbieter gibt es auch noch "no dna" - einige der dort angebotenen I2C-Sensoren haben sogar einen integrierten Spannungsregler (z.B. http://nodna.de/Pololu-LSM303DLHC-3D-Ko ... ungsregler).
Beste Grüße,
Dirk
Re: RoboPro I2C-Treiber Sammlung (I2C Driver Collection)
I have a little bit my doubts about the solution with the diodes.
This because the dynamic behavior of the diodes.
The startlevel is 0V and only after some time the level will be 0.7V.
In this periode the level on the I2C bus could be 5 V until the 2 diodes are charged.
Also you will need to make use of very fast diodes to be save.
As I wrote earlier, you will find in the publications about level shifting that the MOSFET solution is very common.
FDV301N MOSFET is very often used for this purpose.
This because the dynamic behavior of the diodes.
The startlevel is 0V and only after some time the level will be 0.7V.
In this periode the level on the I2C bus could be 5 V until the 2 diodes are charged.
Also you will need to make use of very fast diodes to be save.
As I wrote earlier, you will find in the publications about level shifting that the MOSFET solution is very common.
FDV301N MOSFET is very often used for this purpose.
-
- Beiträge: 42
- Registriert: 26 Jan 2011, 22:12
- Wohnort: Erlangen
Re: RoboPro I2C-Treiber Sammlung (I2C Driver Collection)
Danke für die schnellen Reaktionen und die vielen Tipps!
Für meinen Sohn werde ich im ersten Moment mal 5V-Module besorgen - und im stillen Kämmerlein selbst 3,3V-Bastelein ausprobieren. Wenn was funktionierendes dabei rauskommt stelle ich es dann gerne zur Diskussion.
Wünsche schöne Vorweihnachtszeit !
Für meinen Sohn werde ich im ersten Moment mal 5V-Module besorgen - und im stillen Kämmerlein selbst 3,3V-Bastelein ausprobieren. Wenn was funktionierendes dabei rauskommt stelle ich es dann gerne zur Diskussion.
Wünsche schöne Vorweihnachtszeit !
+grussvongeorg
-
- Beiträge: 42
- Registriert: 26 Jan 2011, 22:12
- Wohnort: Erlangen
Re: RoboPro I2C-Treiber Sammlung (I2C Driver Collection)
Habe Eure Tipps beherzigt und kann mittels Pololu Step-Down Schaltregler D24V6ALV (aus 5V mach 3V) und 4-Kanal Level Converter (4 BSS138 FETs mit 10K pullups) sowohl 5V- als auch 3V I2C-Module gleichzeitig ansteuern. Beispielsweise den Color Sensor ADJD-S371 (3V) oder den Accelerometer ADXL345 (3V) und als eine Art optische Anzeige eine BlinkM rgb-LED (5V).
Das eröffnet meinem Sohn und mir wunderbare neue Möglichkeiten ...
... Weihnachten kann nun kommen!
Das eröffnet meinem Sohn und mir wunderbare neue Möglichkeiten ...
... Weihnachten kann nun kommen!
+grussvongeorg
-
- Beiträge: 42
- Registriert: 26 Jan 2011, 22:12
- Wohnort: Erlangen
Re: RoboPro I2C-Treiber Sammlung (I2C Driver Collection)
thanks a lot ! interesting product and interesting shop (i didn`t know this shop yet) ...
Joyeux Noël et Bonne Année
Joyeux Noël et Bonne Année
+grussvongeorg
Re: RoboPro I2C-Treiber Sammlung (I2C Driver Collection)
Hej FTler
I want to add a I2C pressure sensor the MS5611 from MEAS http://mwc-fr.wikispaces.com/file/view/ ... 1BA01.pdf and have bought a board from Drotek.fr
The MS5611 The MS5611-01BA has only five basic commands:
1. Reset
2. Read PROM (128 bit of calibration words)
3. D1 conversion
4. D2 conversion
5. Read ADC result (24 bit pressure / temperature)
and I would be happy for any advice how to sent the commands.
On pages 9-11 of the Meas pdf some information is available on how to sent commands in SPI/I2C but I am too newbie to get the bigger picture.
Thanks, Gernot
just found some hints in an arduino code:
http://arduino.cc/forum/index.php?topic=103377.0
D1 = getVal(ADDRESS, 0x48); // Pressure raw
D2 = getVal(ADDRESS, 0x58);// Temperature raw
would i simply use the hex codes in the I2C Read command (Level 4) (chapter 8.2.8) of Robopro?
I want to add a I2C pressure sensor the MS5611 from MEAS http://mwc-fr.wikispaces.com/file/view/ ... 1BA01.pdf and have bought a board from Drotek.fr
The MS5611 The MS5611-01BA has only five basic commands:
1. Reset
2. Read PROM (128 bit of calibration words)
3. D1 conversion
4. D2 conversion
5. Read ADC result (24 bit pressure / temperature)
and I would be happy for any advice how to sent the commands.
On pages 9-11 of the Meas pdf some information is available on how to sent commands in SPI/I2C but I am too newbie to get the bigger picture.
Thanks, Gernot
just found some hints in an arduino code:
http://arduino.cc/forum/index.php?topic=103377.0
D1 = getVal(ADDRESS, 0x48); // Pressure raw
D2 = getVal(ADDRESS, 0x58);// Temperature raw
would i simply use the hex codes in the I2C Read command (Level 4) (chapter 8.2.8) of Robopro?
-
- Beiträge: 42
- Registriert: 26 Jan 2011, 22:12
- Wohnort: Erlangen
Re: RoboPro I2C-Treiber Sammlung (I2C Driver Collection)
Hallo geab,
ich habe vor kurzem den Drucksensor BMP085 erworben und versucht hierfür ein entsprechendes RoboPro-Programm zu erstellen. Ich bin mir noch nicht so ganz sicher, ob ich alles richtig gemacht habe, da ich sowohl für die Temperatur als auch den Luftdruck noch "Korrekturwerte" angeben musste, die ich aus den Datenblättern nicht ableiten kann (gemessene Temperatur ist ca. 2°C zu hoch und Luftdruck ist ca. 40 hPa zu hoch).
Falls Du möchtest könnte ich Dir das Programm ohne Gewähr trotzdem zukommen lassen - einiges ist ähnlich dem MS5611 ...
ich habe vor kurzem den Drucksensor BMP085 erworben und versucht hierfür ein entsprechendes RoboPro-Programm zu erstellen. Ich bin mir noch nicht so ganz sicher, ob ich alles richtig gemacht habe, da ich sowohl für die Temperatur als auch den Luftdruck noch "Korrekturwerte" angeben musste, die ich aus den Datenblättern nicht ableiten kann (gemessene Temperatur ist ca. 2°C zu hoch und Luftdruck ist ca. 40 hPa zu hoch).
Falls Du möchtest könnte ich Dir das Programm ohne Gewähr trotzdem zukommen lassen - einiges ist ähnlich dem MS5611 ...
+grussvongeorg
Re: RoboPro I2C-Treiber Sammlung (I2C Driver Collection)
The device is 3.3V so you will need level shifters (mosfet or sparkfun board) and voltage regulator. Also you have to set the device to I2C mode (PS high). When everything is properly connected you should be able to read all values from RoboPro. The datasheet shows a flowchart with information on how to use the calibration values. Note that D1 and D2 are 24 bit whereas RoboPro uses only 16 bit. So typically you will read D1 or D2 as two 16 bit values and assemble it into a 48 bit FP number. You can do the same for C1 to C6 (16 bit only but scaling required). The I2C address of the chip is 0x76 or 0x77 (7 bit notation, depending on CSB pin).
-
- Beiträge: 42
- Registriert: 26 Jan 2011, 22:12
- Wohnort: Erlangen
Re: RoboPro I2C-Treiber Sammlung (I2C Driver Collection)
Hallo Rei,
i made the calculations and i got the right solutions (as shown in the example of the data sheet).
If you or anyone else wants my files i would like to provide them - perhaps i made a mistake in the Read Out sequences ...
i made the calculations and i got the right solutions (as shown in the example of the data sheet).
If you or anyone else wants my files i would like to provide them - perhaps i made a mistake in the Read Out sequences ...
+grussvongeorg
Re: RoboPro I2C-Treiber Sammlung (I2C Driver Collection)
Hej Georg
dass würde mir super weiterhelfen - bin durchs Programmieren am Jeenode/Arduino weitergekommen, aber hb es noch nicht auf den TX umgesetzt.
Gruss, Geab
dass würde mir super weiterhelfen - bin durchs Programmieren am Jeenode/Arduino weitergekommen, aber hb es noch nicht auf den TX umgesetzt.
Gruss, Geab
fantogerch hat geschrieben:Hallo geab,
ich habe vor kurzem den Drucksensor BMP085 erworben und versucht hierfür ein entsprechendes RoboPro-Programm zu erstellen. Ich bin mir noch nicht so ganz sicher, ob ich alles richtig gemacht habe, da ich sowohl für die Temperatur als auch den Luftdruck noch "Korrekturwerte" angeben musste, die ich aus den Datenblättern nicht ableiten kann (gemessene Temperatur ist ca. 2°C zu hoch und Luftdruck ist ca. 40 hPa zu hoch).
Falls Du möchtest könnte ich Dir das Programm ohne Gewähr trotzdem zukommen lassen - einiges ist ähnlich dem MS5611 ...