Hallo ich bin neu hier keine Ahnung ob ich das richtig mache mit einem Thema verzeiht mir also bitte fehler.
Ich programmiere gerade eine Steuerung für meinen Traktor. Der Arduino Mega hat ein 7 zoll Touchscreen und ist der Master. In der Motorhaube des Traktors sitzt ein weiterer Arduino UNO und misst Drehzahl und 9 Temperatursensoren. mein Plan ist es das der Mega den UNO nach Daten fragt und der diese dem Mega dann schickt so dass dieser sie auf dem Touchpad anzeigen kann. Ich habe schon so einiges probiert aber ich bekommes es nicht hin das er die Werte nacheinader schickt. Hatt jemand eine Idee wie sowas funktioniet oder kann mir I2C allgemein verständlich erklären dafür wäre ich sehr dankbar.
Code kann ich keinen zeigen da alles was ich programmiert habe Müll ist und nicht geht.
Danke
mfg
Im englischen Teil des Forum müssen die Beiträge und Diskussionen in englischer Sprache verfasst werden. Deswegen wurde diese Diskussion in den deutschen Teil des Forums verschoben.
Die kleinen ATmega Arduinos funktionieren nur schlecht als I2C Slaves. Am besten funktioniert es, wenn der Master Daten Byte für Byte von einem Arduino Slave abholt.
Würde mich trotzdem interessieren....
Der Thread ist wohl an mir vorbeigegangen.
Bei mir läuft soviel I2C in reichhaltigen Kombinationen, dass ich sagen kann, dass das stabil ist, solange man sich an die Spezifikation hält.
Ausnahme: Mehr als 2 AVR als Master.
Dann muss man sich etwas strecken!
Nein ist es nicht.
Sobald man gegen die Spezifikation/Datenblätter verstößt, knallt es.
Never-ever. I²C klappt im Bereich bis 25, vielleicht 50cm in kontrollierter Umgebung, danach geht es schief (Störeinstrahlung, Leitungskapazität verschleift die Signalflanken).
Ah oke dann muss ich wohl auf CAN Bus.
Aber intressieren würde es mich schon wie die normale vorgehensweise ist bei I2C kommunikation.
Woher wüsste der Master welchen wert von Welchem sensor ist? Villeicht ist die frage auch dumm für erfahrene Programmierer aber mir ist das nocht nicht klar wie ich es machen müssen hätte.
Du müsstest Dir ein Schema überlegen, an welcher Adresse der "Sensor-Arduino" welchen Sensorwert zur Verfügung stellen will. Und damit ist dann auch beim Master klar, welchen Wert er liest.