Hallo zusammen, ich bin auf der Suche nach einer mgl. Idee für mein Konzept. Ich habe einen Arduino und ich möchte an diesen unterschiedliche elektronische Bauteile anschliessen. Nun soll folgendes passieren: Ich schliesse an den Arduino das Bauteil A an, der Arduino soll nun eine gewisse Logik am Bauteil abfragen und diese Logik soll dem Arduino mitteilen: Ich bin Bauteil A. Nehme ich nun dieses Bauteil A weg und ersetze es durch Bauteil B, dann soll das Prozedere von vorne starten. Ich hoffe das ist verständlich. Im Grunde ist dies ja eine Art Bussystem, die Schwierigkeit besteht nun darin dieses Konzept mit möglichst wenig Mikrocontrollern zu realisieren. Gerne erläutere ich noch mehr. Im Grunde möchte ich nur einen Mikrocontroller haben und jweils eine Art "digitaler Baustein" der mit seinem eigenen Bauteil verbunden ist, ergo der Arduino fragt den "digitalen Baustein" -->"wer bist du"; er antwortet und der Arduino weiss, was für ein Bauteil das ist. Gibt es ein solches ? Grüße
Ein serielles Eeprom sollte als ausreichen. Dort wird die Hausnummer hinterlegt und gut ist!
Wie viele Bauteile soll es geben? Im Grunde reichen Lötbrücken auf den Steckern des Bauteils aus.
Beitrag #5941725 wurde vom Autor gelöscht.
Welche Bauteile hast du im Sinn? Solltest du ICs mit digitaler Schnittstelle meinen, ist es warscheinlich, dass bereits ab Werk eine ID vorhanden ist.
:
Bearbeitet durch User
Jeder DS18x20 Temp.-Sensor hat eine einmalige individuelle Seriennummer.
Harry L. schrieb: > Jeder DS18x20 Temp.-Sensor hat eine einmalige individuelle Seriennummer Generell jedes Onewire-Bauteil, weil das gleichezeitig die Busadresse ist. Es gibt sogar welche, die genau nur das können: eine Seriennummer haben.
Manuel P. schrieb: > eeprom mittels i2c ist perfekt,danke für den Input. > Grüße Das Konzept möchte ich gerne verstehen. EEPROM an I2C haben einen begrenzten Adressraum. Wie soll der Spaß adressiert werden? Wenn man ein I2C-EEPROM als ID-Baustein verwendet, sollte die Adresse unter der man die ID ausliest doch immer dieselbe sein. Das widerspricht aber der Arbeitsweise des I2C-Bus. Man müsste also jedem Sensor einen Controller zur Kommunikation voranstellen, der sich um die Adressierung der dahinter liegenden Bausteine kümmert. Dann kann der auch gleich zur Identifikation herangezogen werden.
STK500-Besitzer schrieb: > Wenn man ein I2C-EEPROM als ID-Baustein verwendet, sollte die Adresse > unter der man die ID ausliest doch immer dieselbe sein. Kann auch, denn: Manuel P. schrieb: > Ich bin Bauteil A. Nehme ich nun dieses Bauteil A weg und ersetze es > durch Bauteil B, dann soll das Prozedere von vorne starten. Nur das Auslesen müsste dauernd geschehen, und das Blockieren des Buses bei keinem angeschlossenen Bauteil abgefangen werden! Gruss Chregu
Ein Byte/Word/Int/Seriennummer im EEPROM speichern?! Oder gleich den Typ ablegen? Das ist doch so schwer nicht zu verstehen, oder?
Zusätzlich eine Leitung mit legen die an einen ADC geklemmt ist Am master noch einen pullup dran ... Die kleinen Module haben Unterschiedliche Widerstände gegen GND ADC samplen lassen und gelegentlich den Wert auswerten Wert = vcc/ref dann kein Gerät angeschlossen Wert x - Gerät A Wert y - Gerät B
Christian M. schrieb: > Manuel P. schrieb: >> Ich bin Bauteil A. Nehme ich nun dieses Bauteil A weg und ersetze es >> durch Bauteil B, dann soll das Prozedere von vorne starten. > > Nur das Auslesen müsste dauernd geschehen, und das Blockieren des Buses > bei keinem angeschlossenen Bauteil abgefangen werden! Hatte ich überlesen. Aber welchen Sinn hat dann ein Bus?
STK500-Besitzer schrieb: > Aber welchen Sinn hat dann ein Bus? Zum Auslesen des EEPROM?! Mein erster Gedanke war auch ein einfacher Widerstand, wie Hff schrieb: > Die kleinen Module haben Unterschiedliche Widerstände gegen GND > ADC samplen lassen und gelegentlich den Wert auswerten Gruss Chregu
Hallo zusammen, danke vorab für die rege Teilnahme und sehr nützlichen Hinweise. Nun bekomme ich über den I2C raus, welche Bauteil verbaut sind, soweit so gut, nun möchte ich aber zusätzlich wissen, in welcher Reihenfolge diese verbaut sind.... am Beispiel 1.) arduino ist mittels i2c mit bauteil A(slave1) dann Bauteil B(slave2) und speichert dann in einem Array ab id[0=bauteilA; id[1]=BauteilB,usw Wenn ich ein Bauteil hineinbringe z.Bsp. BauteilT, kann ich durch den i2c ja rausbekommen - aha, nun ist BauteilT verbaut, aber wie bekomme ich heraus, wo es verbaut ist... Grüße und schönen Restsamstag
So langsam wird offensichtlich, das du hier an einem XY-Problem (siehe https://en.wikipedia.org/wiki/XY_problem) laborierst. Erzähl mal lieber, was du da vorhast. Eigentlich macht man so einen Bus mit Durchschaltfunktion, d.h. nur ein Gerät ist sichtbar und im Discoverymode, und schaltet dann nach der Erkennung den Bus "eins weiter". So kann man auch noch die Reihenfolge der Kette erfassen. Hättest du man vorher davon erzählt... Scheisendreck Salamitaktik, ne?!
Harry L. schrieb: > Jeder DS18x20 Temp.-Sensor hat eine einmalige individuelle Seriennummer. ebend, fiel mir sofort ein, alle meine Sensoren hängen an 72m, jeder Sensor hat eine mir vorher vor dem verbauen bekannte Seriennummer, und wo ich Sensor blau Nr.28471100 markiert auf den 72m verbaue weiss ich doch und wenn der sich nicht mehr meldet weiss ich auch wo ich hin muss.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.