Ich wollte einen Arduino Due mit einem Arduino Uno verbinden aber ich habe keine Ahnung wie das gehen soll kann mir das jemand bitte erklären?
Due-I2C - Levelshifter - UNO-I2C, dabei SCL mit SCL und SDA mit SDA verbinden.
I2C besteht aus SDA und SCL, neben dem USB-Anschluß (also GND/AREF/SDA/SCL). I2C benötigt PullUp-Widerstände (üblich 4,7 k Ohm), die der Due bei SDA/SCL schon hat, SDA1/SCL1 aber nicht.
Der eine ist I2C-Master, der andere I2C-Slave, kannst Du frei festlegen. Dann schickst Du Bytes hin und her.
Beispiele findest Du bei der Wire Library.
Gibt es auch eine Möglichkeit ohne Levelshifter.Könnte ich eigentlich nicht einfach IO-Pins benutzen mit einen Spannungsteiler allerdings habe ich es schon versucht und ich hab keine Ahnung was ich falsch gemacht habe.
Mit einem Spannungsteiler kannst Du die 5V auf für den Due verträgliche Größen bringen. Umgekehrt werden die 3,3 V des Due aber nicht angehoben. Es kann mit einem Spannungsteiler funktionieren, ist aus meiner Sicht aber eine Behelfslösung. Da ich keinen Due habe, kann ich es auch nicht probieren.
Wenn man was falsch macht, kann der Due ziemlich schnell kaputt sein, die Pins vertragen teilweise nicht mal 4 V.
Daher schalte ich meinen Due bei sowas immer einen IC vom Typ 74HC4050 vor. Der kommt an die 3,3 V Versorgung vom Due, seine Eingänge vertragen dann 12 V. Damit kann man sowohl IO-Signale als auch (Soft-) Serial machen. Der Uno sollte 3,3 V Eingangssignale akzeptieren, die braucht man nicht wandeln, ich führe sie zur Sicherheit aber auch über das IC.
Spannungsteiler sind eine Notlösung, für Serial glaube ich zu langsam.
I2C braucht auf jeden Fall einen speziellen Levelshifter, weil die Signale auf den Leitungen in beide Richtungen laufen.
Ansonsten kann ich nur bei Mischung von 3,3 V und 5 V Logik empfehlen auf Boards zu setzen, die mit 3,3 V arbeiten aber 5 V tolerieren, z.B. den Teensy 3.2.
Wie verbinde ich die Pins dann? Direkt oder noch mit Pull-Down?Und eigentlich wollte ich nicht noch mehr kaufen
maxwithdue:
Und eigentlich wollte ich nicht noch mehr kaufen
Die sind auch super teuer :o 2 Kanal IIC I2C Logic Level Converter Bi-Directional Modul 5V auf 3.3V
Der 74HC4050 enthält sechs Levelshifter die in eine Richtung arbeiten.
GND kommt an GND
VCC an 3,3 V vom Arduino
Ausgang vom einen Arduino an Eingang vom IC, zugehöriger Ausgang vom IC an anderen Arduino.
An den Ausgängen vom IC kommt fertige 3,3 V Logik raus, da braucht man keine Widerstände.
Die Eingänge schneiden alles was über 3,3 V liegt einfach ab.
maxwithdue:
Ich wollte einen Arduino Due mit einem Arduino Uno verbinden aber ich habe keine Ahnung wie das gehen soll kann mir das jemand bitte erklären?
Du solltest auch mal beschreiben, was du machen möchtest.
"Verbinden" sagt nichts oder viel aus.
Evtl. reicht ja ein Stück Bindfaden oder Kabelbinder.
agmue:
Die sind auch super teuer :o 2 Kanal IIC I2C Logic Level Converter Bi-Directional Modul 5V auf 3.3V
agmue:
Die sind auch super teuer :o 2 Kanal IIC I2C Logic Level Converter Bi-Directional Modul 5V auf 3.3V
Der 4-Kanal ist sogar noch billiger, als der 2-Kanal.
Gruß Tommy
Tommy56:
Der 4-Kanal ist sogar noch billiger, als der 2-Kanal.
Da sind aber auch weniger Widerstände drauf ;D