Wątek przeniesiony 2018-11-08 11:59 z C/C++ przez Marooned.

Wyświetlanie liczb/tekstu podział na dziesiątki jedności oraz liczby po przecinku

0

Witam,
Jestem nowy na forum więc chciałem się przywitać i przedstawić z imienia, Wojtek.

Teraz do rzeczy. Borykam się z takim problemem, że chciał bym wykonać miernik na platformie arduino (arduino dokonuje pomiaru, konwersji wartości zmierzonej na wolty i wyświetla wynik).
Część rzeczy potrafię zrobić tzn. dokonać pomiaru, zamienić wartość na liczbę dziesiętną, wyświetlić "cokolwiek" na siedmio segmentowym wyświetlaczu poprzez arduino. Jedyna rzecz z którą nie potrafię sobie poradzić to:
uzyskany wynik pomiaru podzielić na poszczególne składowe, czyli np: liczbę 2,53 zamienić/podzielić (i tutaj nie wiem na co i w jaki sposób?) na liczbę 2, kropkę/przecinek, liczbę 5, liczbę 3.
Teraz gdy liczbę główną będę miał podzieloną na jedności, dziesiątki i setki to, (z liczby 2,53 mając cztery zmienne) dalej sobie poradzę. Pojedynczą liczbę jestem w stanie wyświetlić na 3-blokowym siedmiosegmentowym wyświetlaczu LED.
Zmienna którą arduino mierzy jest typu float.

Zapraszam do dyskusji nad tym tematem i zwracam się tutaj do Was ponieważ jestem laikiem w temacie programowania w C++, tzn. podstawy jakieś mam ale nie wystarczające do poradzenia sobie z tym tematem.

1

Nie wiem jak wygląda wsparcie biblioteki standardowej dla arduino, ale nie wystarczy zwykły sprintf?

char str[5];
sprintf(str, "%.2f", 2.53);

str powinno zawierać '2', ',', '5', '3', '\0'.

2
dtostrf(float, minimum width, precision, character array);
0

Jak powinno wyglądać użycie tej tablicy znaków, tzn w jaki sposób mogę mieć dostęp do poszczególnych jej komórek?
To polecenie wygląda u mnie następująco:
dtostrf(napiecie,3,2,tablica1);

Jak mogę dobrać się do pierwszej komórki, drugiej itd.?

1 użytkowników online, w tym zalogowanych: 0, gości: 1