Armir Styczeń 22, 2011 Udostępnij Styczeń 22, 2011 Raczej nic tak nie zrobisz bo kiry ślepną w słońcu (cały czas wykrywają linię). Cytuj Link do komentarza Share on other sites More sharing options...
camillo87 Styczeń 22, 2011 Udostępnij Styczeń 22, 2011 być może, sposób ten działa na CNY70 ... Cytuj Link do komentarza Share on other sites More sharing options...
modelarz Styczeń 22, 2011 Autor tematu Udostępnij Styczeń 22, 2011 Ale teraz dokładniej pomierzyłem i 1 silnik dobrze reaguje gdy czujnik jest na linii to napięcie jest 0v a gdy na podłodze to 4,7v. A gdy ten sam czujnik podłączam do któregoś z 2 pozostałych wyjść to ciągle silnik działa bez różnicy czy na linii czy na podłodze. I teraz sprawdzam połączenie z 2 silnikiem i czy tranzystor jest sprawy bo zmieniłem z bc337 na bd135. Cytuj Link do komentarza Share on other sites More sharing options...
Armir Styczeń 22, 2011 Udostępnij Styczeń 22, 2011 Popatrz na kurs bascoma i przetestuj poszczególne części układu. Cytuj Link do komentarza Share on other sites More sharing options...
Polecacz 101 Zarejestruj się lub zaloguj, aby ukryć tę reklamę. Zarejestruj się lub zaloguj, aby ukryć tę reklamę. 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
grabo Styczeń 22, 2011 Udostępnij Styczeń 22, 2011 Wystarczy spojrzeć na schemat i kod źródłowy! Czujnik prawy to pin 7 (PB2), środek to pin 2 (PB3) i lewy to pin 3 (PB4) Cytuj Link do komentarza Share on other sites More sharing options...
modelarz Styczeń 22, 2011 Autor tematu Udostępnij Styczeń 22, 2011 A czy ten program był by dobry do tego? '***** konfiguracja portów ***** $regfile = "attiny13.dat" Sensor1 Alias Portd.7 Czujnik Lewy Sensor2 Alias Portd.3 Czujnik Srodkowy Sensor3 Alias Portd.2 Czunik Prawy Config Pinb.5 = Output Config Pinb.6 = Output Do If Pind.7 = 1 And Pind.3 = 0 And Pind.2 = 0 Then Lewo If Pind.7 = 1 And Pind.3 = 1 And Pind.2 = 0 Then Lewo If Pind.7 = 0 And Pind.3 = 1 And Pind.2 = 1 Then Prawo If Pind.7 = 0 And Pind.3 = 0 And Pind.2 = 1 Then Prawo If Pind.7 = 1 And Pind.3 = 0 And Pind.2 = 1 Then Naprzod If Pind.7 = 1 And Pind.3 = 1 And Pind.2 = 1 Then Naprzod Loop End If End 'end program Cytuj Link do komentarza Share on other sites More sharing options...
Armir Styczeń 22, 2011 Udostępnij Styczeń 22, 2011 Był by dobry tylko musisz po definiować użyte funkcje naprzód itp. Cytuj Link do komentarza Share on other sites More sharing options...
modelarz Styczeń 22, 2011 Autor tematu Udostępnij Styczeń 22, 2011 Teraz dopisałem ale nie wiem czy dobrze: '***** konfiguracja portów ***** $regfile = "attiny13.dat" Sensor1 Alias Portd.7 Czujnik Lewy Sensor2 Alias Portd.3 Czujnik Srodkowy Sensor3 Alias Portd.2 Czunik Prawy Config Pinb.5 = Output Config Pinb.6 = Output Do If Pind.7 = 1 And Pind.3 = 0 And Pind.2 = 0 Then Lewo If Pind.7 = 1 And Pind.3 = 1 And Pind.2 = 0 Then Lewo If Pind.7 = 0 And Pind.3 = 1 And Pind.2 = 1 Then Prawo If Pind.7 = 0 And Pind.3 = 0 And Pind.2 = 1 Then Prawo If Pind.7 = 1 And Pind.3 = 0 And Pind.2 = 1 Then Naprzod If Pind.7 = 1 And Pind.3 = 1 And Pind.2 = 1 Then Naprzod If Pinb.6 = 1 And Pinb.5 = 0 Then Prawo If Pinb.6 = 1 And Pinb.5 = 1 Then Naprzod If Pinb.6 = 0 And Pinb.5 = 1 Then Lewo Loop End If End 'end program [ Dodano: 22-01-2011, 20:59 ] Sprawdzi ktoś ? Cytuj Link do komentarza Share on other sites More sharing options...
Armir Styczeń 22, 2011 Udostępnij Styczeń 22, 2011 Nie zadeklarowałeś co ma robić podczas komendy naprzód itp. Cytuj Link do komentarza Share on other sites More sharing options...
pawel Styczeń 22, 2011 Udostępnij Styczeń 22, 2011 Nie wiem czy kompilator zaakceptuje te instrukcje warunkowe w jednej linii. Kompilowałeś to już? I brakuje tak czegoś takiego jak "end if". Cytuj Link do komentarza Share on other sites More sharing options...
modelarz Styczeń 22, 2011 Autor tematu Udostępnij Styczeń 22, 2011 A teraz ? '***** konfiguracja portów ***** $regfile = "attiny13.dat" Sensor1 Alias Portd.7 Czujnik Lewy Sensor2 Alias Portd.3 Czujnik Srodkowy Sensor3 Alias Portd.2 Czunik Prawy Config Pinb.5 = Output Config Pinb.6 = Output Do If Pind.7 = 1 And Pind.3 = 0 And Pind.2 = 0 Then Lewo If Pind.7 = 1 And Pind.3 = 1 And Pind.2 = 0 Then Lewo If Pind.7 = 0 And Pind.3 = 1 And Pind.2 = 1 Then Prawo If Pind.7 = 0 And Pind.3 = 0 And Pind.2 = 1 Then Prawo If Pind.7 = 1 And Pind.3 = 0 And Pind.2 = 1 Then Naprzod If Pind.7 = 1 And Pind.3 = 1 And Pind.2 = 1 Then Naprzod Sub Prawo: If Pinb.6 = 1 And Pinb.5 = 0 Then Prawo Call Ddelay End Sub Sub Naprzod: If Pinb.6 = 1 And Pinb.5 = 1 Then Naprzod Call Ddelay End Sub Sub Lewo: If Pinb.6 = 0 And Pinb.5 = 1 Then Lewo Call Ddelay End Sub Loop End If End 'end program [ Dodano: 22-01-2011, 21:57 ] A gdy kompilowałem to musiałem usunąć te lewo prawo naprzod i jeszcze był jakiś błąd w linii end i w jakiejś 121 linii. Cytuj Link do komentarza Share on other sites More sharing options...
Armir Styczeń 22, 2011 Udostępnij Styczeń 22, 2011 Z tego co pamiętam to to cyba trzeba było zadeklarować suba. Cytuj Link do komentarza Share on other sites More sharing options...
modelarz Styczeń 22, 2011 Autor tematu Udostępnij Styczeń 22, 2011 Takie coś ? '***** konfiguracja portów ***** $regfile = "attiny13.dat" Sensor1 Alias Portd.7 Czujnik Lewy Sensor2 Alias Portd.3 Czujnik Srodkowy Sensor3 Alias Portd.2 Czunik Prawy Config Pinb.5 = Output Config Pinb.6 = Output Do If Pind.7 = 1 And Pind.3 = 0 And Pind.2 = 0 Then Lewo If Pind.7 = 1 And Pind.3 = 1 And Pind.2 = 0 Then Lewo If Pind.7 = 0 And Pind.3 = 1 And Pind.2 = 1 Then Prawo If Pind.7 = 0 And Pind.3 = 0 And Pind.2 = 1 Then Prawo If Pind.7 = 1 And Pind.3 = 0 And Pind.2 = 1 Then Naprzod If Pind.7 = 1 And Pind.3 = 1 And Pind.2 = 1 Then Naprzod Sub Prawo: If Pinb.6 = 1 And Pinb.5 = 0 Then Prawo Call Ddelay End Sub Sub Naprzod: If Pinb.6 = 1 And Pinb.5 = 1 Then Naprzod Call Ddelay End Sub Sub Lewo: If Pinb.6 = 0 And Pinb.5 = 1 Then Lewo Call Ddelay End Sub Sub Ddelay: Waitms Czas End Sub Loop End If End 'end program Cytuj Link do komentarza Share on other sites More sharing options...
Armir Styczeń 22, 2011 Udostępnij Styczeń 22, 2011 Popatrz na program i powiedz skąd ma wiedzieć robot co zrobić. Nigdzie nie zmieniasz stanu pinu żeby odpalić silnik. Cytuj Link do komentarza Share on other sites More sharing options...
modelarz Styczeń 22, 2011 Autor tematu Udostępnij Styczeń 22, 2011 No a w tej linii: If Pinb.6 = 1 And Pinb.5 = 0 Then Prawo If Pinb.6 = 1 And Pinb.5 = 1 Then Naprzod If Pinb.6 = 0 And Pinb.5 = 1 Then Lewo ?? Cytuj Link do komentarza Share on other sites More sharing options...
Pomocna odpowiedź
Dołącz do dyskusji, napisz odpowiedź!
Jeśli masz już konto to zaloguj się teraz, aby opublikować wiadomość jako Ty. Możesz też napisać teraz i zarejestrować się później.
Uwaga: wgrywanie zdjęć i załączników dostępne jest po zalogowaniu!