Skocz do zawartości

Kurs budowy robotów - #7 - line follower, czyli bolid F1


Pomocna odpowiedź

Trzeba w jakiś sposób zwiesić wykonywanie jazdy po linii, ominąć przeszkodę i ponownie włączyć poszukiwanie linii. Jakaś podpowiedź?

Tak, najlepiej wewnątrz pętli od "jazdy po linii" dodać warunek "jeśli wykryto przeszkodę" i wywołać funkcję, która omija to, co znalazło się przed pojazdem. Wtedy skręcamy np. w prawo i omijamy łukiem przeszkodę, aż czujniki znów zobaczą linię. Nie jest to proste zadanie, co widać często podczas zawodów robotów, gdy roboty uderzają w przeszkody lub nie potrafią dobrze ich ominąć 😉

A tak na marginesie, bardzo przystępnie napisane są te kursy, wszystko ma sens, kawał dobrej roboty.

Super, dzięki za miłe słowa i powodzenia w dalszej nauce!

Link do komentarza
Share on other sites

Przy obu czujnikach jest tak samo - sam fotorezystor działa, ale założenie zworki nie powoduje zaświecenia diody. Przy próbnym podłączeniu czujników odwrotnie dioda również się nie świeci.

Wydaje mi się, że potencjometr jest wadliwy - jeżeli wezmę inny kabelek podłączony do masy arduino i przyłożę go bezpośrednio do masy diody, to dioda się świeci, a kręcenie potencjometrem nie zmienia natężenia światła.

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

Kolumbryna22, sprawdzimy czy nie ma błędu w serii - powiedz proszę kiedy kupowałeś zestaw (nie mogę tego zweryfikować w systemie, bo chyba nie rejestrowałeś swojego zestawu). Wyślij też do mnie na PW dane do wysyłki (adres + telefon dla kuriera) lub nr Paczkomatu - dostarczymy komplet nowych czujników 🙂

Link do komentarza
Share on other sites

lordolo, przepraszam za kłopot, zaraz to naprawimy 😉 Prześlij do mnie (przez PW - prywatną wiadomość) adres do dostawy i numer dla kuriera - zlecę wysyłkę nowego kompletu. Jeśli nic się po drodze nie wydarzy, to nowe czujniki będą u Ciebie jeszcze w tym tygodniu.

Link do komentarza
Share on other sites

12 godzin temu, Mattti87 napisał:

TRZYMAM FIRMĘ BOTLAND ZA SŁOWO 😉

@Mattti87 to nasz produkt (Forbota), więc Botland nie ma akurat wpływu na rozwój tego projektu - lepiej nie trzymaj ich za słowo, bo jeszcze im się niesłusznie oberwie 😉 A odpowiadając na Twoje główne pytanie to niestety obecnie zarzuciliśmy tymczasowo temat rozwijania tych dodatkowych modułów, bo nie było zbyt wielu chętnych. Mam nadzieję, że wrócimy jeszcze do tego tematu, ale nie jestem w stanie podać żadnych konkretnych dat.

Link do komentarza
Share on other sites

Jak zrobić w instrukcji case warunek do "śledzenia linii". Czyli takie 3 tryby sterowanie, śledzenie linii, omijanie przeszkód. Ale jak to zrobić że np. po wciśnięciu jakiegoś przycisku on wchodzi w tryb śledzenia linii i jak wcisnę jeszcze raz to przestaje. Ewentualnie dodam inny sensor np. ultradźwiękowy i będzie omijał przeszkody. W taki sposób zbuduję kilka programów, rozumiem że nie mogę dodać if do case..? i  Jak to zrobić? proszę o pomoc lub wskazówkę najlepiej mail mateusz.landuch@gmail.com 

Aktualizacja:

Dnia 21.04.2020 o 08:29, Treker napisał:

@Mattti87 to nasz produkt (Forbota), więc Botland nie ma akurat wpływu na rozwój tego projektu - lepiej nie trzymaj ich za słowo, bo jeszcze im się niesłusznie oberwie 😉 A odpowiadając na Twoje główne pytanie to niestety obecnie zarzuciliśmy tymczasowo temat rozwijania tych dodatkowych modułów, bo nie było zbyt wielu chętnych. Mam nadzieję, że wrócimy jeszcze do tego tematu, ale nie jestem w stanie podać żadnych konkretnych dat.

Ok, w sumie jest to i tak spora wiedza żeby dzialac dalej samemu. Dobry ten shield.  Dokupilem pilot RF z odbiornikiem 4 kanały () , inne podwozie żeby stworzyc RC czołg. Widzialem shield na Arduino z pilotami, chyba analogowe. BTW, Arduino do automatyki spoko. 

Jeżeli chodzi o robotyke to spore mozliwosci na raspberry z kamerką. Takiego robota stroza z interkomem i glosnikiem po wifi. Ale napewno bardzo trudno to zrobic. Jezyk do wyboru kazdy oprocz Arduino.. .  Kupil bym taki kurs 😁 Ale pewnie musial by skladac sie z 3 czesci jak Arduino, zeby poczuć wiedzę. 

Link do komentarza
Share on other sites

17 godzin temu, Mattti87 napisał:

Czyli takie 3 tryby sterowanie, śledzenie linii, omijanie przeszkód.

Zrób sobie zmienną i definy:

#define MODE_RC 0
#define MODE_LF 1
#define MODE_AUT 2
  
int mode = MODE_RC;

W loop() sprawdzaj czy przycisk był wciśnięty, reagując na zmianę stanu (albo przerwaniem) przełączaj stan na kolejny (mode++), a jeżeli mode > 2 to mode = 0.

Przy każdym przejściu pewnie wypadałoby zatrzymać robota, i ewentualnie skasować wartości jakiś zmiennych jeżeli rozbudowałeś program.

Zmianę stanu możesz wykrywać zatrzaskiem - robisz zmienną ostatni stan i zapisujesz ją na końcu obiegu pętli, a później sprawdzasz na nowo przycisk.

Jeżeli ostatni stan == LOW i digitalRead(x) == HIGH to znaczy ze przycisk był puszczony.

Edytowano przez Gieneq
Link do komentarza
Share on other sites

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!

Anonim
Dołącz do dyskusji! Kliknij i zacznij pisać...

×   Wklejony jako tekst z formatowaniem.   Przywróć formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Twój link będzie automatycznie osadzony.   Wyświetlać jako link

×   Twoja poprzednia zawartość została przywrócona.   Wyczyść edytor

×   Nie możesz wkleić zdjęć bezpośrednio. Prześlij lub wstaw obrazy z adresu URL.

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