Relais und LCD Anzeige am I2C-Bus

Heute ist Stammtischzeit:
Jeden Donnerstag 20:30 Uhr hier im Chat.
Wer Lust hat, kann sich gerne beteiligen. ;)
  • Hallo zusammen,

    ich habe ein kleines Projekt am laufen und habe jetzt ein Problem.

    Ich Schalte über den I2C-Bus 20 Relais der Reihe nach durch was bisher auch gang gut geklappt hat.

    Nun wollte ich noch eine LCD-Anzeige (I2C LCD1602) mit einbauen.

    Es kommt vor das er die Adresse (Adressen) nicht immer findet und dann mit einem Fehler aussteigt.

    Ich habe den I2C-Bus über die 3,3 V des Raspi (1A+) versorgt.

    Das LCD-Display bekommt auch davon die Spannung. Leider ist es dadurch nicht so hell da es für 5 V ausgelegt ist.

    Meine Frage:

    Kann ich den gesamten I2C-Bus mit 5 V versorgen und wie sieht es dann mit den Signalen für die beiden Leitungen SDA und SCL aus?

    Muss ich hier Spannungsteiler einbauen damit ich die GPIO's des Raspi nicht beschädige?

    Die Porterweiterungen für die Relais , MCP23017 kann ich auch mit 5 V betreiben.

    Es wäre einfacher die gesamte Schaltung mit 5 V zu betreiben.

    Gruß Wafud

    Einmal editiert, zuletzt von Wafud (13. April 2019 um 11:23)

  • Kann ich den gesamten I2C-Bus mit 5 V versorgen und wie sieht es dann mit den Signalen für die beiden Leitungen SDA und SCL aus?

    Muss ich hier Spannungsteiler einbauen damit ich die GPIO's des Raspi nicht beschädige?

    Das Zauberding dafür könnte Levelshifter lauten.

  • Hmmm, lass mich mal überlegen, wie du rauskriegen könntest, was ein Levelshifter ist, wenn dir das so überhaupt gar nichts sagt...

    Ich hab ne Idee... Lauf durch die Straßen deiner Stadt und frag einfach die Leute, irgendeiner wird es schon wissen.

    Und wenn du es rausbekommen hast, dann gründe eine Intenetplattform, wo du dieses Wissen mit anderen teilst oder die Möglichkeit bietest, einfach Informationen in aller Welt zu suchen. Mach sie öffentlich, lass andere ihr Wissen dort teilen und werde so berühmt wie... sagen wir Jimmy Wales oder Larry Page.

    Oh, man kann hier unliebsame Nutzer blockieren. Wie praktisch!

  • Levelshifter sagt mir nichts. :denker:

    Ist das sowas wie ein Spannungsteiler?

    Naja, nutz doch einfach eine Suchmaschine deiner Wahl. Mein Favorit dafür ist Startpage.com.

    Spannungsteiler? Nö.

  • Bernd, du erleuchteter... inwiefern betrachtest du einen Levelshifter als Spannungsteiler? Ich fürchte, du wirst mich nur schwer überzeugen können, dass ein Levelshifter ein Spannungsteiler ist. (Mit viel Nachsicht ist vielleicht ein Spannungsteiler ein Levelshifter... aber andersrum - naja.)

    Oh, man kann hier unliebsame Nutzer blockieren. Wie praktisch!

  • Moin Gnom,

    kannst du mir sagen was das ist

    Zitat


    220px-Spannungsteiler_pegelumsetzer.svg.png


    Gruss Bernd

    Ich habe KEINE Ahnung und davon GANZ VIEL!!
    Bei einer Lösung freue ich mich über ein ":thumbup:"
    Vielleicht trifft man sich in der RPi-Plauderecke.
    Linux ist zum Lernen da, je mehr man lernt um so besser versteht man es.

  • Wafud Koenntest du bitte den Titel des Themas ändern, "Realis" hoert sich irgndwie wie eine Geldwährung oder ein Schnellzug an....

    Meine Frage:

    Kann ich den gesamten I2C-Bus mit 5 V versorgen und wie sieht es dann mit den Signalen für die beiden Leitungen SDA und SCL aus?

    Nein, kannst du nicht. Der Raspberry Pi ist für 3.3V ausgelegt.


    Muss ich hier Spannungsteiler einbauen damit ich die GPIO's des Raspi nicht beschädige?

    Nein, im Gegenteil, du brauchst einen Pegelwandler, engl, "Levelshifter". gibts für wenig Geld zu kaufen.

    Es wäre einfacher die gesamte Schaltung mit 5 V zu betreiben.

    Dann ist der Raspberry Pi die falsche Wahl für dich, nimm doch einen Arduino.


    Was du machen kannst... ist aber DIY Bastelei... Du kannst das LCD1602 extern mit 5V versorgen, und den I2C Bus vom Raspberry daran anschliessen, und ***hoffen*** dass die Pegel des Raspberry ausreichen das LCD1602 Modul anzusprechen. Aber wie gesagt, ist nicht empfehlenswert, hier ist ein Levelshifter angebracht.

  • Gegenfragen zeugen bestenfalls von Ahnungslosigkeit.

    Wie ich oben schon sagte, ist ein Spannungsteiler villeicht noch ein (ziemlich rudimentärer) Levelshifter - aber ein Levelshifter muss kein Spannungsteiler sein - und ist in der Regel auch keiner. Oder ist das ein Spannungsteiler?

    Patzige Antworten in der Form "Doch!" die nicht mehr als verallgemeinernde Halbwahrheiten sind, bringen dem Fragenden ziemlich wenig.

    Oh, man kann hier unliebsame Nutzer blockieren. Wie praktisch!

  • Moin Wafud,

    es ist einfacher, wenn du das Display mit 5Volt versorgst und in den Leitungen zum Display einen "Levelshifter" einbaust.

    Um das Ganze zu testen. Schließe das Display an 5 Volt an und mess die Spannung an den SDA und SCL des Display's.

    Liegen dort 5 Volt an, dann muss du was machen.

    Es gibt fertige Baugruppen, digital, die das erledigen.

    Den Rest des I2C-Bus kannst du so lassen.

    Gruss Bernd

    Ich habe KEINE Ahnung und davon GANZ VIEL!!
    Bei einer Lösung freue ich mich über ein ":thumbup:"
    Vielleicht trifft man sich in der RPi-Plauderecke.
    Linux ist zum Lernen da, je mehr man lernt um so besser versteht man es.

  • Danke Bernd, wenigstens eine sachliche Antwort :thumbup: :)

  • kannst du mir sagen was das ist

    ich verrate dir was, dein Spannungsteiler ist ein unidirektionaler Levelshifter

    5V -> 3,3V klappt

    3,3V -> 5V klappt nicht

    I2C ist aber bidirektional in beide Richtungen, jeder muss man high und low machen, auf der einen Seite darf es nur zwischen 5V und 0V wechseln, auf der anderen seite nur zwischen 3,3V und 0V

    Das können 2 R nicht, wo 3,3V reingehen kommen selten 5V raus!

    Deswegen nimmt man levelshifter:

    https://i.stack.imgur.com/gS3SS.jpg

    fertig mit 4

    https://eckstein-shop.de/SparkFun-Logic…MhoCoFgQAvD_BwE

    lasst die PIs & ESPs am Leben !
    Energiesparen:
    Das Gehirn kann in Standby gehen. Abschalten spart aber noch mehr Energie, was immer mehr nutzen. Dieter Nuhr
    (ich kann leider nicht schneller fahren, vor mir fährt ein GTi)

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!