Nimm Zwei

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
Pinot
Beiträge: 55
Registriert: 23 Nov 2021, 15:24
Wohnort: Pfalz

Nimm Zwei

Beitrag von Pinot » 29 Nov 2021, 21:52

Ich hab zwei identische Sensoren (Gestensensor aus Smarttech-Kasten) mit I2C-Schnittstelle. Dummerweise haben die jetzt ja die gleiche Adresse. Wie programmiert man denn die I2C-Adresse eines Bausteins um? Und woher bekomme ich eine Übersicht der vegebenen I2C-Adressen, damit ich eine freie aussuchen kann? Besten Dank fuer Tipps und Links.

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

Re: Nimm Zwei

Beitrag von fishfriend » 29 Nov 2021, 23:52

Hallo...
Ich kann da nur bedinngt helfen. Ist auch nicht ft.
Ist auch schon etwas her.
Ich hab mir auf einen Arduino ein I2C Suchprogramm geladen und dann einfache alle ausgelesen.
Das folgende ist noch länger her:
Ich meine es gibt da soetwas wie "Verteiler". Da konnte man mehrere I2C "Netze" zusammenschalten und die Adressbereiche ändern.

Ich könnte mir vorstellen, dass man das auch mit einem Arduino oder Rasberry Pi hin bekommt.

Vom Protokoll her sollte es auch mit einem TXT gehen, ich denke jedoch, da sollte man es ehr von PC-Seite und C++ Programm machen.
So nach dem Motto alle Adressen durch Pingen. Das dürfte aber lange dauern, wegen dem Timeout bei jeder Adresse.
Also wie gesagt von ft-Seite hab ich es noch nicht gemacht.
Mit freundlichen Grüßen
fishfriend
Holger Howey
ft Riesenräder PDF: ftcommunity.de/knowhow/bauanleitungen
TX-Light: Arduino und ftduino mit RoboPro

Benutzeravatar
Bjoern
Beiträge: 630
Registriert: 04 Jan 2018, 12:34

Re: Nimm Zwei

Beitrag von Bjoern » 30 Nov 2021, 00:52

Hallo Pinot,

sinnvollerweise solltest du herausfinden was da für ein Chip drin ist. Den Smarttech Kasten habe ich zwar auch, aber mangels Zeit bisher wenig gemacht.
Wenn du weißt was für ein Chip drin ist findet man über die Datenblätter heraus, ob du dessen Adresse überhaupt ändern kannst. Falls ja, natürlich auch wie.
Geht das nicht und du willst unbedingt beide an einem TXT betrieben, dann bleibt noch der Umweg über einen Multiplexer. Der hat dann sozusagen einen Eingang und x-Ausgänge. Dann klappt das auch wenn die alle die gleiche Adresse haben, da Sie eben alle an einem anderen Port hängen und der Multiplexer (TCA9548a) die Arbeit macht. Da musst du aber löten. Bundhülsen bekommst du da keine dran. Maximal eine Stiftleiste.

Anderer Weg wäre natürlich den Bus zu scannen. Da könntest du dir den Code von einem Arduino I²C Scanner abschauen und einfach mit freien I²C Befehlen in RoboPro nachbauen.
Du musst einfach nur an alle Adressen versuchen zu senden. Bekommst du einen Fehler zurück, dann gibt es dort kein I²C Gerät.

Wir hatten das Thema mit dem Sensor mal hier. Müsste ein apds9960 sein. Ist auf Adresse 0x39.
Schau mal hier https://www.google.com/url?sa=t&rct=j&q ... kW8gbtrAuB
Und dort: The device supports a single slave address of 0×39 Hex using 7-bit addressing protocol. Also bleibt dir nur der Multiplexer wenn du unbedingt 2 an einem TXT betreiben willst.

Björn
https://gundermann-software.de/shop/
Der Shop für viele Community Projekte

Benutzeravatar
Dirk Fox
ft:pedia-Herausgeber
Beiträge: 1832
Registriert: 01 Nov 2010, 00:49
Wohnort: Karlsruhe
Kontaktdaten:

Re: Nimm Zwei

Beitrag von Dirk Fox » 01 Dez 2021, 01:15

Hallo Pinot,

ja, Björn hat recht - der Gestensensor ist ein APDS9960 von Avago.
Zum Multiplexer: siehe ft:pedia 2/2013.

Beste Grüße,
Dirk

Benutzeravatar
PHabermehl
Beiträge: 2429
Registriert: 20 Dez 2014, 22:59
Wohnort: Bad Hersfeld

Re: Nimm Zwei

Beitrag von PHabermehl » 01 Dez 2021, 02:29

Das ist echt schade - die I²C-Adresse konfigurieren zu können, wäre wirklich schön. Aber Björn hat das Datenblatt ja schon zitiert, geht also nicht.

Gruß Peter
https://www.MINTronics.de -- der ftDuino & TX-Pi Shop!

viele Grüße
Peter

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

Re: Nimm Zwei

Beitrag von fishfriend » 01 Dez 2021, 09:01

Hallo...
Gerad noch mal wiedergefunden "I2C Traslater" waren die Umsetzer.
EIne noch einfachere Moglichkeit ist mehrere I2C mit der selben Adresse zu verwenden wird hier beschrieben:
https://blog.adafruit.com/2012/07/02/gr ... ruit-gear/
Hier wird mit einem 74HC138 umgeschaltet.
Mit freundlichen Grüßen
fishfriend
Holger Howey
ft Riesenräder PDF: ftcommunity.de/knowhow/bauanleitungen
TX-Light: Arduino und ftduino mit RoboPro

Antworten