Skocz do zawartości

Dioda led jako aktywny czujnik światła odbitego


Pomocna odpowiedź

Napisano

O tym, że dioda led działa tak samo jak każda fotodioda wie chyba większość osób. Każdą diodę led można użyć jako biernego czujnika światła.

Widziałem w internecie użycie diody led jako aktywnego czujnika, tzn. dioda najpierw świeci przez moment, potem gaśnie i zaczyna działać jako czujnik światła odbitego. Oczywistym jest, że żaden mikrokontroler taktowany zegarem nawet 20MHz nie zdąży przełączyć pinu z wyjścia na wejście na tyle szybko aby złapać światło odbite od obiektu. Wiem również, że dioda led reaguje jedynie gdy w grę wchodzą czasy impulsów rzędu pojedynczych milisekund, nie jak fotodioda, która jest w stanie wykryć impulsy rzędu nawet nanosekund. Czyżby o to właśnie chodziło?

Częściowym rozwiązaniem jest umieszczenie linijki diod tak aby w danym momencie świeciła tylko jedna, a sąsiednie diody działały jako czujniki światła odbitego, zapalając następną diodę otrzymamy wędrujący punkt, który przy odpowiedniej prędkości da wrażenie, że świecą wszystkie ledy, ale nie o to chodzi.

Czy ktoś z was używał pojedynczej diody led jako aktywnego czujnika? Jeśli tak to w jaki sposób to działa?

Mój kolega mog123 coś takiego zrobił jakiś czas temu na Atmedze32 z wewnętrznym kwarcem: https://www.youtube.com/watch?v=TfHdoSeqIFo

Widziałem ten filmik, ale biorąc pod uwagę natężenie światła padającego na leda, podejrzewam, że działa on jako zwykła fotodioda w tym przypadku, trzeba by było sprawdzić co się dzieje w kompletnych ciemnościach. Czy mógłbyś go poprosić o sprawdzenie czy układ działa identycznie jeśli nie jest oświetlony zewnętrznym światłem?

Z tego co pamiętam, to chodzi tutaj o jakiś ładunek, który znajduje się w LEDzie. Na elektrodzie była dosyć spora dyskusja o tym, sprawdzaleś może? Na letsmakerobots.com z tego co pamiętam, to ktoś też pokazywał właśnie leda ('świecącego') jako czujnik, jak znajdę to zedytuję posta i wrzucę.

Tu już cos jest: http://thebox.myzen.co.uk/Workshop/LED_Sensing.html

  • Pomogłeś! 1

Zawsze do usług, ogólnie na LMR jest całkiem sporo linków do ciekawych rozwiązań, ba, nawet w samych robotach często są fajne rozwiązania (niekoniecznie są to silniki z solarbotics/dagu, arduino/picaxe i serwa+sharpy, choć na przykład lfów widziałem tam bardzo mało). Teraz jeszcze tylko wyzdradź do czego chcesz tego użyć - linefollower z tylko diodami ir?

Linefollowera z czerwonymi ledami w roli czujników widziałem jakiś czas temu, ale nie wiem jak tam to działało, ze względu na to, że na filmikach nie widać, czy diody migają czy świecą cały czas.

Zaciekawiło mnie to po obejrzeniu filmiku z tej strony. Tu w roli czujnika zbliżeniowego matryca led 8x8. Można wykorzystać to samo zjawisko w lfr'ze zamiast małej kamery.

Mój kolega mog123 coś takiego zrobił jakiś czas temu na Atmedze32 z wewnętrznym kwarcem: https://www.youtube.com/watch?v=TfHdoSeqIFo

Widziałem ten filmik, ale biorąc pod uwagę natężenie światła padającego na leda, podejrzewam, że działa on jako zwykła fotodioda w tym przypadku, trzeba by było sprawdzić co się dzieje w kompletnych ciemnościach. Czy mógłbyś go poprosić o sprawdzenie czy układ działa identycznie jeśli nie jest oświetlony zewnętrznym światłem?

LED musi być oświetlony zewnętrznym światłem o pewnym natężeniu(akurat w pokoju musiał być pod lampką bo wieczór już był), przy pełnym świetle słonecznym układ również będzie działał. LED na filmiku działa jako aktywny czujnik. Następuje zmiana polaryzacji co 1ms, dzięki pojemnościom montażowym po 20ms można odczytać napięcie na diodzie

Czemu działają te matryce diod, nawet w ciemności? A, bo sąsiadujące diody oświetlają same siebie nawzajem 🙂

  • 10 miesiące później...

widziałem ten filmik

https://www.youtube.com/watch?v=TfHdoSeqIFo

ma ktoś pomysł jak zrobić coś takiegoale na jednym LEDzie? :

chcę aby mój led "widocznie" świecił dopiero po przysłonięciu go jakimś elementem.

coś jak na następnym filmie ale o odwróconej logice działania:

https://www.youtube.com/watch?v=edW88aSELZM

myślałem o następującym algorytmie

0.początek pętli 
1.włączenie diody na 1us; pwm 10 (Pa1=1, PA0=0) {zamiast osobnego nadajnika} 
2.po wyłączeniu diody(PA1=0, PA0=0) - sprawdzenie adc na PA0 
3.jeśli wykryto przysłonięcie diody(wyższe czy niższe napięcie?) wtedy włączenie diody na 1us; pwm=200 {zamiast osobnego sygnalizatora} 
4.koniec pętli 

bazuję na poniższym schemacie:

z tą różnicą że całość chcę zastąpić jedną diodą która po kolei będzie nadajnikiem, czujnikiem, sygnalizatorem

machnąłem taki programik, ale nie posiadam programatora żeby go przetestować.

$regfile = "m8def.dat"
$crystal = 8000000
Config Adc = Single , Prescaler = Auto , Reference = Avcc
Dim Wart_adc As Word
Dim V As Single
Dim Wart_nap As String * 3

Config Pinc.1 = Input
Config Pinb.1 = Output

Config Timer1 = Pwm , Pwm = 8 , Compare A Pwm = Clear Down , Compare B = Disconnect , Prescale = 64

Start Adc


Do

Pwm1a = 10
Waitus 1
Pwm1a = 0

Pinc.1 = 1
Pinb.1 = 0

Waitus 1
Pinc.1 = 0
Wart_adc = Getadc(1)
V = Wart_adc * 0.0049
Wart_nap = Fusing(v , "#.&&&")
If Wart_nap > 0.200 Then                                    'dopasowac
Pwm1a = 200
Waitus 1
Pwm1a = 0
End If

Loop
End

względem wczesniejszego schematu PA0 zastąpiłem PC1, a PA1 -> PB1, ponieważ zamierzam zrobić to na atmedze8.

czy to ma sens? warto się z tym chrzanić?

czekam na konstruktywne opinie, pomysły i rady...

Bądź aktywny - zaloguj się lub utwórz konto!

Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony

Utwórz konto w ~20 sekund!

Zarejestruj nowe konto, to proste!

Zarejestruj się »

Zaloguj się

Posiadasz własne konto? Użyj go!

Zaloguj się »
×
×
  • Utwórz nowe...