APDS-9960 (3,3V) an ARDUINO NANO (5V) richtig anschließen, Brauche ich ein Logik Level Converter?

OP #5741767
Lesenswert?

yC = Arduino NANO

Das Modul =  APDS-9960 Digital Proximity, Ambient Light, RGB and Gesture 
Sensor

Pin Label  Description
VL = Optional power to the IR LED if PS jumper is disconnected.

GND = Connect to ground.

VCC = Used to power the APDS-9960 sensor. Must be 2.4 - 3.6V

SDA = I2C data

SCL = I2C clock

INT = External interrupt pin. Active LOW on interrupt event


Jetzt habe ich im Internet Anleitungen gefunden die das Modul  einfach 
an einem Arduino UNO so anschließen:

VL = offen

GND = GND

VCC  = 3,3V

SDA = A4

SCL = A5

INT = D2


Jetzt meine Sorge und Frage:

Der I2C ist doch bidirektional, ist es nicht gefährlich das Modul 
einfach an SDA und SCL anzuschließen, da kommen doch 5 V auf den Sensor?

Im Datenblatt steht nicht mehr als 3,8V.

Dann habe ich gelesen der I2C BUS bei Modulen verträgt generell 5V 
obwohl das Modul selbst nur mit 3,3V arbeitet.


Brauche ich jetzt ein Logik Level Converter oder nicht?
#5741790
Lesenswert?

Jan C. schrieb:
> yC = Arduino NANO

Das schreibt man eher als uC.

> Der I2C ist doch bidirektional, ist es nicht gefährlich das Modul
> einfach an SDA und SCL anzuschließen, da kommen doch 5 V auf den Sensor?

Jain, das wird durch die Pull-Up widerstände auf dem Arduino in Richtung 
5V gezogen, allerdings eben stark strombegrenzt. Das Problem sind eher 
die ungünstigen Schaltschwellen. Das kann funktionieren, muss aber 
nicht.

> Dann habe ich gelesen der I2C BUS bei Modulen verträgt generell 5V
> obwohl das Modul selbst nur mit 3,3V arbeitet.

Das stimmt so allgemein nicht.

> Brauche ich jetzt ein Logik Level Converter oder nicht?

Der ist sehr zu empfehlen und auch leicht machbar. Gibt es fertig als 
Modul oder aus 2 Transistoren und ein paar Widerständen selber bauen.

https://www.mikrocontroller.net/articles/Pegelwandler#I2C-Bus:_gemeinsam_3.3V_und_5V
Gast #5741858
Lesenswert?

Situation:
5V µC
3,3V Sensor

I2C Pullups an 3,3V, dann wird der Sensor überleben
Aber der Pegel ist knapp für den µC.

I2C Pullups an 5V, dann Gefahr für den Sensor.


Levelshifter zwischen den beiden, dann alles gut.

Jan C. schrieb:
> Jetzt habe ich im Internet Anleitungen gefunden die das Modul  einfach
> an einem Arduino UNO so anschließen:
Tausend Fliegen können nicht irren, Schei*e schmeckt gut.

Jan C. schrieb:
> Brauche ich jetzt ein Logik Level Converter oder nicht?
Du weißt es doch schon!
Wozu die Frage?

Oder möchtest du einen Freibrief, eine Erlaubnis, den gleichen Mist zu 
bauen?




Tipp:
Je mehr Problempotential du in deine Schaltungen einbaust, desto größer 
die Wahrscheinlichkeit, dass dich das irgendwann einholt.

Tipp 2:
Tutorials verführen einen dazu das eigene Denken abzuschalten.


----------
Eine Schnellsuche ergab:
https://learn.sparkfun.com/tutorials/apds-9960-rgb-and-gesture-sensor-hookup-guide/all
> Level shifting -- If you are using a 5V Arduino,
> like the Uno or RedBoard, you will need to use a
> level shifter, such as the bi-directional logic level
> converter

Deine Entscheidung!
Glaube den Tutorials, die von Leuten geschrieben wurden, welche evtl 
dümmer sind als du, oder glaube den Herstellern der Breakout Boards.

Alternativ:
Datenblatt lesen, und eigene Denke einschalten.

Otto Mans schrieb:
> Da läuft bei mir prima mit 5V -
Fein!

Otto Mans schrieb:
> ist ein Regler drauf (LM6206).
Klar, das ist natürlich ein guter Schutz für die Datenleitungen, und 
sorgt für bessere Pegel? ?
Nee, oder?

Otto Mans schrieb:
> Das ganze
> China-Breakout Zeug läuft doch fast immer mit 5V?
Is auch klar....
Das scheint mir eher ein Defekt in der Transferleistung zu sein.
Gast #5741875
Lesenswert?

Moin,

Im Datasheet steht ausdrücklich "Pull-Ups an VDD oder 1,8V" - also 
irgendwas dazwischen. Du kannst auf dem µC einen Software-I2C einrichten 
und dann dort die Pull-Ups auf 3,3V legen.

gruß
OP #5741924
Lesenswert?

Hey richtig was los hier, vielen Dank für die vielen Antworten ! ! !

So schnell kann ich aber nicht Antworten.


Aber generell, warum immer so feindselig wenn man mal auf dem Schlauch 
steht? (@Arduino Fanboy D. ich liebe Freibriefe)

Arduino Fanboy D. schrieb:
>Tipp: Je mehr Problempotential du in deine Schaltungen einbaust, desto größer die 
Wahrscheinlichkeit, dass dich das irgendwann einholt.
Deshalb will ich wissen kann ich mir den Logik Level Converter sparen.

Falk B. schrieb:
> Das schreibt man eher als uC.
Danke, werde ich in Zukunft berücksichtigen. Dabei dachte ich es kommt 
von Mikro = Minuskel „μ“…

Otto Mans schrieb:
> Da läuft bei mir prima mit 5V - ist ein Regler drauf (LM6206). Das ganze 
China-Breakout Zeug läuft doch fast immer mit 5V?

Ich weiß nicht ob es das Merkmal ist, doch bisher waren bei mir 
China-Breakout Zeugs mit blauer Platine 5V und mit Lila Platine 3,3V.

Jetzt habe ich einfach mal ausprobiert:

Bild1 = APDS-9960

Bild2 = Gaoxing Tech. 5PCS 2 Kanal Logik Level Converter 3.3V bis 5V TTL 
Bidirektionales Modul für Arduino

Also:

NANO - Logik Level Converter

A5 – TXO (oben, ganz links)

3,3V -  LV (unten, 3te von links)

5V - HV (oben, 3te von links)

(oben links auf Bild 2 der dritte Pin hat bei normal  die Beschreibung 
HV, warum die hier fehlt keine Ahnung)

GND – GND (alle GND miteinander verbunden)

A4 – TXO (oben, ganz rechts)



Logik Level Converter – APDS

TXI(unten, ganz links)  – SCL

LV – VCC

GND – GND (alle GND miteinander verbunden)

TXI(unten, ganz rechts)  – SDA


Leider funktioniert es nicht mit dem Logik Level Converter.

Ist aber auch das erste mal das ich den benutze.

Meldung: Something went wrong during APDS-9960 init!

Stimmen die Verbindungen?

Wie schließt man diesen (China) LLC richtig an  ?
Angehängte Dateien:
Persönliche Seite #5741936
Lesenswert?

Jan C. schrieb:
> Leider funktioniert es nicht mit dem Logik Level Converter.

I2C ist ein Open-Collector- bzw. Open-Drain-Bus, der braucht geeignete 
Konverter.

PCA9517 oder PCA9306 sind verbreitete Kandidaten, man kann sich aber 
auch 'ne diskrete Schaltung mit ein paar Mosfets zusammenbasteln:

Beitrag "Level Shifter selbst bauen, ESP8266, I2C, Bi-Direktional - Welcher MOSFET?"
OP #5741951
Lesenswert?

@ Rufus Τ. F.
Bedeutet das jetzt dass die Schaltung mit meinem Logik Level Converter 
nicht laufen kann?


Ich dachte hier vielleicht als Ersatz für den Converter einfach 10K 
Widerstände in reihe (bei SCL und SDA). (Low Budget)...
Da sonst nix anderes am Bus hängt.

PULLUP, wenn ich das Datenblatt richtig verstanden habe hat der Sensor 
schon 4,7K Pullups an SCL und SDA.
OP #5742000
Lesenswert?

Ach menno, wollte die Lautstärke meiner Anlage per Gesten steuern (wenn 
man mal Fettfinger oder so hat), heute, mal eben so , weil der Sensor 
gestern angekommen ist.


rufus schrieb:
>PCA9517 oder PCA9306 sind verbreitete Kandidaten, man kann sich aber
>auch 'ne diskrete Schaltung mit ein paar Mosfets zusammenbasteln:
>
>Beitrag "Level Shifter selbst bauen, ESP8266, I2C, Bi-Direktional - Welcher 
MOSFET?"

Also (wenn ich es richtig verstanden habe)

Variante 1 = PCA9517 oder PCA9306
Variante 2 = einen MEGA (3,3V) oder so bestellen
Variante 3 = ich gehe einfach nach der fragwürdigen Anleitung und 
schliesse direkt an.


Tor 1, Tor 2 oder Tor3.


hmm, ich wähle jezt Tor 3


Ich versuche es einfach. 5 € wenn der APDS-9960 abfackelt.


Ich werde gleich berichten.
Gast #5742023
Lesenswert?

Jan C. schrieb:
> hmm, ich wähle jezt Tor 3
OK ....



Jan C. schrieb:
> Aber generell, warum immer so feindselig wenn man mal auf dem Schlauch
> steht? (@Arduino Fanboy D. ich liebe Freibriefe)

Feindselig?
Wenn du meinst....

OK, die Unmengen an Dummbeutel Tutorials im Inet nerven wirklich 
etwas....

Aber noch viel schlimmer, sind die Leute, welche so schau sind, ins 
Datenblatt zu schauen, und TROTZDEM noch den Mist aus den offensichtlich 
fehlerbehafteten Tutorials nachbauen wollen.
Gegen das eigene Wissen!
Gegen jede Logik.
Es tut mir schon etwas weh, sowas beobachten zu müssen.

Jan C. schrieb:
> Da der Interrupt auf null zieht (also auf GND) kann doch nix kaputt
> gehen?
Und wenn er gerade nicht auf Null zieht, was ist dann?

Jan C. schrieb:
> Deshalb will ich wissen kann ich mir den Logik Level Converter sparen.
Du weißt die Antwort doch schon!
Du wusstest sie schon, bevor du hier geschrieben hast.
Warum solltest du mir glauben, wenn du dir noch nicht mal selber 
vertraust?
Deiner eigenen Denkleistung?
Deiner eigen Logik?
(War das wieder aggressiv?)

Jan C. schrieb:
> Ich weiß nicht ob es das Merkmal ist, doch bisher waren bei mir
> China-Breakout Zeugs mit blauer Platine 5V und mit Lila Platine 3,3V.
Das ist eine "Projektion"!
Du machst dir ein Bild von der Welt, projizierst dein Bild von der Welt 
auf die Welt, und dann hat sie sich gefälligst deiner Projektion gemäß 
zu verhalten.
Das kann klappen... ein Zeitchen lang ...
Aber als Tipp?
Nee, oder?
OP #5742064
Lesenswert?

@Arduino Fanboy D.

Warum gibt es dann diese Anleitungen die offensichtlich zum Erfolg 
führen?

Kann es nicht sein das ich mir den Sensor wegen dem falschen LLC 
vernichtet habe?
(Oder weil ich falsch angeschlossen habe)


Kann es nicht sein das der normalerweise so richtig funktioniert und ein 
LLC (PCA9517 oder PCA9306 oder MOSFEETS) völlig unnötig ist.


Warum hat es bei anderen (mit Video) funktioniert? Und bei mir mit LLC 
nicht?
Gast #5742078
Lesenswert?

Jan C. schrieb:
> Na ja , das wars wohl.
>
> Something went wrong during APDS-9960 init!

Glückwunsch!
Das könnte jetzt der Erfolg dessen sein, wenn man bewusst und 
absichtlich eine falsche Entscheidung trifft.
Ich hoffe, dass du damit etwas wichtiges gelernt hast.
Ich wünsche es dir!


Dein Levelshifter  ebay: 302248376300
Ist eindeutig als UART Levelshifter ausgewiesen.
Auch eindeutig, als solcher beschriftet.
Kein Wunder, dass der nicht funktioniert.
(zumindest mich wundert es nicht)

Dieser, ebay: 253050668603
Ist für I2C vorgesehen, und wird funktionieren.



-----------


Jan C. schrieb:
> Sorry
> nochmal @  Arduino Fanboy D.
> "Projektion"!
>
> Wie sieht es bei Dir aus mit blau und lila?
>
> Hast Du mal nachgeschaut in Deinem Inventar, hast Du überhaupt Chinaware
> ?
>
> Hast Du Platinen in Blau die mit 3,3V laufen und Platinen in lila die
> mit 5V laufen?
Sorry, aber mir scheint, du bist etwas verrückt, irre, oder was 
vergleichbares.
Evtl. kannst du das noch korrigieren, wenn du allmählich anfängst deine 
Hirnwindungen einzusetzen.
Z.B. um Wissen von Fantasie zu unterscheiden...


OK, bei Leuten, denen die Farbe eines Boards wichtiger ist, als das 
Datenblatt, da muss ich dann wirklich aufgeben.
Hopfen und Malz verloren.... (sagt man doch so, oder?)
OP #5742141
Lesenswert?

Arduino Fanboy D. schrieb:
> Sorry, aber mir scheint, du bist etwas verrückt, irre, oder was vergleichbares.

Nun gut, ich habe bisher immer nur Fragen gestellt.
Wenn Du meinst das ich weniger „drauf“ habe wie du, das kann gut sein, 
muss aber nicht.


Ich habe bis hier her versucht keine Antwort oder die Personen die da 
hinter steckt zu kritisieren oder schlecht zu texten.
Ich versuche Lösungen zu finden und wenn ich hier schreibe hat das auch 
den Sinn Lesern die unsere Diskussion folgen zu helfen.
Ich habe keine Lust hier in dem Forum auf Intelligenzmessung.
Gerne gebe ich Dir persönliche Kontaktmöglichkeiten und wir können uns 
in Ruhe duellieren.


Zurück zum Thema.


Es gibt (für z.B. ARDUINO) Module in blau und lila. Ich gehe mal stark 
davon aus das die Farbe von den Produktionsschritten in China abhängt. 
(Und mehr nicht.)

Schön wäre es, Module einfach an der Platinen Farbe zu unterscheiden, 
was bei mir bisher der Fall war. Alle meine (ca. 20), aus China 
bestellten Module sind halt 5V = Blau 3,3V = Lila.

@ Arduino Fanboy D. wohl nur Zufall?



Zum Beispiel BOSCH BMP 280 (Temperatur) habe ich als China Nachbau 
geliefert bekommen.


Der blaue läuft einwandfrei auf dem NANO (5V).

Der Lila (gleiches Datenblatt!!!) läuft nur mit 3,3V.


Ach ja, jetzt funktioniert der Sensor einwandfrei ohne Levelshifter.
Ich musste nur ein bisschen an der Verkabelung wackeln, das war´s. 
(ChinaWare)


So jetzt nochmal zu Arduino Fanboy D.
>Glückwunsch!
>Das könnte jetzt der Erfolg dessen sein, wenn man bewusst und
>absichtlich eine falsche Entscheidung trifft.
>Ich hoffe, dass du damit etwas wichtiges gelernt hast.
>Ich wünsche es dir!
 Was ist jetzt ? Das Ding läuft, wer versteht die Realität nicht so ganz 
?
Gast #5742200
Lesenswert?

Jan C. schrieb:
> wer versteht die Realität nicht so ganz?
Ich wünsche dir viel Erfolg auf deinen Wegen!

Erstaunlicherweise war irgendwie von Anfang an recht klar, dass du deine 
Entscheidungen schon vor dem ersten Posting getroffen hast.

Freibrief?
Nicht von mir!
Auch keine Einsicht bei mir!
Das Datenblatt ist auf meiner Seite.

Deine Argumentation "tuts doch" ist ebenso schwach, wie mit der Farbe 
deiner Boards.

Übrigens, wenn auch nicht wirklich vergleichbar:
Es gibt Leute, welche eine Bank überfallen haben, aber nicht erwischt 
wurden.
Ist das schon ein Freibrief?

-------

Jan C. schrieb:
> Ich habe keine Lust hier in dem Forum auf Intelligenzmessung.
;-)
OP #5742274
Lesenswert?

Jetzt geht auch schon: Nach links wischen, Musik leiser, nach rechts 
wischen Musik lauter.

@Arduino Fanboy D.

Hey, was ist los bei Dir?

Brauchst Du Hilfe?

Hast Du es nicht verstanden?

Das Datenblatt das Du da hast, stimmt das überhaupt mit meinem (China 
Nachbau) Modul überein?

Die China Dinger scheinen am I2C doch mit 5 V Pegel klar zu kommen. 
Zumindest das eine APDS-9960 das ich habe und das der aus dem Video hat.
Das sind Tatsachen. Was lieferst Du?

>Erstaunlicherweise war irgendwie von Anfang an recht klar, dass du deine 
Entscheidungen schon vor dem ersten Posting getroffen hast.

Doch was hat jetzt eins Deiner Post gebracht ? NIX brauchbares!

Hast Du mal nach blau und lila geschaut, sieht es bei Dir anders aus 
oder hast Du die garnicht und laberst nur theoretisch?

Was habe ich bisher rausgefunden, mein MODUL läuft direkt am NANO!

In der Praxis vom Youtube Video und in meiner Realität hat es sich doch 
bewährt, es funktioniert ohne Converter.


Warum drängst Du jetzt darauf unbedingt recht zu haben. Los beweise. Wie 
läuft den Dein Gesten Sensor so?

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren