IR Sensor mit bestimmten Wert

Hi,

ich spiele ein bisschen mit dem Arduino rum und zwar mit einen Näherungssensor. Jetzt habe ich mal einen selbst auf eine Steckplatine erstellt. Im Monitor sehe ich einen Wert, der sich mit der Näherung verändert. Wie kann ich das so bauen, das wenn ich mehre solche Sensoren verwende möchte, ich jeden Sensor bei Näherung nur einen bestimmten Wert übermittle. Sensor 1 übermittelt die 1, Sensor 2 die 2 usw...

Meine Überlegung ist mehre IR Sensoren über einen Kanal laufen zu lassen...

Grüße

Die Werte der Sensoren kannst du nicht direkt beeinflussen.
Du kannst aber im Arduino auf unterschiedliche Werte auch unterschiedlich reagieren.
Die machst du z.B. mit einer if-Abfrage oder per Switch und Case.

Beispiele dazu findest du unter Beispiele der IDE.

Welchen Sensor hast Du denn?

Ich habe mehrere Platinen nach diesem Prinziep IR Sensor Module Making in Home | DIY - YouTube

Wenn ich jede einzelne Platine als Slave haben möchte mit einem I2C, wie gehe ich das denn am Besten an, welchen I2C sit hier der richtige für mich?

moosik:
Ich habe mehrere Platinen nach diesem Prinziep https://www.youtube.com/watch?v=Z7apcMpe8hA

Wenn ich jede einzelne Platine als Slave haben möchte mit einem I2C, wie gehe ich das denn am Besten an, welchen I2C sit hier der richtige für mich?

moosik:
Ich habe mehrere Platinen nach diesem Prinziep https://www.youtube.com/watch?v=Z7apcMpe8hA

Wenn ich jede einzelne Platine als Slave haben möchte mit einem I2C, wie gehe ich das denn am Besten an, welchen I2C sit hier der richtige für mich?

Das Video sagt nichts aus.
Zudem hat das Modul so nichts mit I2C zu tun.
Was für einen Sensor setzt du ein ?

Und was genau hast du vor ?

Mehr Informationen und eine bessere Beschreibung wäre hier wichtig.

Ich möchte ein Stufenlicht für meine Treppe bauen, nur soll nur die Stufe leuchten, wo einer steht.

Ich habe einige Platinen gebaut, die nach diesen Schaltkreis wie im Clip bestückt sind. Die funktionieren auch wie gehabt und gewollt. Für die Stufen verwende ich Neopixel LEDs ... Da ich diese hintereinander stecken kann, möchte ich das gleiche mit der Platine tun- Damit ich Neopixel-daten und Platine-daten über ein kabel erweitern kann. Mit den Neopixel-LEDs geht das ja super,...

Also möchte ich auch alle Platinen mit dem IR Näherungssensor auch über einen Datenkanal betreiben. Da ich dann alle Platine mit und Neopixel-LEDs immer verlängern kann. Die Platine an sich muss ja nur wissen, ob der Näherungssensor reagiert, wie nah etwas ist, interessiert mich nicht. Nun soll jede Platine einen Wert z.B. 1 (Für erste Plantine) an den Channel des Arduino schicken... Platine 2 den wert 2... usw...

Ich hoffe du verstehst wohin ich will

Das hatte ich dir in meinem Post #1 schon erklärt und daran hat sich nichts geändert.
Was dir fehlt, sind Grundlagen der Elektronik und des Arduinos. Diese Grundlagen solltest du unbedingt lernen.

Allerdings kannst du jeweils einen Sensor an einen Pin anschließen und jeden Pin einzeln abfragen und auswerten.
Über eine Datenleitung wird das nichts.
Aber wenn du I2C-Expander verwendest, geht es über I2C.

Habe mir gerade das Video nochmal angesehen und vermute, für die Auswertung auf der Treppe reicht dir Empfindlichkeit des Sensors nicht aus.
Das solltest du nochmal überdenken.

Wieso geht doch? Habe das etwas modifiziert... ich arbeite mit mehren Dioden und mit einem Operationsverstärker (LM358P) und mit dem Potentiometer kann ich das bis auf 60cm ausreizen. Mir reichen aber ca 35 cm...

Also die gehen schon, ich habe 4 solcher Platinen und das alles schon getestet, das läuft... Nur möchte ich eben die Platinen in Reihe haben, so wie die Neopixels auch, mich stört das jede Platine seinen eigenen Pin hat ich aber die Neopixel kan ich durchreichen... würde eben gerne alles durchreichen...

Und mal am Rande ich beschäftige mich doch gerade mit den Grundlagen, das aber eben auf meine Art und Weise.

Na das ist doch toll.
Woher sollen wir wissen, wie du was aufgebaut hast, wenn du das nicht schreibst.
Im Video steht was von 9,5 cm oder so, das war deine Info.

Und da du ja auf deine Art fast alles weißt, solltest du auch sehen, dass es mit einer Leitung an deinem Sensor nicht geht.

Das war jetzt das dritte mal, mehr kommt von mir dazu nicht.

Ausser, eigener Controller pro Sensor oder I2C-Expander.

moosik:
ich jeden Sensor bei Näherung nur einen bestimmten Wert übermittle.

Meine Überlegung ist mehre IR Sensoren über einen Kanal laufen zu lassen...

Du kannst jedem Sensor gerne einen Wert übermitteln, aber was soll der damit?
Was für ein Kanal?

Erkläre doch erstmal, was Du hast. Sensoren wie diese:

oder was komplett selbst gebautes.

Jeder Sensor benötigt erstmal einen PIN am Arduino.
Soweit die Theorie.
Das gilt auch erstmal für eine LED. Wie Du aber bemerkt hast, gilt das für Deine nicht. Das bedingt aber, das dort eine eigene Intelligenz, sprich Elektronik, drin steckt.

Also musst Du erstmal eine Überlegung tätigen, ob Du einen BUS selber bauen willst, oder auf einen vorhanden zurückgreifen kannst.
Vorhanden sind (Software)Serial, SPI, I2C.
Nutzen kann man ebenfalls 1Wire, möglich ist auch RS422.

Also erstmal die elektrischen Voraussetzungen der jeweiligen Systeme prüfen und entscheiden, was da in Frage kommt.
Dann musst Du für Dich klären, ob Du vom Sensor (siehe oben) das analoge UND/ODER das digitale Signal auswerten willst.
Danach heisst es dann für das BUS-System entsprechende Schnittstellenchips zu finden.
Bei I2C z.B. wäre es möglich einen 8 oder 16Port zu betreiben - also 16 Sensoren einzeln mit VDD/GND/DigitalPin an eine Platine in einer UP-Verteilerdose und dort auf einen MCP23017 - von dort weiter mit VDD/GND/SDA/SCL auf einen ARDUINO.

Auch ginge, z.B. ein DS2413. Damit könntest Du 1Wire aufbauen.
Auf JEDES Sensorplatinchen ein so ein Teilchen und Du kannst einen BUS mit 3 Leitungen bauen. (VDD/GND/DATA)

Ich denke damit bist Du gut ausgerüstet um erstmal Deine Anforderung zu formulieren.

Ich will nicht zu jeden Sensor einen Wert schicken, sondern von jeden Sensor einen Wert den ich vergeben kann an den Arduino.

Ich habe keinen Sensor fertig, sondern selbst kleine Platinen gebaut, damit ich die Leistung bekomme die ich brauche. Ich hatte es vorher mit denen wie in deinem Link zu sehen ist versucht, aber die kommen nicht so weit. Die Platinen könnten auch ohne Arduino laufen. Doch wenn ich eine bestimmte Range der Neopixel an oder aus schalten möchte soll das nun der Arduino übernehmen.

Der momentane Ist-Zustand ist, das jeder Sensor an einen Pin ist und auch wie gewünscht läuft. Mir persönlich sind das zu viele Kabel und zu wenig Treppenstufen pro arduino.

Ich möchte nun gern die Platine des Sensor so erweitern, das bei Reaktion des Sensor's, einen von mir festgelegten Wert an den Pin schickt des Arduinos schickt. Der Näherungswert des Sensors an sich, interessiert mich nicht, ich muss nur wissen das da was war. Meine Gedanke ist so, das ich "alle bzw. viele" Platinen über eine Pin betreibe und der Arduino an Hand des übermittelten Wert eine bestimmte Range meiner Neopixel schaltet.

So könnte ich von Stufe zu Stufe, also in "Reihe", das System erweitern. Jede Stufe bekommt also einen Wert der bei einer Reaktion des Sensor an den Arduino geschickt wird.

Ich will hier jetzt auch kein Elektronikass werden. Ich habe nur eine Aufgabe und die möchte ich lösen! Ich will nur hören, ja das kann man evtl. so oder so machen. Dann gucke ich mir das an und lerne an die Aufgabe und den daraus resultierten Anforderungen.

Es kann sein das ich einen falschen Link gesetzt habe, die Platinen sind so aufgebaut: IR Proximity Sensor / Obstacle Detector circuit on Breadboard | LM358 Op-Amp projects - YouTube

moosik:
Es kann sein das ich einen falschen Link gesetzt habe, die Platinen sind so aufgebaut: https://www.youtube.com/watch?v=qEMtCKfZOHw

Wie jetzt, du weißt nicht, was für einen Link du gesetzt hast ?

Egal, deine Fragen haben wir schon beantwortet.
Zusätzlicher Controller, One-Wire-Controller, I2C.
Du musst nur lesen und einen dieser Vorschläge nachbauen.

Zuerst mal sind meiner Meinung diese Sensoren nicht genügend Umgebungslichtresistenz um 100% sicher zu funktionieren. Der Sensore mißt das von einer Oberfläche zurückgeworfene Licht und mittels des Pontentiometers wird eine Schaltschwelle definiert bei der der Ausgang des Operationsverstärker HIGH geschaltet. Darum hängt die Empfindlichkeit (max Entfernung des zu erkennenden Gegenstand) stark von seiner Farbe (Rückstrahlfähigkeit im IR-Bereich) bzw Spiegelung ab.
Beim unbenutzten zweiten Optokoppler im LM358 sollten Die Eingänge auf Masse geschaltet werden um ein Schwingen zu verhindern.
Wie gesagt, meiner Meinung ist das ein für Deinen Zweck ungeeigneter Sensor.

Zum Anderen.

Dieser Sensor hat nur einen Ausgang der HIGH oder LOW ist. Er hat keine Intelligenz um den Zustand über eine irgendwie geartete Serielle Schnittstelle zu schicken. Dazu bedarf es eines Kontrollers.

Da Du nur eine LEDZeile einschalten willst die dem aktivierten Sensor entspricht dann rate ich Dir nimm eine 12V LEDZeile (solche wie zu Beleuchtungszwecken und schalte diese mittels eines MOSFETs direkt am OPAmp-Ausgang. So brauchst Du nur Versorgungsspannung uns sonst keien Kabel. Der gezeigte Sensor funktioniert mit veränderten Vorwiderständen für die 2 LEDs auch an 12V.

Ich finde es aber wenig sinnvoll immer nur die betretene Stufe zu beleuchten und die obere bzw untere Stufe im Dunkeln zu haben. Da tritts Du ins Dunkle.

WS2812 finde ich auch sinnlos wenn man nicht Farbspiele machen will. für Beleuchtung sind sie die falsche Wahl.

Grüße Uwe

Es kann sein das ich einen falschen Link gesetzt habe, die Platinen sind so aufgebaut: https://www.youtube.com/watch?v=qEMtCKfZOHw

Das ist die gleiche Schaltung. Der Autor erklärt nur mehr die Grundlagen und die Funktion der einzelnen Teile, Macht aber den Gleichen Fehler des Unbeschaltenen zweiten OpAmp.
Grüße Uwe

Natürlich wird nicht nur die Stufe beleuchtet auf der ich stehe, deswegen möchte ich ja den Arduino nehmen und die Neopixel hinter und vor der stufe auf 50% Licht schalten.

Warum hat man hier eigentlich nur das Gefühl das man von oben geschlagen wird. Man soll sich mit jenes und diese Beschäftigen, aber keiner kommt auf die Idee das ich das eigentlich die ganze Zeit schon mache. Wenn ihr genervt seid, dann schreibt doch hier einfach nichts dazu.

Da kucke ich eben wo anders!

moosik:
Da kucke ich eben wo anders!

Bockiges kleines Kind!

Ich habe Dir eine Entscheidungshilfe zur Verfügung gestellt.
Wenn Du Dich da nicht einhängen willst: Deine Entscheidung.
Dein Problem.

moosik:
Warum hat man hier eigentlich nur das Gefühl das man von oben geschlagen wird. Man soll sich mit jenes und diese Beschäftigen, aber keiner kommt auf die Idee das ich das eigentlich die ganze Zeit schon mache. Wenn ihr genervt seid, dann schreibt doch hier einfach nichts dazu.

Wie kommst du da drauf, dass wir generft sind.
Wir geben die Tipps, die du einfach ignorierst.

Dein Sensor hat einfach keine intelligenz, die du dem erst mittels Controller hinzufügen musst.
Wenn du das nicht willst, kann dir keiner helfen.

Da kucke ich eben wo anders!

Gut so, viel Erfolg dabei.

Ok Vorschlag:
Ein PIR pro Stufe der geeignet abgeblendt ist und ein Microcontroller pro Stufe. Der kann mit dem Hauptarduino über I2C komunizieren. Einfacher geht es aber mit TX/RX wobei eine Kette und keine Punkt zu Punkt Verbindungzu machen ist.
Grüße Uwe

Natürlich kannst Du irgendwo anders fragen. Fairerweise setzt Du diese Diskussion als Link.
Grüße Uwe