Skocz do zawartości
Komentator

Kurs Arduino - #6 - kontynuacja UART, serwomechanizmy

Pomocna odpowiedź

html_mig_img
W tej części zajmiemy się kilkoma tematami. Po pierwsze wrócimy na chwilę do UART, omówimy również nowe instrukcje sterujące. Na koniec praktyczne zastosowanie dla serwa.Przed czytaniem upewnij się, że znasz podstawy opisane w dotychczasowych częściach naszego darmowego kursu Arduino dla każdego!

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.

Udostępnij ten post


Link to post
Share on other sites

Zauważyłem nie do końca poprawne stwierdzenie:

...czyli przyjmuje tylko 8 cyfr! Każda kolejna jest błędna, ponieważ wykraczamy poza obszar pamięci, gdzie zapisana jest liczba i trafiamy w losowe cyfry.

Nie bardzo mogę zgodzić się ze stwierdzeniem ilości cyfr (w grę bardziej wchodziłby zakres wartości) dla typu zmiennoprzecinkowego (float). Bardziej pasowałby tutaj zapis o rozmiarze typu = 4B.

Ostatnie zdanie też niestety niezbyt trafione, ponieważ absolutnie nie wykraczamy poza obszar pamięci, a w grę wchodzi jedynie dyskretyzacja wartości tj. zapis wartości niecałkowitych w systemie binarnym. Przedstawiona przybliżona wartość liczby PI jest możliwie najdokładniej reprezentowana dla typu float, przybliżeniem jej do podanej wartości. Nie ma mowy tutaj o "wykraczaniu poza obszar pamięci". Po prostu na 4-bajtach nie da się dokładniej zapisać liczby PI...

Pomocny kalkulator: Klik

3.14159265358979323846264

Most accurate representation = 3.1415927410125732421875E0

Udostępnij ten post


Link to post
Share on other sites

atmel21, dzięki za uwagę. Faktycznie mój błąd z reprezentacją Pi, zaraz poprawię. Jednak, co do precyzji float kierowałem się tutaj prostym tłumaczeniem z dokumentacji Arduino: "Floats have only 6-7 decimal digits of precision. That means the total number of digits, not the number to the right of the decimal point."

W tekście 8 na 7 poprawiłem zaraz po publikacji, widocznie wyświetliła Ci się jeszcze stara wersja.

Udostępnij ten post


Link to post
Share on other sites

atmel21 co do wychodzenia poza pamięć, masz rację, ale "zakres wartości", to jeszcze gorsze stwierdzenie niż ilość cyfr. W przypadku tylu float, "zakres wartości" jest raczej duży - 2^127. To co stanowi problem to liczba bitów mantysy, czyli raptem 23. Na tylu bitach można zapisać do 7 cyfr dziesiętnych - więc tyle będzie dokładnych, a pozostałe będą obarczone błędem.

W każdym razie na potrzeby kursu dla początkujących wystarczy wiedzieć, że liczby rzeczywiste stwarzają wiele problemów i o ile to możliwe, lepiej używać typów int i pochodnych.

Udostępnij ten post


Link to post
Share on other sites

Hej

a jakiej wartosci jest potencjometr w tej części kursu, bo akurat w bortlandzie kupilem inny zestaw startowy z 10k , a ten do kursu nie ma dokładnie opisanej wartosci potencjometru

pozdrawiam

Maciek

Udostępnij ten post


Link to post
Share on other sites

Potencjometr może być dowolny byle większy od 1K, bo służy tylko do ustawiania napięcia.

Udostępnij ten post


Link to post
Share on other sites

maciekmas, parametry potencjometru nie są krytyczne, grunt to ponad 1k, tak jak było mówione.

Udostępnij ten post


Link to post
Share on other sites

Kawał dobrej roboty - naprawdę ciekawy odcinek kursu. Trzy dni podchodziłem do przeczytania tej lekcji, dwa razy mnie uśpił, a dzisiaj- to ja jestem górą i tekst zaliczony 😉

Udostępnij ten post


Link to post
Share on other sites

hob_bit, dzięki za miłe (chyba) słowa, bo nie wiem jak traktować fragment o usypianiu 😃

Udostępnij ten post


Link to post
Share on other sites
maciekmas, parametry potencjometru nie są krytyczne, grunt to ponad 1k, tak jak było mówione.
Dziekuje, dla was oczywiste ja sie dopiero ucze 🙂

Udostępnij ten post


Link to post
Share on other sites

Chyba najlepszy darmowy kurs. Swoje arduino będę miał dopiero jutro, ale póki co wszystko przeczytane. Swoją drogą jestem trochę zielony w temacie elektroniki (z programowaniem już lepiej bo trochę języków znam).

I tu pytanie o podłączenie serwa. Rozumiem że jak arduino jest zasilane przez gniazdo (zasilacz/ bateria), to serwo podłączone pod Vin czerpie prąd z baterii, a nie z kontrolera? 😉

Udostępnij ten post


Link to post
Share on other sites

PiotrekR, tak dokładnie - zasilanie brane jest wtedy z napięcia wejściowego. Dlatego należy pamiętać o stabilizatorze, ponieważ 9V z baterii uszkodziłoby serwomechanizm.

  • Lubię! 1

Udostępnij ten post


Link to post
Share on other sites

I wszystko stało się jasne 🙂 Dzięki wielkie, z niecierpliwością czekam na kolejne artykuły.

Udostępnij ten post


Link to post
Share on other sites

Co jeśli serwo klika a'la zegarek, ale się nie obraca?

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ść
Napisz odpowiedź...

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