Skocz do zawartości

Programowanie line followera


Pomocna odpowiedź

Napisano

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

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.

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.

  • 1 miesiąc później...

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ę 😉

  • 2 tygodnie później...

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.

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.

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

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;)

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.

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.

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

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