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!

  • 4 miesiące później...

Kolumbryna22, witam na forum! Czy w przypadku obu czujników jest taki sam problem? Czy na pewno nie podłączasz czujników odwrotnie? 🙂

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.

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 🙂

  • 3 miesiące później...

Witam mam taki sam problem jak kolega wyżej. Diody nie świecą po założeniu zworek ale sam fotorezystor działa jak należy. Wszystko podpięte jak w kursie.

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.

  • 1 miesiąc później...
  • 2 lat(a) później...

"W przyszłości pojawi się zestaw dodatkowych sensorów do naszego robota - wtedy zainteresowani tym tematem będę mogli pójść krok dalej!" 

TRZYMAM FIRMĘ BOTLAND ZA SŁOWO 😉 Wtedy kupuje kolejny zestaw! Albo nawet dwa!

  • Lubię! 1
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.

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 [email protected] 

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

(edytowany)
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
  • 9 miesiące później...

@Adam2008M na ten moment niestety nie planuję kontynuacji tego kursu, ale daj proszę znać co dokładnie chciałbyś zobaczyć podczas kolejnych artykułów. Może podpowiem, gdzie warto szukać wiedzy 🙂

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