9 IR Sensoren an Arduino Uno

Gast #3237964
Lesenswert?

Gutan Tag,

wir müssen für die Hochschule eine kleine Installation mit Arduino 
erstellen, leider haben wir beide keine Ahnung davon. Der Software Teil 
ist kein Problem, bei der Hardware setzt es allerdings bei uns aus.

Was wir machen wollen.
Wir wollen 9 Infrarot Sensoren vom Arduino auslesen lassen. Das Arduino 
Uno hat allerdings nur 6 analoge Eingänge.
Uns wurde gesagt, dass das mit einem Multiplexer möglich sei. Also hat 
uns der Fachhändler einen ULN2801A mitgegeben, nachdem wir ihm unser 
Problem erläutert haben. Aber nachdem wir ins Datenblatt geschaut hatten 
waren wir mehr verwirrt als geholfen, da wir 3 Steuerleitungen 
erwarteten.
irgendwann entscheiden wir uns jeweils zwischen 2 Sensoren mit 2 
Transistoren hin und herzuschalten, allerdings sind auch Transistoren 
neuland. Habe an die Basis einen digitalen Ausgang gehängt und somit 
zwischen HIGH und LOW geswitched. Ergebnis war, dass der analoge Wert 
bei LOW ganz normal ausgelesen hat, bei HIGH allerdings, den max. Wert 
des sensor angezeigt hat. Wenn ich dann 2 Sensoren auf einen analogen 
Pin gelegt habe, dann hatte HIGH und LOW keine Auswirkung mehr.

Wie kann ich das Problem am einfachsten lösen?
Welcher Multiplexer ist für sowas der RIchtige?

Danke.

Gruß
Stefan
Gast #3237984
Lesenswert?

Hi!

Also zunächst wäre interessant, was ihr unter IR Sensoren 
versteht...Wollt ihr tatsächlich ein analoges Signal auswerten? Dazu: 
prinzipiell geht das mit einem Multiplexer (Analogschalter), der 
ULN2801A ist, wie man aus dem Datenblatt sehen kann, ein 
Darlington-Array. Wikipedia sagt euch was zu Darlington, kurz und knapp 
hat sowas in eurer Anwendung imho nichts verloren. Achja, was ist denn 
die geplante Anwendung? Was für ein Bauteil ist dieser IR Sensor?

schöne Grüße

Chris
Gast #3237987
Lesenswert?

Also der Infrarot Sensor ist ein Sharp 2Y0A21.
Ziel ist eine Platte mit einer 3x3 Matrix aus IR Sensoren. Wenn man mit 
der Hand darüberfährt, dann sollen LEDs im Bereich der Hand aufleuchten.

Welcher Multiplexer wäre denn für sowas geeignet?

Gruß und Danke
Stefan
Gast #3238016
Lesenswert?

Hi,

ok, also Ihr müsst wirklich eine Analogspannung sprich die Entfernung 
vom Sensor erfassen. Prinzipiell sollte ein beliebiger Analogschalter 
funktionieren, hier mal ein Beispiel:

http://www.analog.com/static/imported-files/data_sheets/ADG419.pdf

Das ist jetzt ein einfacher SP2T, also ein Umschalter. Ihr könntet also 
bspw. 8 Sensoren mit 4 Analogeingängen erfassen, indem zwischen 2 
Sensoren und einem Eingang keweils ein solcher Schalter sitzt. Der 9. 
Sensor sitzt dann direkt am fünften Eingang, falls dies timingmäßig 
Probleme macht, muss beim Abfragen des fünften Sensors die Umschaltzeit 
der übrigen Sensoren "simuliert" werden. scheint mir aber in der 
Anwendung unkritisch. Dadurch, dass (nahezu) kein Strom in die 
Analogeingänge fließt, sollte die On-Resistance keinen großen Einfluss 
auf die gemessene Sensorspannung haben, da werdet Ihr aber wohl eh etwas 
experimentieren müssen, die Kurve im Datenblatt siet schon relativ krumm 
aus.


schöne Grüße

Chris
Gast #3238897
Lesenswert?

Schonmal danke für die tolle Hilfe euch allen ;)

Habe mir jetzt den 74HC4051 geholt, allerdings habe ich noch so meine 
Probleme mit. Übergebe 3 binäre Zeichen an die Steuereingänge des 
Multiplexers, hochzählend von 000 - 111. Wenn ich denausgelesenen 
analogen Wert dann jeweils mit einer Switch Case Anweisung an 8 
Variablen übergebe, daann schreibt er in jede Variable den selben Wert.

Habe mich bei anschliessen an das linke Diagramm gehalten:
http://playground.arduino.cc/uploads/Learning/4051_pins.jpg

Code ist im Anhang.

Danke
Gruß Stefan
Angehängte Dateien:
Gast #3239296
Lesenswert?

Super danke dir...
wir haben jetzt allerdings ein neues Problem. Und zwar haben wir jetzt 
die 9 Sensoren dran und ab dem 8ten Senso streikt das Arduino. ISt es 
möglich, dass das Arduino zu wenig Leistung liefert für alle 9 Sensoren? 
Wenn ja, ist es einfach z.Bsp möglich die Ground und + Leitung aus einem 
anderen Stromkreis zu nehmen? Oder irgendeine andere Möglichkeit.

Danke Gruß Stefan

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