Skocz do zawartości

[Bascom] Czujnik lini


trotek

Pomocna odpowiedź

Witajcie, mam problem z odpaleniem czujnika w lini w moim Minisumo. Czujniki to KTIR podpiete mam je do PC1 i PC2.

$regfile "M8def.dat"                                        'procesor
$regfile = 8000000                                          'taktowanie

Config Pinc.1 = Input                                       'kt lewy
Config Pinc.2 = Input                                       'kt prawy
Config Portc.0 = Output                                     'led kt lewy
Config Portc.3 = Output                                     'Led Kt Prawy

Config Adc = Single , Prescaler = Auto , Reference = Avcc 

Dim A As Word                                               'czujnik linii
Dim B As Word

Const Granica = 300

Do

Gosub Wczytaj_stany_przetwornikow

If A > Granica Then
Portc.0 = 0
Else
Portc.0 = 1
End If

If B > Granica Then
Portc.3 = 0
Else
Portc.3 = 1
End If

Loop

End

Wczytaj_stany_przetwornikow:
Start Adc
A = Getadc(1)
A = Getadc(1)
Stop Adc
Pinc.1 = A
Start Adc
B = Getadc(2)
B = Getadc(2)
Stop Adc
Pinc.2 = B

Return

Chcialem aby zapalila sie dioda kiedy czujnik zobaczy białą linie, ale wogole to nie dziala.. Czujniki sa napewno dobrze podlaczone, czy cos mam zle w programie?

Link do komentarza
Share on other sites

7 linijka od dołu (nie licząc pustej) - czemu przypisujesz pinowi czujnika wartość którą właśnie podał? i to samo z drugim czujnikiem w drugiej linijce od dołu?

[ Dodano: 10-09-2012, 21:42 ]

Ja miałem to tak zorganizowane i działało:

     L = Getadc(1)
     P = Getadc(3)


     If L <= Granica Then
     Gosub Prawo
     End If

     If P <= Granica Then
     Gosub Lewo
     End If
Link do komentarza
Share on other sites

Zmieniłem kod na taki jak podałeś i niestety nadal nie działa..

$regfile "M8def.dat"                                        'procesor
$regfile = 8000000                                          'taktowanie


Config Pinc.1 = Input                                       'kt lewy
Config Pinc.2 = Input                                       'kt prawy
Config Portc.0 = Output                                     'led kt lewy
Config Portc.3 = Output                                     'Led Kt Prawy

Config Adc = Single , Prescaler = Auto , Reference = Avcc   'konfiguracja adc

Dim L As Word                                               
Dim P As Word

Const Granica = 300

Do

L = Getadc(1)
P = Getadc(2)


If L <= Granica Then
Portc.0 = 1

End If

If P <= Granica Then
Portc.3 = 1

End If

Loop

End
Link do komentarza
Share on other sites

Dodaj jeszcze

Start ADC

Sprawdź aparatem czy diody KTIRów świecą.

[ Dodano: 10-09-2012, 22:37 ]

Dodam jeszcze, że u mnie granica była równa 50 ale to zależy od odległości itp.

Pokombinuj z białą kartką przy różnych wysokościach, najlepiej trzymając płytkę w ręce i płynnie ją regulując.

Link do komentarza
Share on other sites

Zarejestruj się lub zaloguj, aby ukryć tę reklamę.
Zarejestruj się lub zaloguj, aby ukryć tę reklamę.

jlcpcb.jpg

jlcpcb.jpg

Produkcja i montaż PCB - wybierz sprawdzone PCBWay!
   • Darmowe płytki dla studentów i projektów non-profit
   • Tylko 5$ za 10 prototypów PCB w 24 godziny
   • Usługa projektowania PCB na zlecenie
   • Montaż PCB od 30$ + bezpłatna dostawa i szablony
   • Darmowe narzędzie do podglądu plików Gerber
Zobacz również » Film z fabryki PCBWay

Diody swieca. Start ADC dodac przed petla Do, tak? Zmienialem wartosci granicy ale nic to nie daje nadal zadna z diód sie nie zapala.. :/ Granica to odleglość (wysokosc) czujnika od kartki czy co?

Link do komentarza
Share on other sites

Dobrze jest podlaczony. Sprawdzam miernikiem i mam na kolektorze napiecie caly czas 5V, na anodzie 1V raz jak przylozylem miernik to KTIR zaczal dzialac jak przyblizalem sie z biala kartka to zapalala sie dioda ale po chwili przestal dzialac i teraz juz nie dziala, nie pomaga nawet ponowne podlaczenie zasilania, jak działał to na kolektorze bylo 2V...

[ Dodano: 11-09-2012, 19:23 ]

jeszcze sie upewnię czy dobrze mam podpięty czujnik. Nóżka 1 idzie do + przez R200, 2 uziemienie, 3 do uC i przez 20k do +, 4 uziemienie? Czy powinna być nóżka 3 i 4 uziemiona a 2 powinna isc do uC i przez 20k do +.

Link do komentarza
Share on other sites

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...

Ważne informacje

Ta strona używa ciasteczek (cookies), dzięki którym może działać lepiej. Więcej na ten temat znajdziesz w Polityce Prywatności.