Skocz do zawartości

Kurs budowy robotów - #9 - ekspander I/O, serwo


Pomocna odpowiedź

Nie, nie możesz podpinać do ekspandera. Wszystkie pięć pinów SPI i pin serwa muszą być podłączone bezpośrednio.

Możesz użyć np. sterownika serwo na I2C (na allegro ostatnio kupowałem za niecałe dwie dychy), masz tam 16 wyjść, wszystkie to po prostu PWM. Ja sobie do tego podpiąłem dziewięć serw i jakieś ledy.

  • Pomogłeś! 1
Link do komentarza
Share on other sites

Jakby ktoś potrzebował, zrobiłem biblioteke do sterowania silnikami(załączona pod komentarzem). Jest ona dość prosta w użytku:

aby ją dodać do programu używamy

#include <silnik.h>

wiem, nikt się nie spodziewał🤣

potem dodajemy obiekt "lewySilnik"

#define PWM_MAX 165
#define L_PWM 5
#define L_DIR 4
silnik lewySilnik(L_PWM, L_DIR, PWM_MAX);

i jedna funkcja:

zakręć silnikiem:

lewySilnik.zakrec(60, 0)//int pwm, int dir - pwm to predkosc a dir to kierunek - 0 to do przodu 1 to do tyłu

i cztery zmienne:

lewySilnik.PwmPin;//pin predkosci - typ int - jak ktos chce to można go zmienić bądź sprawdzić
lewySilnik.DirPin;//pin kierunku - typ int - jak ktos chce to można go zmienić bądź sprawdzić tak jak w przypadku lewySilnik.PwmPin
lewySilnik.PwmMax;//maksymalna predkosc - typ int - jak ktos chce to można ją zmienić bądź sprawdzić tak jak w przypadku lewySilnik.PwmPin i lewySilnik.DirPin
// i najfajniejsza
lewySilnik.odwrocObrot;//typ bool(true / false)-ustawienie na true "zamieni kable silnika" skutkiem czego silnik bedzie sie kręcił w drugą stronę mimo iż w funkcji lewySilnik.zakrec(60, 0) nadal na int dir mamy 0

żeby nie było nie mam tej biblioteki z kosmosu tylko ją napisałem i jak pierwszy raz dodałem bibliotekę do programu i skompilowałem miałem mega mega długą listę błędów ale jakoś się udało😀.

będzie fajnie jak dacie jakiegoś lajkacza albo coś innego jak wam ta biblioteka się podoba

 

to moja pierwsza i za razem działająca biblioteka

 

podpowiedź jak ktoś inny tworzy swoją bibliotekę: otworzyć notepadem np. moją i skopiować kod a potem przerobić nazwy i funkcje na swoje tak jak ja to robiłem, a na błędy dobry jest tłumacz google: wystarczy kliknąć przycisk "kopiuj opis błędów" i wkleić to do tłumacza google(mi to nie raz pomogło)

silnik.zip

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