Skocz do zawartości

Kurs budowy robotów - #4 - pierwsze programowanie


Pomocna odpowiedź

goszek29, a co dokładnie dzieje się, gdy odłączysz robota od komputra? Wszystko się wygasza, czy diody na shieldzie i Arduino nadal się świecą? Na ten moment nie mam jeszcze pomysłu, co to może być - to pierwszy przypadek tego typu. Mam jednak nadzieje, że szybko znajdziemy rozwiazanie 😉

Witam,
po odłączeniu robota od komputera robot przestaje działać, zaczyna migać dioda 13, dioda obecności zasilania i zasilania silników cały czas się świecą.

Jeżeli chodzi o baterie sprawdziliśmy, pomimo że wyglądały dobrze zmieniliśmy na nowe. Problem pozostał. Co do zachowania się robota po odłączeniu od komputera diody od zasilania świecą się bez zmian. Jedynie dioda 13 zaczyna migać i robot przestaje działać. Spróbujemy wymienić Arduino Uno.

goszek29, wygląda jakby faktycznie Arduino się nie programowało poprawnie... Będę wdzięczny za informację jak układ zachowuje się z inną płytką. Będziemy myśleć wtedy dalej, gdzie może być problem. Elektronicznie raczej wszystko jest sprawne, skoro przy zasilaniu USB całość działa poprawnie. Może to kwestia jakiś połączeń... Powiedz tylko proszę jeszcze dla pewności, który dokładnie program wgrywacie do robota?

DZIAŁA z nową płytką. Ciężko wyjaśnić tą sytuacje ponieważ przed złożeniem robota używaliśmy tej płytki do innych projektów i nie mieliśmy problemu. Jeżeli chodzi o program to próbowaliśmy z czujnikami przeszkód test nr.2.

DZIĘKUJEMY BARDZO za pomoc i poświęcony nam czas.

Jeżeli chodzi o kurs, świetny pomysł, idealny materiał do nauki programowania.

Uczę syna programowania i podstawowych zagadnień związanych z robotyką

Łatwiej wyjaśnić wiele rzeczy związanych z robotyką korzystając z takich materiałów.

Pozdrawiam

goszek29, super miło słyszeć, że wszystko działa i kurs jest pomocny! Życzę powodzenia w dalszej nauce 🙂

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

Witam

Mam problem z silnikami. Przy podaniu tego samego prądu do obu silników robot zataczał okrąg o średnicy ok. 1 metra. Na początku kręcił się w lewo więc wymieniłem lewy silnik (mam kilka takich samych silników jak te z kursu tylko z innego modelu). Po wymianie robot kręcił się w prawo więc go też wymieniłem ale nic to nie dało. Próbowałem jeszcze jednego silnika ale ciągle zatacza okręgi. Wiem, że przy tych częściach nigdy nie będzie jechał idealnie prosto ale jednak tak małe okręgi to przesada.

piterk100, witam na forum 🙂 Tak jak pisałem w kursie niestety w tego typu konstrukcjach trudno osiągnąć jazdę prosto, jednak faktycznie tak małe okręgi to dość skrajny przypadek. Sprawdź czy oba koła są równe oraz czy nic ich nie blokuje (może jeden haczy o podwozie lub o jakieś przewody). Warto też przeprowadzić testy na najmniejszej prędkości zarówno w przód jak i w tył. Może wtedy uda się zauważyć jakąś prawidłowość w tym skręcaniu.

Warto też pamiętać, że podczas startu robot może mocniej zakręcać przez to, ze tyle kółko obrotowe dopiero ustawia się we właściwej pozycji (może mu to zająć 2-3 sekundy).

Napisałem program wywołujący tylko funkcje silników i przy podaniu tych samych wartości robot jeździ jednak w miarę prosto. Domyślam się, że jako światłolub skręcanie mogło być spowodowane jakąś różnicą w fotorezystorach. Nie wiem jednak dlaczego skręcał jako czujnik przeszkód.

piterk100, w przypadku światłoluba wszystko zależy od ustawionej tolerancji. Najważniejsze, że udało się rozwiązać problem i robot jeździ prosto, zachęcam do eksperymentowania w praktyce. Na pewno szybko wyjaśnią się inne zagwozdki 😉

  • 1 rok później...

Robię wszystko krok po kroku według kursu, ale silniki nie chcą pracować przez sheina. Sprawdzałam już czy silniki w ogóle działają za pomocą kursu arduino - działają. Kod arduino jest identyczny, nawet skopiowany, by wyeliminować wszelkiego rodzaju błędy przy przepisywaniu. kable zostały włożone BEZ IZOLACJI, lecz nadal nie działa. Po wgraniu poniższego kodu, lampka miga, a silniki nawet nie drgną.

#define L_PWM 5

#define L_DIR 4

#define R_PWM 6

#define R_DIR 9 

#define LED 13

void setup() {

//Konfiguracja pinow od mostka H

pinMode(L_DIR, OUTPUT);

pinMode(R_DIR, OUTPUT);

pinMode(L_PWM, OUTPUT);

pinMode(R_PWM, OUTPUT);

pinMode(LED, OUTPUT); }

void loop() {

//Obroty silnika przez sekundę do przodu z prędkością 100

digitalWrite(L_DIR, 0);  //Ustawienie kierunku

analogWrite(L_PWM, 150);  //Ustawienie predkosci

digitalWrite(LED, 0); //Zmiana stanu diody

delay(1000); //Opoznienie 1 sekunda

//Zatrzymanie silnika na sekundę

digitalWrite(L_DIR, 0); //Ustawienie kierunku

analogWrite(L_PWM, 0); //Wylaczenie silnika

digitalWrite(LED, 1); //Zmiana stanu diody

delay(1000); //Opoznienie 1 sekunda

}

 

@lazimita witam na forum 🙂 Czy masz odpowiednio założoną zworkę, która doprowadza zasilanie do silników na shieldzie? Czy zasilasz układ z koszyka i 6xAA?

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