INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.

Antwort schreiben 
 
Themabewertung:
  • 0 Bewertungen - 0 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
I2C mit mehreren Teilnehmern
09.05.2019, 17:45 (Dieser Beitrag wurde zuletzt bearbeitet: 09.05.2019 17:46 von shrimps.)
Beitrag #1
I2C mit mehreren Teilnehmern
Hallo zusammen,
ich hab da mal wieder eine tiefergehende Frage:
Ich möchte einen ESP32 mit ca. 5 Nanos via I2C koppeln.
Nach meinem bisherigen Wissensstand habe die nanos keine ansprechbare Hardwareadresse, genau wie der ESP32.
Damit es beim Senden eines Kommandos kein Chaos gibt, muss ich im Protokoll selber dafür sorgen, wer sich angesprochen fühlen darf und wer wem antworten soll !?!

Das heisst, das ich (wie Tommy56 hier schon veröffentlichte) im Sendestring immer das Zielgerät ansprechen muss, und nur dieser darf sich dann um die Antwort bemühen, welche ebenfalls so aufgebaut sein muss.

Weil ja sonst ggf. bei einem Ruf vom ESP alle Nanos losschreien würden und dann ist der BUS platt...

Ist das alles so richtig und würde es in meinem Multibeispiel so gehen ?

Danke für alle Hinweise.

Shrimps

Dann noch ein NAchtrag, bzw. Denksportaufgabe:
Wenn in obigem Beispiel 5 nanos drin sind, kann ich ja jedem sein eigenes Script(Adresse) verpassen.
Schöner währe es, wenn die Anlage startet, das sich die Teile alle nacheinander beim ESP "anmelden"...
Nur wie, wenn es Kollisionen geben würde ?
Gibt es in den "Arduinos" wie z.bsp. Nano oder ESP eine Art Unique-ID welche man nehmen könnte:
Idee: Jeder sendet nach dem Einschalten im x-Sekunden-Zyklus sein ID und ein "bin da" auf den Bus...
Nun könnte der ESP alleinig darauf reagieren ???
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
09.05.2019, 18:28
Beitrag #2
RE: I2C mit mehreren Teilnehmern
Hallo,

Beim Atmega8 gab es So was ähnliches wie eine identifikationsnummer.
Beim 328p weiß ich es nicht.
Aber du könntest eine Adresse im eeprom ablegen, oder mit dipschalter realisieren.
Schau mal hier , Prof. Plate hat echt was drauf.
Sonst such mal unter Arduino als I2c slave.
Gruß, Markus

Immer in Stress
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
09.05.2019, 18:55
Beitrag #3
RE: I2C mit mehreren Teilnehmern
Warum so umständlich und kompliziert ?
Du musst ja jedem Nano einen Sketch aufspielen. Dieser Sketch enthält eine von dir festgelegte Client-I2C-Adresse. Die wird dann vom Master jeweils angesprochen und der Client antwortet da drauf.

Gruß Dieter

I2C = weniger ist mehr: weniger Kabel, mehr Probleme. Cool
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
09.05.2019, 19:05
Beitrag #4
RE: I2C mit mehreren Teilnehmern
Hmm, hatte ich auch gedacht, Aber:
Ich möchte nur einen Sketch pflegen, da alle Clients identisch sind...
So müsste ich für jeden eine Extrapflege planen...

Ggf. überlege ich, ob ich jedem nano einmalig eine I2-Adresse im Flasch ablege und das überall gleiche Skript diese verwendet...

(09.05.2019 18:55)hotsystems schrieb:  Warum so umständlich und kompliziert ?
Du musst ja jedem Nano einen Sketch aufspielen. Dieser Sketch enthält eine von dir festgelegte Client-I2C-Adresse. Die wird dann vom Master jeweils angesprochen und der Client antwortet da drauf.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
09.05.2019, 19:09
Beitrag #5
RE: I2C mit mehreren Teilnehmern
(09.05.2019 19:05)shrimps schrieb:  Hmm, hatte ich auch gedacht, Aber:
Ich möchte nur einen Sketch pflegen, da alle Clients identisch sind...
So müsste ich für jeden eine Extrapflege planen...

Ggf. überlege ich, ob ich jedem nano einmalig eine I2-Adresse im Flasch ablege und das überall gleiche Skript diese verwendet...

Auch da gibt es sicher eine Lösung.
Z.B. abhängig von der Uhrzeit wann geflasht wird, o.ä.
Ich habe es bisher noch nicht gebraucht, aber da geht bestimmt was.

Gruß Dieter

I2C = weniger ist mehr: weniger Kabel, mehr Probleme. Cool
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
09.05.2019, 20:09
Beitrag #6
RE: I2C mit mehreren Teilnehmern
Das mit der Flashzeit geht aber nur, wenn Du immer alle nacheinander flashst.
z.B (Minuten%5) << 4 + (Sekunden % 5). Das würde ich aber nicht wollen, da Du damit in höhere Adressbereiche kommst.

Dann lieber die schon angesprochene Variante, die I2C-Adresse einmalig für jeden Nano im EEPROM abzulegen.

Gruß Tommy

"Wer den schnellen Erfolg sucht, sollte nicht programmieren, sondern Holz hacken." (Quelle unbekannt)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
09.05.2019, 20:44
Beitrag #7
RE: I2C mit mehreren Teilnehmern
Also mit der suchfunktion findet man das hier.

Ich ziehe meistens 2 bis 4 dipschalter vor.
Nach einem halben Jahr hätte ich sonst die Adresse vergessen.
Gruß, Markus

Immer in Stress
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
09.05.2019, 20:52
Beitrag #8
RE: I2C mit mehreren Teilnehmern
(09.05.2019 20:44)Chopp schrieb:  Ich ziehe meistens 2 bis 4 dipschalter vor.
Nach einem halben Jahr hätte ich sonst die Adresse vergessen.
Da kann man ja einen Aufkleber dran pappen (der dann im geeigneten Moment abfällt) Wink
Mäuseklavier ist auch eine gute Variante, wenn man die Pins frei hat.

Gruß Tommy

"Wer den schnellen Erfolg sucht, sollte nicht programmieren, sondern Holz hacken." (Quelle unbekannt)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
Antwort schreiben 


Möglicherweise verwandte Themen...
Thema: Verfasser Antworten: Ansichten: Letzter Beitrag
  MP3 Player mit mehreren Ordner Matthias Wehrli 2 959 06.12.2016 02:07
Letzter Beitrag: Matthias Wehrli
  Steuerung von mehreren Programmabläufen TimF 21 4.614 04.11.2015 23:28
Letzter Beitrag: hotsystems
  Von mehreren Libarys wird eine nicht erkannt Foto-Ralf 4 5.777 22.08.2014 16:03
Letzter Beitrag: Thorsten Pferdekämper
  I2C-Adressierung von mehreren Arduino Pro Micro? alpenfeuer 3 2.939 02.06.2014 11:09
Letzter Beitrag: alpenfeuer

Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste