-         

Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 20

Thema: led's als sensor

  1. #1
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    08.09.2007
    Ort
    Berlin
    Alter
    24
    Beiträge
    1.544

    led's als sensor

    Anzeige

    Hallo Leute,

    ihr kennt doch sicher alle das hier:
    http://cs.nyu.edu/~jhan/ledtouch/index.html

    Meiner Meinung nach funktioniert das ja auch ohne Licht (sieht zumindest im Video so aus). Ich glaube, dass hier die Leds gemultiplext werden und nach der Reihe (digital) abgefragt werden. Bin mir hierbei jedoch nicht ganz sicher.
    Auf jeden Fall möchte ich soetwas nachbauen.
    Könnt ihr mir erklären, wie das genau funktioniert? Hab mir jetzt zu testzwecken erstmal 4 leds im Quadrat auf eine Platine gelötet, jeweils mit 150Ohm Wiederstand.
    Was ich jetzt möchte ist kein feriges Programm, sondern nur eine Funktionsbeschreibung. Ein link auf eine Seite mit Funktionsbeschreibung würde mir auch sehr helfen, da ich bisher keine passenden Seiten gefunden habe bzw. nur Seiten, auf denen ein anderes Prinzip angewendet wird (also die leds werden beleuchtet und der Finger, die Hand, wirft dann einen Schatten auf die Led, welche dies dann erkennt. Allerdings ist das nicht, was ich wollte!!!)

    Würde das jetzt so machen:
    1. 3 Leds einschalten
    2. Den Zustand der 4. einlesen
    3. diese Led einschalten, nächste ausschalten und deren Zustand einlesen
    4. wieder von vorne

    Aufgrund der Lichtreflektion an meinem Finger o.ä. müsste die LED, welche eingelesen wird, genügend Spannung erzeugen, um ein High signal am µC (mega32 mit 16MHz) zu erzeugen. Natürlich müsste der andere Pin dazu auf low gelegt werden.

    Diese Daten (also 0 oder 1) würden mir reichen, möchte sie vorerst nur auf einem LCD darstellen.

    Funktioniert das jetzt so oder habe ich einen Denkfehler?

    Vielen Dank für eure Antworten
    Gruß
    Chris

  2. #2

  3. #3
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    08.09.2007
    Ort
    Berlin
    Alter
    24
    Beiträge
    1.544
    Hi Del,

    ja, das kenn ich schon, ist aber NICHT das, was ich möchte, da diese Lösung nur mit externem Licht funktioniert.
    Ich möchte nur mit dem Licht der LED's arbeiten.

    Gruß
    Chris

  4. #4
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    07.01.2010
    Ort
    Deutschland
    Beiträge
    735
    Hallo Che Guevara,
    Deine Theorie funktioniert nur im dunkeln da die anderen LED's die nicht ausgelesen werden sonst überflüssig sind!
    Du müsstest wenn schon die LED's vom Tageslicht abschirmen!!

  5. #5
    Erfahrener Benutzer Robotik Visionär
    Registriert seit
    26.11.2005
    Ort
    bei Uelzen (Niedersachsen)
    Beiträge
    7.942
    Der LED an sich ist es egal wo das Licht herkommt, solange es genug ist um sich vom Hintergrund abzuheben.
    Allerdings gibt die LED direkt kein einfache H / L Signal. Die LED funktioniert so wie eine Fotodiode: in Sperrichtung betrieben fließt ein kleiner Strom, der von der Hellikeit abhängt (etwa Proportional). Gemessen wird der Strom über die Zeit, die es benötigt einen Digitalen Eingang umzuladen. Je mehr Licht die LED sieht, desto schneller geht das. Die Zeiten sind relativ kurz, aber gut messbar, so daß man auch mehrfach "messen" kann um ggf. Fehler durch Störungen zu unterdrücken.

  6. #6
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    08.09.2007
    Ort
    Berlin
    Alter
    24
    Beiträge
    1.544
    Hi,

    sorry, dass ich mich länger nicht gemeldet hab, hatte etwas stress in der schule ....
    Hab jetzt nochmal darüber nachgedacht und mir ist klar geworden, dass ich vohrer einen Knoten im kopf hatte. Eigentlich muss ich ja nur eine led nach der anderen abfragen, während alle anderen leuchten.

    ABER:
    hab jetzt gerade 2 ultrahelle grüne leds (18.000mcd) gefunden, bei welchen ich an jedem bein einen wiederstand angelötet habe, einmal 100ohm und einmal 47ohm.
    Wenn ich jetzt mit folgendem Programm:
    Code:
    $regfile = "m32def.dat"
    $crystal = 16000000
    $framesize = 80
    $hwstack = 80
    $swstack = 80
    $baud = 19200
    
    
    Ddra = &B11111111
    Porta = &B11111111
    
    Dim Dauer(2) As Long
    
    Porta.0 = 1
    Porta.1 = 0
    Porta.2 = 1
    Porta.3 = 0
    
    
    Do
    
    
    Porta.2 = 0
    Porta.3 = 1
    Waitus 1
    Ddra.3 = 0
    Porta.3 = 0
    While Pina.3 = 1
    Waitus 1
    Incr Dauer(1)
    If Dauer(1) >= 30000 Then Exit While
    Wend
    
    Ddra.3 = 1
    Porta.2 = 1
    Porta.3 = 0
    
    
    Porta.0 = 0
    Porta.1 = 1
    Waitus 1
    Ddra.1 = 0
    Porta.1 = 0
    While Pina.1 = 1
    Waitus 1
    Incr Dauer(2)
    If Dauer(2) >= 30000 Then Exit While
    Wend
    
    Ddra.1 = 1
    Porta.0 = 1
    Porta.1 = 0
    
    
    Print "Dauer(1): " ; Dauer(1)
    Print "Dauer(2): " ; Dauer(2)
    
    Dauer(1) = 0
    Dauer(2) = 0
    
    Waitms 100
    
    
    Loop
    
    End
    die leds abfragen möchte, "laufen" beide über, also der wert ist 30.000!
    wenn ich jedoch an den pin, welcher eingelesen wird, meine hand halte, dann funktionierts in sofern, dass der wert ca. 14 (also 14us entladezeit) beträgt. allerdings ändert sich dieser nicht bei beleuchtung / verdunklung.

    An was liegt das? hab schon alles mehrmals auf lötfehler usw. überprüft, konnte aber nichts feststellen.
    leuchten tun sie normal. Irgendwas ist da faul :-S
    mit einer normal-hellen gelben led hatts funktioniert...
    liegt es evtl. an den GRÜNEN leds?? kann ich mir zwar nicht vorstellen, aber sonst weiß ich echt nicht weiter.

    Wäre nett, wenn jemand eine idee hätte..
    Gruß
    Chris

  7. #7
    Erfahrener Benutzer Robotik Visionär
    Registriert seit
    26.11.2005
    Ort
    bei Uelzen (Niedersachsen)
    Beiträge
    7.942
    Bei den grünen und blauen LEDs kann es welche geben, die kaum als Sensor geeigent sind. Die brauchen zum Teil als Sensor eine etwas kürzere Wellenlänge als sie aussenden.
    Bei den Grünen LEDs täuscht man sich ohnehin leicht mit der Helligkeit, weil hier das Auge relativ empfindlich ist. Als Sensor ist verlutlich eine Rote LED besser geeignet.

    Mir ist auch die Schaltung noch nicht klar. Wie sind die LEDs angeschlossen ?

  8. #8
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    08.09.2007
    Ort
    Berlin
    Alter
    24
    Beiträge
    1.544
    aber trotzdem müsste sich die doch entladen, wenn auch etwas langsamer.. aber über 30ms?!?!
    das ganze prinzip ist meiner meinung nach sehr gut auf http://reaktivlicht.de/kochbuch.pdf erklärt.
    einen "pseudo-schaltplan" findet man auf seite 8 abbildung 3.1!
    Ich habs genauso, nur dass bei mir ein 100ohm wiederstand an der anode und ein 47ohm an der kathode ist.

    Gruß
    Chris

  9. #9
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    30.12.2008
    Beiträge
    1.418
    ich hab den versuch gemacht mit einer grünen und eine alten roten bei keiner war auf dem oszi eine wirkliche entlade kurve zu sehen die lichtabhängig war.

  10. #10
    Erfahrener Benutzer Robotik Visionär
    Registriert seit
    26.11.2005
    Ort
    bei Uelzen (Niedersachsen)
    Beiträge
    7.942
    Wenn die LED kein verwertbares Licht bekommt, der halt sehr unempfindlich ist, dauert es halt länger bis sie entladen ist.
    Das hängt dann auch vom µC ab - der Lechstrom am Eingang kann größer sein als der Fotostrom bei der LED. Dann kann es auch passieren das die Kapazität nie entladen wird.

Seite 1 von 2 12 LetzteLetzte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •