Skocz do zawartości

Programowanie line followera


soban

Pomocna odpowiedź

Witam wszystkich

Postanowiłem zrobic mini line followera zgodnie ze schematem pokazanym nizej

uzylem w nim mikrokontrolera ATtiny13 ale nie wiem jak go zaprogramowac zeby dzialal jak najlepiej 🙁

Umieszczam tez propozycje kodu i prosze o poprawienie błędów badz nowy kod

Licze na waszą pomoc i z góry dziękuje. Oczywiście Pomógł dla najlepszych teamtów i piwo dla reszty pomocników

petla: 

rcall probkowanie ; odczytywanie sygnału z czujników

cp srodek, lewy
brcs not_center ; jeśli lewy > srodek wykonuje skok
cp srodek, prawy
brcs not_center ; jeśli prawy > srodek wykonuje skok

ldi silniki,0x11 ; jedź prosto
out portb,silniki
rjmp petla ; wykonaj pętlę ponownie

not_center: 

cp lewy,prawy
brcs skrec_prawo ; jeśli prawy>lewy skręć w prawo

ldi silniki,0x01 ; jeśli lewy>prawy skręć w lewo
out portb,silniki
rjmp petla

skrec_prawo
ldi silniki,0x10
rjmp petla
Link do komentarza
Share on other sites

To jest tylko wycinek kodu źródłowego by grabo. Nie lepiej nauczyc sie programować niż prosić o kod? Mamy tutaj na diodzie taki obszerny kurs C i bascom. Tylko nie wiem czy da się obsłużyć ADC z poziomu bascoma (piszę w C). Jeśli koniecznie chcesz w asm to musisz jeszcze dokonać konfiguracji portów i pare innych rzeczy.

Link do komentarza
Share on other sites

Gdyba tak ktoś mógł wstawić propozycje kodu napisaną w "C" byłbym bardzo wdzięczny. Ponieważ potrafie programować w C++ i chciałbym zobaczyć różnice pomiędzy tymi dwoma językami.

Link do komentarza
Share on other sites

W bascomie można obsłużyć ADC i to bardzo prosto.

Starczy dać taki kawałek kodu:

Config adc = single , prescaler = auto , reference = avcc

dim x as word
start adc
do
x = getadc(y) 
loop
end

gdzie y jest numerem kanału przetwornika A/C, prescaler może mieć wartości 2, 4, 8, 15, 32, 64, 128 albo auto. Ustawienie auto spowoduje dostosowanie dzielnika do bieżącej częstotliwości. Parametr reference może być ustawiony na AVCC, off lub internal.

PS. wiem że odkopałem, zagapiłem się 😉

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

Wiem że pewnie nikt z was niema czasu na to ale mógłby mi ktoś napisac caly kod do tego LF'a ? I sry ze tak ten ale nie mialem w szkole jeszcze układów mikroprocesorowych itp. i niezbyt znam się na programowaniu.

Link do komentarza
Share on other sites

Wiem że pewnie nikt z was niema czasu na to ale mógłby mi ktoś napisac caly kod do tego LF'a ? I sry ze tak ten ale nie mialem w szkole jeszcze układów mikroprocesorowych itp. i niezbyt znam się na programowaniu.

Weź sobie nie rób żartów, nikt Ci nie napisze programu, no, chyba że nie za darmo.

Ja też nie miałem w szkole układów mikroprocesorowych, trudno spodziewać się tego w 1 klasie gimnazjum, ale z napisaniem nawet trudniejszego programiku w Bascomie na własne potrzeby radzę sobie bez problemu, skąd się tego nauczyłem? Głównie z przykładów i z polskiego helpa do Bascoma, nie mam żadnych książek na ten temat ani nic podobnego.

Wystarczy poświęcić trochę czasu na naukę, a nie się lenić i liczyć na gotowe.

Link do komentarza
Share on other sites

Wiem że pewnie nikt z was niema czasu na to ale mógłby mi ktoś napisac caly kod do tego LF'a ? I sry ze tak ten ale nie mialem w szkole jeszcze układów mikroprocesorowych itp. i niezbyt znam się na programowaniu.

A o napisanie matury też kogoś poprosisz? Naucz się. Ja też dopiero zaczynam i pierwszy mój program napisałem na AT90S2313 do zapalania/zgaszania 5 diod, które mają przedstawiać sygnalizację świetlną dla pieszych i pojazdów. Już to raz pisałem i napiszę jeszcze raz:

"Trzeba mierzyć siły na zamiary, a nie na odwrót."

Link do komentarza
Share on other sites

a właśnie, że w mojej opinii warto, a wiesz dla czego?? Bo ma bardzo mało zaimplementowanych funkcji, co wymaga od użytkownika myślenia i uczenia się algorytmów, które potem można wykorzystać w każdym języku i wie się przynajmniej jak działają. A przesiadka pomiędzy językami potem to już prosta sprawa;)

Link do komentarza
Share on other sites

Zależy do jakiego języka przesiadka, jeśli do C++ to w ogóle lepiej sie tego nie ucz. A tak w ogóle to to jest mniejwięcej język testowy, za to jest podobny dość do BASCOMA więc to może pomóc.

Link do komentarza
Share on other sites

Jaki język testowy?? Wyobraź sobie, że wszyscy wychowankowie-finaliści Szubartowskiego w Olimpiadach Informatycznych na świecie zaczynali w Pascu. Jest to język najprostszy i najuboższy, ale jeżeli chodzi o edukację pod względem informatyki/algorytmiki jest to swojego rodzaju zaletą😋 Ja zaczynałem pisać w Pascalu, nauczyłem się na nim algorytmów, tych skomplikowanych i łatwiejszych, a teraz piszę w czym mi wygodniej, ale nie mam problemów w przesiadkach między językami.

Link do komentarza
Share on other sites

No cóż ja się nie uczyłem na Pascalu ale skoro już to wole delphi bo przynajmniej ma też rozszerzenie obiektowe. Nie wiem czy wygodnie, ale zaczołem od C, przerabiałem SDK do gier a potem C++

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.