Witam
Niedawno zbudowałem radar na podczerwień coś na wzór tego: https://www.elektroda.pl/rtvforum/topic1382474.html
Działał wyśmienicie aż do momentu kiedy zachciało mi się coś zmienić w programie i przypadkowo go usunąłem bez możliwości odzyskania. Po jakimś czasie udało mi się napisać program ale mam pewien problem z którym nie mogę sobie poradzić i nie wiem jak go rozwiązałem wcześniej. Otóż gdy tsop1136 widzi odbitą wiązkę podczerwieni od obu diod IR na raz (przeszkoda na środku) to przez chwilę reaguje prawidłowo i po jakiejś sekundzie przestaje reagować, gdy zdejmę przeszkodę z pola widzenia i znów ją tam umieszczę czujnik znów tak samo reaguje. Dodam że anody diod IR są sterowane z jednej strony przebiegiem ok 36kHz a procesor w odpowiednim momencie załącza konkretną diodę podając stan niski z drugiej strony (ale to widać chyba w programie). Moim zdaniem w momencie gdy opisana sytuacja występuje Tsop przestaje reagować na podczerwień tak jakby jej wiązka była za mało modulowana.
Proszę o pomoc w rozwiązaniu tego problemu.
Niedawno zbudowałem radar na podczerwień coś na wzór tego: https://www.elektroda.pl/rtvforum/topic1382474.html
Działał wyśmienicie aż do momentu kiedy zachciało mi się coś zmienić w programie i przypadkowo go usunąłem bez możliwości odzyskania. Po jakimś czasie udało mi się napisać program ale mam pewien problem z którym nie mogę sobie poradzić i nie wiem jak go rozwiązałem wcześniej. Otóż gdy tsop1136 widzi odbitą wiązkę podczerwieni od obu diod IR na raz (przeszkoda na środku) to przez chwilę reaguje prawidłowo i po jakiejś sekundzie przestaje reagować, gdy zdejmę przeszkodę z pola widzenia i znów ją tam umieszczę czujnik znów tak samo reaguje. Dodam że anody diod IR są sterowane z jednej strony przebiegiem ok 36kHz a procesor w odpowiednim momencie załącza konkretną diodę podając stan niski z drugiej strony (ale to widać chyba w programie). Moim zdaniem w momencie gdy opisana sytuacja występuje Tsop przestaje reagować na podczerwień tak jakby jej wiązka była za mało modulowana.
Proszę o pomoc w rozwiązaniu tego problemu.
$crystal = 4000000
Config Porta = Output
Reset Porta.0
Reset Porta.1
Set Porta.2
Set Porta.3
Config Portb = Input
Portb.0 = 1
Config Timer0 = Timer , Prescale = 1
On Timer0 Ir
Enable Interrupts
Enable Timer0
Load Timer0 = 53
Do
'"#####################################Procedura radaru#####################################"
Set Porta.0 'zapal prawa diode IR
If Pinb.0 = 0 Then 'jesli jest przeszkoda
Reset Porta.2 'ustaw stan niski
Else 'jesli brak przeszkody
Set Porta.2 'ustaw stan wysoki
End If 'poczekaj
Waitms 50 'zgas diodę IR
Reset Porta.0
'druga strona
Set Porta.1
If Pinb.0 = 0 Then
Reset Porta.3
Else
Set Porta.3
End If
Waitms 50
Reset Porta.1
Loop
End
'"##############################################################################################"
Ir:
Load Timer0 = 53
Toggle Portd.5
Return