Pomoc w napisaniu programu


Witam! Czy mógłby ktoś sprawdzić kawalek napisanego programu oraz pomóc w jego dokończeniu.
Jest to programik robota jadącego po lini.Dopiero zaczynam przygodę z programowaniem, więc proszę o wyrozumiałość.
Oto kawałek programu:

$regfile = "attiny13.dat"
 
Config Portb = &B000011                                     'dwa najmlodsze jako wyjscia
Portb = &B000000                                              
 
Silnik1 Alias Portd.0                                       'zmiana nazw portu
Silnik2 Alias Portd.1
 
 
 
Do                                                          'petla glowna
 
Wait 2                                                      'czekaj 2 sekundy
 
If Pinb.2 And Pinb.3 And Pinb.4 = 1                         'jesli wszystkie czujniki dzialają to wykonaj : Szukaj Linie
Then Gosub Szukaj Linie
End If
 
If Pinb.2 And Pinb.3 And Pinb.4 = 0                         'jesli wszystkie czujniki sa na czarnej lini to jedz prosto
Then Silnik1 And Silnik2 = 1
End If
 
If Pinb.4 = 0                                               'jesli lewy czujnik na czarnej lini to zalącz silnik2
Then Silnik2 = 1                                            'w przeciwnym razie ,gdy prawy czujnik na czarnej lini zalącz silnik1
Else If Silnik1 = 1
 
Loop                                                        'koniec pętli nieskonczonej
End                                                         'koniec programu
 
Szukaj Linie:
If Pinb.2 And Pinb.3 And Pinb.4 = 1
Then Silnik1 And Silnik2 = 1

Tam gdzie jest etykieta "Szukaj Linie" chce zrobić tak aby robot jechał np.2sek prosto a następnie skręcał w celu znalezienia czarnej lini. Da się tak zrobić???




Portret użytkownika lisek50

Tutaj jest schemat

Portret użytkownika mirley

Re: Robot

Jak ten robot ma rozmieszczone czujniki? Rozumiem że chyba w linii prostopadłej do kierunku jazdy. Napewno do obsługi robota uruchomił bym timer na procesorze a wszystko resztę na przerwaniach. To znaczy w obsłudze przerwania np co 4ms program będzie mierzył położenie względem linii na podstawie odczytu tych fototranzystorów i ustawiał zmienną (flagę). Na podstawie tego w pętli głównej za każdym razem kiedy flaga się ustawi będą podawane sygnały na silniki. Przez to robot będzie śledził linię bez zatrzymywania się i zbędnych problemów.

Nie dokońca także wiem co znaczy w twojej procedurze szukaj linię stwierdzenie jedź prosto przez 2 sek a potem skręć. O ile powinien skręcić?

-

UWAGA! Możliwy jest zakup zaprogramowanych uC i zestawów elementów itp. do niektórych projektów. O dostępność proszę pytać via email. Konkretne oferty pojawiają się w cenniku.

Portret użytkownika lisek50

Własnie o taki program mi

Własnie o taki program mi chodzi.
Tutaj jest rozmieszczenie czujników:[url=]http://www.fotosik.pl/pokaz_obrazek/pelny/89ccc03de8f5dcb6.htmltutaj[/url

Jeszcze małe pytanko: jeśli nie używam jednej koncówki portu to muszę ją skonfigurować?

Portret użytkownika mirley

Re: Porty nieuzywane

Nie trzeba konfigurować nieużywanej końcówki ale zawsze warto to zrobić na poczatku za pomocą jednej instrukcji dla całego portu. Popatrz na moje programy. Pierwsza wartość bitowa to konfiguracja a druga to przypisanie wartości początkowej

-

UWAGA! Możliwy jest zakup zaprogramowanych uC i zestawów elementów itp. do niektórych projektów. O dostępność proszę pytać via email. Konkretne oferty pojawiają się w cenniku.