Skocz do zawartości

Kurs Arduino - #6 - kontynuacja UART, serwomechanizmy


Komentator

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.

Link do komentarza
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

Link do komentarza
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.

Link do komentarza
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.

Link do komentarza
Share on other sites

Zarejestruj się lub zaloguj, aby ukryć tę reklamę.
Zarejestruj się lub zaloguj, aby ukryć tę reklamę.

jlcpcb.jpg

jlcpcb.jpg

Produkcja i montaż PCB - wybierz sprawdzone PCBWay!
   • Darmowe płytki dla studentów i projektów non-profit
   • Tylko 5$ za 10 prototypów PCB w 24 godziny
   • Usługa projektowania PCB na zlecenie
   • Montaż PCB od 30$ + bezpłatna dostawa i szablony
   • Darmowe narzędzie do podglądu plików Gerber
Zobacz również » Film z fabryki PCBWay

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? 😉

Link do komentarza
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
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.