Led als Touch Sensor - Schaltung für 20mA LED ???

  • Bei diesem <TOPIC> Topic geht es um Methoden hinter einem Plexi einen Finger zu erkennen der auf dem Plexi ist.
    Ich bin dort inspiriert worden das Prinzip von

    Externer Inhalt www.youtube.com
    Inhalte von externen Seiten werden ohne Ihre Zustimmung nicht automatisch geladen und angezeigt.
    Durch die Aktivierung der externen Inhalte erklären Sie sich damit einverstanden, dass personenbezogene Daten an Drittplattformen übermittelt werden. Mehr Informationen dazu haben wir in unserer Datenschutzerklärung zur Verfügung gestellt.

    dem Tisch im kleinformat (so 8*8 Pixel fürn Anfang) nachzubauen. !!


    Dabei bin ich auf ein Problem gestoßen. Das Prinzip für das ganze ist dieses:
    [Blockierte Grafik: http://blog.makezine.com/order.jpg
    Quelle


    Genauer erklärt wird das ganze Prinzip hier: Klick


    Mein Problem ist das, dass ich 20mA Leds verwenden will, also kann ich das ganze nicht direkt an den atmega packen, das tut dem nicht so gut auf die Dauer. Also muss eine Elektronik her mit der ich die LED umpolen kann.


    Die Schaltung muss also folgendes können:
    Mode1: VCC ----->| ----- GND ( LED leuchtet :D)
    Mode2: GND ----->|------ atmega PortPin (für Step2 und Step3)
    Mode3: Led aus ...


    Ich hab mich schon mit einer H-Brücke mit 2NPN und 2PNP Transistoren gespielt aber ich kriegs nicht hin, hat vielleicht einer eine Idee wie man das bauen könnte ?`??


    Das ganze müsste dann noch Matrixbar sein :D also das man das in einer Matrix abfragen kann, aber das ist momentan noch unwichtig ....


    EDIT:
    Hier ist das was ich bis jetzt hab:

    LED ein und aus funktioniert schon mal!
    Den High den der µC macht könnte ich mit einem weiteren Transistor machen aber wie mach ich das mit dem IN ????
    Das Problem ist dann auch noch wie bau ich da ne Matrix daraus ...... !!!!


    Danke für eure Hilfe
    an0r0c

  • Was spricht denn gegen einen Anschluss am ATMEGA? Der kann locker die 20mA pro Pin. Man muss ja nicht unbedingt eine 40Pinner nehmen und den voll belegen.
    Sollte immer noch einfacher und günstiger sein als die Zusatzschaltung.

  • Wenn ich eine 8*8 Matrix bauen will dann kann es sein das da dann 8 LEDs zugleich leuchten = 8*20= 160mA !! Schafft der atmega das ??? auch auf Dauer weil wenn man die IOs zu lange zu viel belastet geht der irgendwann einmal ein, das ist so meine Erfahrung die ich gemacht hab ....


    Und auch wenn ich es so mache für die Matrix brauche ich sowiso eine Zusatzbeschaltung, und diese muss dann auch wieder anders sein wie bei einer normalen Matrix weil du ja 2 mal den Atmega dran hast und die Transistoren können nur in eine Richtung leiten also musste auch bei der Matrix so ne schaltung bauen .... :(


    Warum können Transistoren nicht einfach so schalten wie Relais :D

  • Wenn ich eine 8*8 Matrix bauen will dann kann es sein das da dann 8 LEDs zugleich leuchten = 8*20= 160mA !! Schafft der atmega das ??? auch auf Dauer weil wenn man die IOs zu lange zu viel belastet geht der irgendwann einmal ein, das ist so meine Erfahrung die ich gemacht hab ....


    Das dürfte kein Problem sein, denn die Atmega können 40mA pro I/0-Pin und insgesamt durch die Vcc- und Gnd-Pins maximal 300mA.

  • Oder noch besser:


    Schalte ein Darlington Array z.B. den ULN2803 zwischen LED und Mega, ist nichts anderes wie 8 Transistoren in einem IC.
    Der Mega wird es dir danken.


    EDIT: Okay vergess es, dann kann man die ja nicht mehr zum Messen nehmen, habe ich nicht durchdacht.
    Dann würde ich nen Logic IC der 74 Reihe empfehlen dessen I/O Oins sich in der Richtung umschalten lassen.


    Greetz

  • Der Tisch kann aber nicht so gebaut sein, wie du das vorhast, denn die umgepolte LED kann nur auf Licht reagieren, also entweder auf Reflexion des LED-Licht oder auf Schatten des von oben einfallenden Lichts. Man sieht aber im Video, dass der Tisch auch im dunklen Raum betrieben wird und erst leuchtet, wenn man etwas drauf stellt. Da werden IR-Dioden und Phototransen drin sein.

  • Sehe ich genauso wie dgoersch. Wenn das LED-Licht (was ja auch sichtbar und damit störend wäre) verwendet werden sollte, müsste man innerhalb der Lichtlaufzeit von der LED zur Tischoberfläche und zurück von Emitter auf Detektor schalten und zusätzlich bei der Detektion noch die wahrscheinlich störende Reflexion an der Tischoberfläche ausfiltern. So wird das sicherlich nicht funktionieren. Aber was spricht denn dagegen, Die verschiedenen Aufgaben von getrennten Bauteilen übernehmen zu lassen (außer der höheren Bauteilanzahl)?

  • OK, ich weiß nicht, wie die das genau machen, aber bei dieser Matrix könnte man natürlich alle anderen LEDs um die Mess-LED drumherum leuchten lassen. Man würde dann nicht mit ein und der selben LED das Licht erzeugen und gaaaanz kurz danach versuchen das Licht auch noch zu detektieren.

  • Ich hab mir das etwas anders vorgestellt:
    Wir haben z.b 3 LEDs die sich direkt nebeneinander befinden.
    LED1 LED2 LED3


    Man schaltet für einige mS LED1 und LED3 ein dann misst man mit LED2 die reflektion und dann geht man eine LED weiter.
    Diese paar ms (1-2 ms sollte reichen) sollte man nicht sehen können oder ?


    Ich glaube nicht das da Fototransistoren drinnen sind, wenn man so um sek 30-35 genau schaut dann sieht man das der LED genau erkennt wo das Glas aufhört ...... Dann müsste der da gleiche viele Fotodioden haben wie LEDs ..... irgendwie glaub ich das aber nicht .....


    mein Problem ist eben das mit dem Messen in ner Matrix ich kanns ja nicht so einfach umpolen .....

  • Man würde dann nicht mit ein und der selben LED das Licht erzeugen und gaaaanz kurz danach versuchen das Licht auch noch zu detektieren.

    Genau so funktionierts aber wohl. Im µC-Forum hatte das mal wer mit nur einer LED getestet, wo also keine anderen rungsrum Licht erzeugten. Finde leider den Thread nicht.



    EDIT:

    Zitat

    Man schaltet für einige mS LED1 und LED3 ein dann misst man mit LED2 die reflektion und dann geht man eine LED weiter.
    Diese paar ms (1-2 ms sollte reichen) sollte man nicht sehen können oder ?

    Müsste man mal testen, kann mir aber nur schwer vorstellen, dass man so kurz in einer akteptablen Abtastrate genug Licht erzeugen kann um die Reflexion zu messen, es aber nicht zu sehen.

  • Das ist genau das Prinzip von Helligkeitsregelungen für Beleuchtungen.
    Die Beleuchtung ist PWM gesteuert, in den Dunkelphasen wird das vorhandene
    Licht gemessen und dementsprechend wird die PWM ausgesteuert.


    Funktioniert nicht bei Glühlampen und Halogenlampen, die sind zu träge.


    Also hier eine LED als Sensor verwenden und die LEDs darum leuchten lassen.
    Dann wird nur die Reflektierte Strahlung in diesem Bereich gemessen.


    MfG Raimund


    PS: Die Messzeiten können durchaus im µs Bereich liegen, je nachdem in welchem
    Modus die LED betrieben wird.


    PSS: Siehe auch Beitrag in der Lobby: Haben LEDs auch Solarzellenfunktion? Klick hier

  • Man würde dann nicht mit ein und der selben LED das Licht erzeugen und gaaaanz kurz danach versuchen das Licht auch noch zu detektieren.

    Das sollte theoretisch hinhauen mit nur 1 LED, WENN man bei 5cm Lichtweg innerhalb von 166.782picoSekunden die Messung macht ....
    Ein Atmega is dafür zu langsam ......


    Edit:
    Ich hab grad nochmal getestet, das mit dem Lichtblitz wird wohl nichts wenn man das ganze nicht sehen soll .... da müssen zumindest IR LEDs her und die normalen Leds müssen das licht dann auffangen ..... Ich hab ein Prog geschrieben das alle 10ms eine Led anschaltet und gleich drauf wieder ausschalten, man sieht ein flackern, zwar nur wenn man direkt nahe neben reinschaut aber wenn das 1000 LEDs machen dann sieht mans nehm ich mal an .....

  • Ja, aber ist das dann nicht wieder genau das selbe Prinzip wie im ersten Post...? ;)


    ich habe das mal "nachgebaut" (ist ja nur ne LED an nen µC, Bascom habe ich ja mittlerweile auch...) und es funktioniert (natürlich!) ;) - aber nur, wenn das Licht im Zimmer an ist, die LED arbeitet da ja rein als Sensor

    Man kann grundsätzlich eine LED sehr gut zum Detektieren verwenden, sie wird dazu quasi in PWM betrieben und in der Lücke gelesen. Nur leuchtet sie eben dabei, was ja hier nicht sein soll.

    sie *muss* aber auch nicht leuchten - weil sie eben rein als Detektor benutzt wird, man kann sie auch *nur* dafür benutzen, ohne leuchten per PWM und in den Pausen lesen, sondern einfach nur lesen - in obigem Beispiel leuchtet die LED ja auch nicht, solange es hell ist, wird aber trotzdem ausgewertet - auch in dem von Dir verlinkten Video ist es nicht stockdunkel, geht auch nicht, weil das:

    Man würde dann nicht mit ein und der selben LED das Licht erzeugen und gaaaanz kurz danach versuchen das Licht auch noch zu detektieren.

    geht ja nicht, Licht aus ist Licht aus, das "bleibt" da nicht noch ne Zeit lang, so dass man das *selbe* Licht, das die LED abgibt, auch zum Messen nehmen könnte...

    wenn man so um sek 30-35 genau schaut dann sieht man das der LED genau erkennt wo das Glas aufhört ...... Dann müsste der da gleiche viele Fotodioden haben wie LEDs ..... irgendwie glaub ich das aber nicht .....

    das täuscht - das liegt daran, dass dem seine "Pixel" rund sind und nicht quadratisch, und er das Glas genau mittig auf das Pixel stellt (schau' mal genau hin, der LED-Kreis ist größer als der Fuß vom Glas) - siehe in der URL, die am Ende des Videos auftaucht die Bilder von dem Tisch:




    da das Ganze auch auf ziemlich große Entfernung funktioniert, und in dem letzten Bild der "Schatten" des Armes der Frau deutlich dicker ist als der Arm, vermute ich mal, dass da eine IR-Leuchte an der Decke ist, und das Ganze (also dieser spezielle Tisch) genau so funktioniert wie meine "Schattentapete"...


    Ansonsten, Raimund, wurde da nicht auch schon ausgiebig drüber diskutiert, wie man sowas macht, in Zusammenhang mit diesem "interactive Coffee Table" von EMS...? - und auch über den 64-px-RGB-Tisch, der in dem anderen aktuellen Thread zu dem Thema verlinkt ist, hat Neni doch schon einiges geschrieben..

    It's only light - but we like it!


    Da es sich in letzter Zeit häuft: Ich beantworte keine PNs mit Fragen, die sich auch im Forum beantworten lassen!
    Insbesondere solche von Mitgliedern mit 0 Beiträgen, die dann meist auch noch Sachen fragen, die bereits im entsprechenden Thread beantwortet wurden.
    Ich bin keine private Bastler-Hotline, technische Tipps etc. sollen möglichst vielen Lesern im Forum helfen!

  • Fassen wir doch einmal mehrere hier angesprochene Möglichkeiten zusammen:

    • Die Reflexion des Lichtes der umliegenden LEDs wird von einer (verpolten) LED in der Mitte ausgewertet.
    • Die Reflexion einer LED wird in den "Leuchtpausen" von der selben LED (verpolt) ausgewertet.
    • Die Reflexion einer so kurz gepulsten LED - so dass man das Licht nicht wahrnimmt - wird ausgewertet.
    • Das Umgebungslicht bzw. der Schatten davon wird ausgewertet.
    • Die Reflexion von IR-LEDs wird ausgewertet.

    1 und 2 funktionieren grundsätzlich, scheiden hier meiner Meinung nach aber aus, weil der Tisch eben nicht durchgehend leuchtet. Bei 3 kann ich mir nicht wirklich vorstellen, dass das geht. Für 4 halte ich die Umgebung - entgegen zu Pesis Meinung - für zu dunkel. Übrig bleibt - für mich - die 5. Variante, diese halte ich persönlich nach wie vor für am wahrscheinlichsten.

  • Redest Du jetzt von dem von Dir verlinkten Matrix-Video...? - so dunkel ist's da nicht (man sieht ja auch alles recht schön), das ist schon relativ empfindlich mit "LED als Photodiode"...


    ich glaube dafür nicht, dass da Licht von IR-Dioden reflektiert wird - die Finger liegen ja direkt auf den LEDs auf, wie soll das Licht denn da hinkommen..?!? - abgesehen davon ist zwischen den roten LEDs kein Platz mehr für IR-LEDs...


    und wie schon gesagt wurde, zu:


    Zitat

    2. Die Reflexion einer LED wird in den "Leuchtpausen" von der selben LED (verpolt) ausgewertet.
    (...)
    1 und 2 funktionieren grundsätzlich, ...


    Nein! - wenn Du die LED ausschaltest, dann ist das Licht weg, dann *gibt's keine Reflexion mehr*, die Du auswerten kannst!

    It's only light - but we like it!


    Da es sich in letzter Zeit häuft: Ich beantworte keine PNs mit Fragen, die sich auch im Forum beantworten lassen!
    Insbesondere solche von Mitgliedern mit 0 Beiträgen, die dann meist auch noch Sachen fragen, die bereits im entsprechenden Thread beantwortet wurden.
    Ich bin keine private Bastler-Hotline, technische Tipps etc. sollen möglichst vielen Lesern im Forum helfen!