Extensions für den I2C-Bus

Alles rund um TX(T) und RoboPro, mit ft-Hard- und Software
Computing using original ft hard- and software
Forumsregeln
Bitte beachte die Forumsregeln!
Antworten
Benutzeravatar
phg-berlin
Beiträge: 57
Registriert: 12 Mär 2024, 20:22
Wohnort: Berlin
Kontaktdaten:

Extensions für den I2C-Bus

Beitrag von phg-berlin » 08 Feb 2025, 19:05

Hallo liebe Experten,

vorab: Trotz meiner akademischen Titel bin ich eigentlich nur ein fortgebildeter Buchhalter. Jedenfalls kein "echter" Informatiker und schon gar kein Elektroniker. Daher meine eher unkundigen Fragen:

In Robo Pro Coding und in der STEM Suite gibt es eine Bedienfeld-gesteuerte Fernbedienung. Und die funktioniert ja auch prima. Zusätzlich gibt es beim TXT 4.0 auch die VoiceControl. Auch die funktioniert zufrieden stellend.
Ich finde es aber irgendwie pervers, als steuerndes Gerät etwas einzusetzen, was leistungsfähiger ist als das gesteuerte Gerät. Und etwas unpraktisch ist es zumindest, wenn eine Windows-Maschine als Sender mißbraucht wird.
Da ja auch der RX-Controller gesteuert werden kann, ist der Transporteur ja wohl Bluetooth. Dann müsste doch eigentlich eine handelsübliche Bluetooth-Fernbedienung irgendwie auch einsetzbar sein. Zumindestens, wenn sie "lernend" ist. Gibt es da irgendwo eine Anleitung? Und warum gibt es aktuell keine ft-Fernbedienung? Bei santjohanser "Dieser Artikel ist leider nicht mehr verfügbar". Und auch bei ffm liefert die Suche nach Fernbedienung keine Treffer. Das ft 563931-Set hat ja wohl nichts mit RX bzw. TXT 4.0 zu tun?
Im Fischertechnik-Blog https://fischertechnik-blog.de/2018/12/ ... rnsteuert/ wird zwar eine blaue Fernbedienung genannt, die scheint es aber nicht mehr zu geben. Und der Preis ist mit über 60 Euro ja auch ganz schön happig.

Ich habe mich ja vor drei Jahren mit dem mBot von Makeblock beschäftigt. In der Grundversion ist eine Mini-IR-Fernsteuerung enthalten, die auch einzeln für unter 5 Euro gekauft werden kann. Natürlich ist die recht problematisch; insbesondere würden sich mehrere gleichzeitig betriebene gegenseitig stören. Trotzdem wäre das ja eine Lösung. Und eigentlich sollte es auf IR-Basis auch möglich sein, handelsübliche Fernbedienungen anzulernen.

Quintessenz: Wie komme ich zu einer plug-and-play-Lösung als Dummie?

Zweite Frage: Die Ausgabemöglichkeiten sind bei den ft-Controllern ja sehr begrenzt. Beim RX - abgesehen von den Motoren - eigentlich nur LEDs. Bei Makeblock gibt es eine Vielzahl von I2C-Aktoren. Z.B. Sieben-Segment-Anzeigen: Einzeln, einzeilig, zweizeilig. Und auch LED-Panels, Buzzer und Mini-Lautsprecher. Und recht leistungsfähige Mini-Farb-Screens. Leicht anzuschliessen über RJ-45-Stecker. Und die Treiber sind auch dabei. Gibt es vergleichbares auch für fischertechnik, das von Dummies eingebaut werden kann? Und natürlich ohne Lötkolben?

Vielen Dank für Eure Tips.

Horst

Karl
Beiträge: 2369
Registriert: 24 Sep 2016, 17:28

Re: Extensions für den I2C-Bus

Beitrag von Karl » 08 Feb 2025, 21:48

Hallo Horst,
haben Sie schon mal diese Seiten angeschaut ?
https://gundermann-software.de/shop/page/3/
Elektronik- und Computing sind auf den Seiten alles Fremdentwicklungen für
hauptsächlich Fischertechnik. An Fernwirkgeräte würde das "Ft-Swarm-System" interessant sein.
Die Entwickler dieses Systems können hier auch sicherlich persönliche Unterstützung geben.

Benutzeravatar
elektrofuzzis
Beiträge: 220
Registriert: 25 Jun 2016, 09:40

Re: Extensions für den I2C-Bus

Beitrag von elektrofuzzis » 09 Feb 2025, 08:41

Hallo Horst,

I2C Sensoren und Aktoren gibt es out-of-the-box im wesentlichen den Umweltsensor von fischertechnik.

Es gibt aus der Arduino/Makerszene jede Menge Breakoutboards mit allen möglichen Sensoren. Diese haben aber keine genormten Stecker, so dass Du für den Kabeladapter in der Regel löten musst. Dazu brauchst Du aber kein Lötmeister zu werden, ein einfacher Lötkolben (30-40W) und etwas Lot reichen aus. Bekommst Du unter 50€.

In der ftPedia findest Du viele Artikel, die sowohl das Anschlussschema als auch die Programmierung der Breakoutboards erklären.

Hilfreich ist der ftExtender, der das Problem der beiden Logikspannungen und der Stromversorgung für dein Breakoutboard löst. Ft kennt nur 9V, Du brauchst aber je nach Sensor 3.3 oder 5V. https://gundermann-software.de/ft-extender/.

Die ftSwarm-Serie https://elektrofuzzis.github.io/de/index.html sind kleine Controller, die in der Regel in C programmiert werden. Sie haben auch einen I2C Bus, das Kabel zum Breakoutboard musst Du auch herstellen. Da die Controller aus der Arduinowelt kommen, bekommst Du zu allen möglichen Boards eine passende Bibliothek die das Programmieren einfach machen.

Bei den ftSwarns gibt es auch eine kleine Fernbedienung, sie ist aber gleichzeitig ein vollwertiger Controller mit Motorausgängen und Sensoreingängen.

Über i2c lassen sich TX/TXT Controller an die ftSwarm-Serie auch anschließen.

Gruß

Stefan

Benutzeravatar
elektrofuzzis
Beiträge: 220
Registriert: 25 Jun 2016, 09:40

Re: Extensions für den I2C-Bus

Beitrag von elektrofuzzis » 09 Feb 2025, 08:42

Hallo Horst,

I2C Sensoren und Aktoren gibt es out-of-the-box im wesentlichen den Umweltsensor von fischertechnik.

Es gibt aus der Arduino/Makerszene jede Menge Breakoutboards mit allen möglichen Sensoren. Diese haben aber keine genormten Stecker, so dass Du für den Kabeladapter in der Regel löten musst. Dazu brauchst Du aber kein Lötmeister zu werden, ein einfacher Lötkolben (30-40W) und etwas Lot reichen aus. Bekommst Du unter 50€.

In der ftPedia findest Du viele Artikel, die sowohl das Anschlussschema als auch die Programmierung der Breakoutboards erklären.

Hilfreich ist der ftExtender, der das Problem der beiden Logikspannungen und der Stromversorgung für dein Breakoutboard löst. Ft kennt nur 9V, Du brauchst aber je nach Sensor 3.3 oder 5V. https://gundermann-software.de/ft-extender/.

Die ftSwarm-Serie https://elektrofuzzis.github.io/de/index.html sind kleine Controller, die in der Regel in C programmiert werden. Sie haben auch einen I2C Bus, das Kabel zum Breakoutboard musst Du auch herstellen. Da die Controller aus der Arduinowelt kommen, bekommst Du zu allen möglichen Boards eine passende Bibliothek die das Programmieren einfach machen.

Bei den ftSwarns gibt es auch eine kleine Fernbedienung, sie ist aber gleichzeitig ein vollwertiger Controller mit Motorausgängen und Sensoreingängen.

Über i2c lassen sich TX/TXT Controller an die ftSwarm-Serie auch anschließen.

Gruß

Stefan

Benutzeravatar
phg-berlin
Beiträge: 57
Registriert: 12 Mär 2024, 20:22
Wohnort: Berlin
Kontaktdaten:

Re: Extensions für den I2C-Bus

Beitrag von phg-berlin » 09 Feb 2025, 16:59

Hallo Karl, hallo Stefan,

vielen Dank für Eure Tips. Ich werde mal Gundermann kontaktieren und vielleicht doch zum Lötkolben greifen. Ich habe sogar einen.

Horst

vleeuwen
Beiträge: 1606
Registriert: 31 Okt 2010, 22:23
Wohnort: Enschede (NL)
Kontaktdaten:

Re: Extensions für den I2C-Bus

Beitrag von vleeuwen » 09 Feb 2025, 22:58

For translations, see Google translate.
However the most I2C documentation/information is written in English.
About your second question, some elementary information:
I2C is a 3-wire communication bus protocol to connect a master I2C device with one or more so called I2C-slaves devices.
I2C definition comes from the Dutch NXP (former Philips)
Hereby a ink to "the I2C bible": https://www.nxp.com/docs/en/user-guide/UM10204.pdf
The fischertechnik controllers is a simple I2C bus master with 3.3V I2C bus interface (not 5V tolerant),
You only need to connect the GND, SDA, SCL with wires and take care to the right pullup resistors.
Maybe you wil need a 3.3V /5V I2C bus level shifter,
(additional information: https://www.nxp.com/docs/en/application ... N10418.pdf)
for example see: https://www.adafruit.com/product/757 or https://bitwizard.nl/shop/expansion-boa ... el-Shifter.

The slave device itself can have it's own power supply.
However you need to look what is voltage definition of the I2C bus interface on that slave device.
software enigineer/teacher/advisor
Google translate
http://tescaweb.nl/Carel/?p=713

juh
Beiträge: 1067
Registriert: 23 Jan 2012, 13:48

Re: Extensions für den I2C-Bus

Beitrag von juh » 10 Feb 2025, 16:57

Hi Carel,

as you are citing the official specification, one might possibly add that the master/slave terminology is not according to the standard anymore, it has been replaced a while ago by controller/target. Whatever one might think of that change, it's surely not going to be reverted, so newcomers should probably better be introduced to the new, or for the ongoing transitional period, to both terminologies.

Jan

Dt.: Offiziell heißt es bei I2C seit einer Weile controller/target, nicht mehr master/slave.

vleeuwen
Beiträge: 1606
Registriert: 31 Okt 2010, 22:23
Wohnort: Enschede (NL)
Kontaktdaten:

Re: Extensions für den I2C-Bus

Beitrag von vleeuwen » 10 Feb 2025, 19:54

See Google translate for the translation into a different language.
@ Jan
Thanks for this information.

@all
Why this change? see: https://www.allaboutcircuits.com/news/ ... ineering/
This is only a textual change in the "I2C bible" UM10204, this because of far-fetched political correctness, see:Update I2C-bus specification and user manual Rev. 7 — 1 October 2021
This also has consequences for all other aspects in the technical world where the word slave is used. Certainly also in programming within computer science
link to a NXP statement :

==========================================================================================================
However, it is impossible to expect that all data sheets and I2C descriptions will be updated. It is therefore advisable to include a remark in new information material that "master/slave" is identical to "controller/target".
The "target" is and remains subordinate to the controller, which means in this case a demotion of the word "target".
software enigineer/teacher/advisor
Google translate
http://tescaweb.nl/Carel/?p=713

cheorl
Beiträge: 70
Registriert: 03 Jun 2024, 17:51
Wohnort: Dritter Stein, der einen Stern umkreist, der vor Ort als Sol bekannt ist.

Re: Extensions für den I2C-Bus

Beitrag von cheorl » 11 Feb 2025, 15:11

Moin/Hello 0010 all,
vleeuwen hat geschrieben:
10 Feb 2025, 19:54
Why this change? see: https://www.allaboutcircuits.com/news/ ... ineering/
This is only a textual change in the "I2C bible" UM10204, this because of far-fetched political correctness, see:Update I2C-bus specification and user manual Rev. 7 — 1 October 2021
This also has consequences for all other aspects in the technical world where the word slave is used. Certainly also in programming within computer science
link to a NXP statement :
Die Sprache soll von „schädlichen Begriffen“ gereinigt und durch eine neue Sprache (Neusprech – Newspeak) ersetzt werden.
Wer es noch nicht versteht, sollte „1984“ von George Orwell lesen.

Translation: The language is to be purified of “harmful terms” and replaced by a new language (Newspeak).
For those who don't understand yet, read 1984 by George Orwell.
Grüß, Cheorl

juh
Beiträge: 1067
Registriert: 23 Jan 2012, 13:48

Re: Extensions für den I2C-Bus

Beitrag von juh » 11 Feb 2025, 15:26

Lasst doch die Politik aus dem Spiel. Begriffe ändern sich ständig aus den verschiedensten Gründen und von allen Seiten. Diese Änderung verlangt euch nicht mehr ab als ein paar Synapsen im Hirn neu zu verschalten. Einfach mal die Kirche im Dorf lassen.

vg
Jan

Benutzeravatar
phg-berlin
Beiträge: 57
Registriert: 12 Mär 2024, 20:22
Wohnort: Berlin
Kontaktdaten:

Re: Extensions für den I2C-Bus

Beitrag von phg-berlin » 11 Feb 2025, 16:21

Hallo,

nachdem die Off Topic Diskussion jetzt hoffentlich abgeschlossen ist, möchte ich auf meine Ausgangsfrage zurück kommen.
Nach allen fachlichen Antworten kann ich als Berliner nur sagen "Wat lernt mir dit?" Jedenfalls, dass die Erläuterungen komplizierter sind als ich das je erwartet habe.
Eine Fernbedienung auf IR-Basis scheint schon wegen der verschiedenen Spannungen (3.3, 5 und 9 Volt) aufwendig zu sein.
Eins will mir nicht in den Kopf: Warum gibt es keine einfache Bluetooth-Lösung.
Was ich bisher glaube, verstanden zu haben, ist Folgendes:
Es gibt einen Sender und einen Empfänger. Die unterhalten sich über die hergestellte Bluetooth-Verbindung nach einem definierten Protokoll. Und das funktioniert z.B. über die Kategorie Fernbedienung in Robo Pro Coding über Schaltflächen, die in der Bedienfeldkonfiguration angelegt wurden und im Hauptprogramm bestimmte Ereignisprozeduren anstossen. Empfänger sind die Controller (RX oder TXT 4.0). Sender ist der PC oder das Tablet bzw. Smartphone. Und da braucht nichts verkabelt zu werden und kein Treiber installiert zu werden. Ist alles schon da.
Und jetzt meine Idee: Der Empfänger "weiß" ja nichts über den Sender. Ich kann den PC gegen ein Tablet oder ein Smartphone austauschen und alles funktioniert weiterhin.
Daher müsste ich doch auch ein weiteres Bluetooth-fähiges Gerät wie eine bluetoothfähige handelsübliche Fernbedienung oder eine Bluetooth-Tastatur benutzen können. Am ehesten passen würde wohl ein Nunchuk. Das Problem liegt in den Datenpaketen. Diese müssen formal und inhaltlich den Erwartungen des Empfängers (RX bzw TXT 4.0) entsprechen. Wie bekomme ich raus, wie diese Datenpakete aussehen müssen und wie bekomme ich den Sender dazu, diese zu erzeugen. Dirk Fox hat ja einen solchen Treiber erstellt, allerdings für den TXT und nicht für den TXT 4.0.
Also meine Fragen:
- Sehe ich es richtig, dass alsSender eine handelsübliche Fernbedienung oder ein Nunchuck eingesetzt werden könnte?
-Wie bekomme ich raus, wie dieDatenpakete aussehen müssen?
- Wie kann ich den gewählten Sender davon überzeugen, durch den jeweiligen Tastendruck diese Datenpakete zu erzeugen?

-Oder bin ich auf dem Holzweg und das so nicht machbar? Undwarum nicht?

Tut mir leid, wenn ich nerve aber ich möchte halt nicht dumm sterben.

Vielen Dank für Eure Geduld mit mir Dummie

Horst

Benutzeravatar
fishfriend
Beiträge: 2117
Registriert: 26 Nov 2010, 11:45

Re: Extensions für den I2C-Bus

Beitrag von fishfriend » 11 Feb 2025, 16:36

Hallo...
(Hintergrund ist auch ein Telefongespräch, wo dieses Problem angesprochen wurde)
Die ganze I2C Sache zusammen mit fischertechnik, hat mehrere Probleme.
-Zum einen ist es Controllerabhängig.
Hier gibt es unterschiedliche Schnittstellen.
Nicht nur die Pinbelegung ist anders, sondern auch die Spannungen.
-Zum anderen ist es davon abhängig, welchen Sensor oder mehere Teilnehmer man über I2C steuern möchte.
Die einen haben andere Spannungen, manche brauchen auch noch eine Externe Versorgung.
Dann die Ansteuerung selber über Befehle, wobei man auch mache erst noch erst Initialisieren muss, bevor man die weiter ansprechen kann.

Für manche Controller und Programmiersprachen, haben Leute hier im Forum schon Vorarbeit geleistet. Aber nicht alles mögliche und nicht alle Kombinationen. Auch das Umsetzen z.B. vom TXT zum TXT 4.0 aller Sensoren wurde nicht gemacht. Es ist halt kein "Plug and Play". Beim nächsten Controller oder Programmiersprache würde wieder alles von vorne los gehen. Klar ist es dann für andere einfacher, wenn schon alles fertig ist.
Nur es ist auch viel Arbeit. Wirklich viel Arbeit.

Es ist so, dass man selber sich damit beschäftigt, wenn man dieses spezielle Modell oder Problem hat. Normalerweise ist die Ansteuerung nicht sooo schwer (bis auf NFC :-( ).
Die Möglichkeiten mit BT hätten die neuen fischertechnik Contoller auch drauf. Jedoch scheitert es meist an Linuxkenntnissen und manchen Freigaben, das Betriebssystem zu ändern. Klar ist es "möglich" drei geostationäre Satelliten damit auf ihrer Bahn zu halten, die Rechenleistung ist da - hat aber bisher keiner gemacht oder gebraucht.

Das was ich mir vorstellen kann ist einen Arduino zu nehmen und die Signale einer Fernsteuerung zum Controller zu übertagen. Ob nun die I/Os oder eine I2C benutzt wird, ist nachrangig oder vom Modell selber abhängig.
Bei der Entwicklung -damals- wurde nicht an solche Sachen gedacht. Aus heutiger SIcht -leider- dumm gelaufen.
Wenn man selber darin Fitt ist, könnte man auch über WLan und z.B. MQTT mit einer selbstgebauten Fernsteuerung Daten austauschen... usw.

Mit freundlichen Grüßen
Holger

PS
Ich denke, mit einer der nächsten Projekte wird ein Display am RX/TXT 4.0 sein. Ich hab die Sachen schon mal da, aber noch nicht programmiert.
Ich hab da allerdings noch zwei Projekte davor...
ft Riesenräder PDF: ftcommunity.de/knowhow/bauanleitungen
TX-Light: Arduino und ftduino mit RoboPro

Benutzeravatar
fishfriend
Beiträge: 2117
Registriert: 26 Nov 2010, 11:45

Re: Extensions für den I2C-Bus

Beitrag von fishfriend » 11 Feb 2025, 16:46

PS2
Deine Antort kam etwas schneller.

Ja/Nein, man "könnte" - "kann nicht"

Das Blöde ist, man kann BT auch als weiteres Gerät betreiben. Das ist dann unabhängig von einem BT-Treiber z.B. in der Windowswelt.
Das Gerät kann so auch nicht verbunden werden. Da muss man selber was machen. Meist ist es einfacher selber eine Art "Adapter" zu basteln.

Um auf Schnittstellen mitzuhören, nutze ich z.B. wireshark . Viele Protokolle sind aber auch schon dokumentiert worden. Man muss sie nur suchen und finden.

Mal so ein Beispiel. EIne einfache USB Tastatur.
Normalerweise sollten alle dafür notwendigen Treiber bereits auf den Controller vorhanden sein. Die Frage ist aber (auch) wie man die Daten in sein Programm kriegt.
ft Riesenräder PDF: ftcommunity.de/knowhow/bauanleitungen
TX-Light: Arduino und ftduino mit RoboPro

Benutzeravatar
rubem
Beiträge: 287
Registriert: 10 Feb 2014, 17:45
Wohnort: Porto Alegre, RS, Brasil

Re: Extensions für den I2C-Bus

Beitrag von rubem » 11 Feb 2025, 21:51

Hello,

The project I'm currently working on may interest you. I was able to successfully feed the input of a Bluetooth gamepad into a TXT 4.0 using an inexpensive ESP32 module via I2C. Not Arduino, but close. You can find more details in this post. I'm still working on it: I'm currently building a test vehicle and a case for the chip and I2C connector. Follow that thread for more details or feel free to ask anything.

---------------- Google Translate

Hallo,

Das Projekt, an dem ich gerade arbeite, könnte Sie interessieren. Ich konnte den Eingang eines Bluetooth-Gamepads mithilfe eines kostengünstigen ESP32-Moduls über I2C erfolgreich in ein TXT 4.0 einspeisen. Kein Arduino, aber nah dran. Weitere Einzelheiten finden Sie in diesem Beitrag. Ich arbeite noch daran: Ich baue derzeit ein Testfahrzeug und ein Gehäuse für den Chip und den I2C-Anschluss. Folgen Sie diesem Thread für weitere Einzelheiten oder fragen Sie ruhig alles.

Best regards / Viele Grüße,

Rubem

Antworten