Skocz do zawartości
Komentator

Kurs Arduino - #5 - PWM, serwomechanizmy, biblioteki

Pomocna odpowiedź

#define dioda 10  
#define pot A5
int poziom = 0;
void setup() {
 pinMode(dioda, OUTPUT);
 Serial.begin(9600);


}

void loop() {
 poziom = (analogRead (A5));
 poziom = map(poziom, 0, 1023, 1, 255);
 if(poziom<255){
   analogWrite(dioda, poziom);
   Serial.println(pot);
 }

}

Prosty programik, dlaczego nie działa mi zdefiniowanie pot? Ciągle wyświetla w konsoli 19...

Udostępnij ten post


Link to post
Share on other sites

Witam, Bez przypadek chyba spaliłem serwo. Bo podłączyłem je bez stabilizatora napięcia. Bo ogólnie nie udało się wykonać nim żadnego ruchu a podłączony jest jak na schemacie w kursie.

Udostępnij ten post


Link to post
Share on other sites

zioloiso, jeśli podłączyłeś serwo bezpośrednio do 9V i teraz nie działa, to faktycznie zapewne zostało spalone.

SOYER, a co dokładnie chciałbyś wyświetlacz w tym terminalu? Nie chodziło przypadkiem o zmienną "poziom"? W tej chwili program działa poprawnie. Zdefiniowałeś wyświetlanie "pot", które na początku programu określasz jako "A5" (bo tak numeruje się porty analogowe). Tak naprawdę A5, to też jest tylko skrót, który w bibliotekach Arduino jest zapisany jako "#define A5 19", stąd w terminalu pojawia się ta 19.

Udostępnij ten post


Link to post
Share on other sites

TREKER, więc dlaczego kiedy wpiszę Serial.println(poziom); to wyświetla mi wartość z A5, a jak wpiszę Serial.println(pot); to nie wyświetla wartości A5?

Udostępnij ten post


Link to post
Share on other sites

Witam. Podłączyłem wszystko jak w kursie a serwo jedyne co robi to buczy. Mógłby ktoś wyjaśnić ?

Udostępnij ten post


Link to post
Share on other sites

SOYER, bo poziom, to zmienna, do której zapisujesz wartość odczytaną z A5: poziom = (analogRead (A5))

Natomiast pot to stała definiująca pin, z którego chcesz odczytać wartość - to tylko numer wyprowadzenia, a nie wartość odczytywana z tego wyprowadzenia. Poprawne wykorzystanie pot będzie wyglądało np. tak: poziom = (analogRead (pot));

lordolo, witam na forum 🙂 Czy możesz zmierzyć napięcie na baterii? Spróbuj też delikatnie ręcznie przekręcić końcówkę serwa (gdy będzie odłączone od układu) - chodzi płynnie/rusza się? Jeśli bateria jest dobra, a serwo się nie rusza, to pozostaje reklamacja serwa u sprzedawcy. Czasami zdarzają się uszkodzone fabrycznie egzemplarze (rzadko, ale jest to możliwe).

Udostępnij ten post


Link to post
Share on other sites

Tak, serwo było spalone. Teraz działa i idę dalej 😉

Udostępnij ten post


Link to post
Share on other sites

zioloiso, jeśli było spalone, to już całkiem trafiłeś na pechowy model 😉 Najczęściej uszkodzenia są mechaniczne (np. blokada przykładni). W każdym razie super, że teraz wszystko śmiga już poprawnie - powodzenia w dalszej nauce!

Udostępnij ten post


Link to post
Share on other sites

Witam mam nastepujacy problem. Wczoraj przyszedl mój serwo z botlandu dokladnie ten co wymaga kurs i kiedy próbuje go podłączyć zgodnie ze schematem i podanym programem ani drgnie. Wyjscia od niego sa zenskie wiec dodatkowo dodaje przewody mesko meskie by podlaczyc do plytki. Moglby mi ktos prosze pomoc zanim bd szukal nowego serwo? Pewnie robie jakis glupi blad ale przez brak doswiadczenia go nie widze...

[ Dodano: 07-01-2018, 20:34 ]

Ok juz dziala. Ale drugie pytanie czy serwo powinno chodzic idealnie plynnie czy troszke tyrkotać?

Udostępnij ten post


Link to post
Share on other sites

piterx, witam na forum 🙂 Przekładnia, która jest w serwach sprawia, że wydają charakterystyczny dźwięk i mogą "troszkę tyrkotać". Takie małe i tanie modele serw nie chodzą perfekcyjnie płynnie (jak zwykłe silniki), jednak ruch nie powinien być mocno zaburzony.

Udostępnij ten post


Link to post
Share on other sites

Dotarłem do 5 części kursu, robiąc ćwiczenia z serwem zauważyłem że coś z jego ruchami nie jest tak jak powinno być.

Sprawdziłem to pisząc prosty kod który ustawia je w jednej określonej pozycji.

Z testu wynika że nie mogę go ustawić w pozycjach poniżej 20. Przy 19 i 18 drży ale stoi, a poniżej 17 kręci się dookoła zwalniając w tym niskim zakresie.

Gdzie może leżeć problem? Czy powinienem kupić inne serwo?

Serwo, stabilizator mam z zestawu, kondensatory zainstalowane przy stabilizatorze, bateria podłączona

/KK

Udostępnij ten post


Link to post
Share on other sites

krzyska, jeśli przy podaniu sygnału Jednak pamiętaj, że egzemplarz, który masz nie jest uszkodzony - to "nowsza" wersja, która reaguje na sygnały w minimalnie innym zakresie i nie ma blokady mechanicznej. W teorii dzięki temu trudniej je uszkodzić 😉

Udostępnij ten post


Link to post
Share on other sites

Serwo kupiłem z zestawem,
Zestaw właśnie zarejestrowałem,

Udostępnij ten post


Link to post
Share on other sites

krzyska, dziękuję za wyjaśnienia. W takim razie masz teraz dwie możliwości: albo zostań przy tym serwie, albo skontaktuj się z Botlandem znają temat i wymienią serwo na egzemplarz z blokadą 🙂

Decyzja należy do Ciebie, tak jak wspomniałem: serwo, które masz nie jest uszkodzone, to nowsza wersja tego, które jest opisane w kursie. Jedyna różnica jest taka, że nie ma tam blokady mechanicznej, więc przy podaniu małej wartości (

Udostępnij ten post


Link to post
Share on other sites

zadanie 5.1

#define czerwona 3
int wypelnienie = 0;
int zmiana = 3;
void setup() {
 pinMode(czerwona, OUTPUT);
}

void loop() {
 analogWrite(czerwona, wypelnienie);
 wypelnienie = wypelnienie + zmiana;//dodaje wypełnienie
 wypelnienie < 255;//sprawdza czy osiągnięto 255 


 delay(50);
}

Udostępnij ten post


Link to post
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!

Gość
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...