Skocz do zawartości

Kurs budowy robotów - #4 - pierwsze programowanie


Pomocna odpowiedź

Napisano
html_mig_img
Jeśli nasz robot stoi już na 3 kołach, to możemy spokojnie zabrać za główną część kursu, czyli programowanie. Nie użyjemy gotowej biblioteki, wszystko napiszemy wspólnie od pustego szkicu. Dzięki temu opisane zagadnienia będzie można łatwo zastosować przy innych projektach.Zajmiemy się również częstym problemem, który pojawia się podczas budowy pierwszych robotów.

UWAGA, to tylko wstęp! Dalsza część artykułu dostępna jest na blogu.

Przeczytaj całość »

Poniżej znajdują się komentarze powiązane z tym wpisem.

  • Lubię! 1

Nie wiem jak to się stało, że wcześniej tego nie zauważyłem, ale generalnie to nie mam zworki, da się to jakoś zastąpić?

ZombiZiomek, przy tak małej ilości informacji ciężko udzielić odpowiedzi. Nie wiadomo, czy i jaki program wgrałeś, czy podłączone jest zasilanie (koszyk z bateriami) itd. Artykuł pisany był na podstawie dokładnie takich elementów jakie są w zestawie (przynajmniej nic mi nie wiadomo o żadnych zmianach). Jeśli jesteś przekonany, że wszystko zrobiłeś identycznie jak w artykule i nic nie blokuje napędów, to musisz przedstawić trochę więcej szczegółów - jakieś zdjęcie, opis, co dokładnie zrobiłeś, czy program z poprzedniego artykułu działał itd.

Przy okazji proszę Cie o trochę wyrozumiałości, odpisywałem na Twoje maile rano, wieczorem, w tygodniu, w piątek, który był dniem wolnym, dziś w sobotę, która z reguły też jest dniem wolnym, więc wysyłanie kolejnych maili nie przyspieszy moich odpowiedzi.... Po prostu też czasami nie siedzą przy komputerze, jak tylko jestem dostępny to staram się na wszystko odpowiadać.

qbeczek, właśnie się okazało, że chyba faktycznie do kilku osób trafiły płytki bez zworek. Oczywiście doślemy, jeśli będą potrzebne. Na ten moment można sprawę rozwiązać przekładając jedną zworkę, z tych które było przy czujnikach. Inna opcja to wykorzystanie przewodu żeńsko-żenskiego do zestawów uruchomieniowych 🙂

Ok, wgrywalem program testowy i ten gotowy z funkcjami, wszystko robilem wg kursu, zasilanie jest, kable przy silniku sie trzymają, a silniki się nie kręcą

qbeczek, ja użyłem poprostu innej zworki.

ZombiZiomek, ok teraz przynajmniej coś widać 🙂 Będę miał dostęp do swojego robota koło 16 to wtedy wszystko porównam i dam znać. Do tego czasu sprawdź dla pewności, czy dla wyższego PWM również się nic nie dzieje (np. 150), czyli wgraj dokładnie ten kod:

#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
}

Jak rozumiem silniki nie wydają też żadnego dźwięku, tak? Jeśli masz miernik, to sprawdź czy na złączach silnika lewego pojawia się jakieś napięcie (możesz mierzyć przykładając miernik do śrubek w złączu).

Jeśli mogę coś doradzić, to proponowałbym do kodu dodać jakąś migającą diodę. Wtedy będzie wiadomo czy program został poprawnie wgrany i czy procesor robi to co powinien.

__________

Komentarz dodany przez: Treker

Właśnie w tej samej chwili edytowałem wklejony program i to dodawałem 😉

ZombiZiomek, ok dziękuję za informację - sprawdzę moje pomysły w praktyce i dam znać po 16. Jeśli ktoś inny ma podobny problem (niedziałające silniki), to proszę o informację wraz z datą zakupu zestawu, będziemy wtedy badać temat z producentem shieldów.

U mnie jeden działa, tzn lewy, a prawy niestety nie. Tak samo jak u kolegi dioda mruga a silnik stoi.

__________

Komentarz dodany przez: Treker

Problem rozwiązany, przyczyna: niepoprawnie założona wtyczka na przewód od silnika.

qbeczek, powyższy program ma właśnie wysterować jeden silnik - więc wszystko jest dobrze. Drugi możesz sprawdzić kolejnym programem umieszczonym w artykule.

Właśnie o to mi chodzi, wgrałem program na lewy działa, sprawdzam prawy nie działa, ale już znalazłem błąd jest w połączeniu silnika, bo zmieniłem wejścia i lewy działa w wejściu na prawy.

qbeczek, czyli winny jest u Ciebie prawy silnik, tak? Sprawdź dla pewności, czy masz poprawnie założone wtyczki (może przypadkiem zacisnęły się na izolacji kabla)?

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