logo elektroda
logo elektroda
X
logo elektroda
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

Arduino: Jak przypisać dane z UART do zmiennych int?

DejmDaniel 06 Sty 2018 18:42 1410 7
  • #1 16940893
    DejmDaniel
    Poziom 4  
    Posty: 61
    Ocena: 2
    Witam, posiadam 2x Arduino oraz dwa moduły radiowe HC-12, które komunikują się za pomocą UART (Tx,Rx). Mój problem polega na tym, że wysyłając dane (odczyt 2x potencjometr oraz przycisk) za pomocą println odbieram dane np.
    21 potencjometr
    1023 potencjometr
    0 przycisk
    W taki sposób wyświetlają sie na monitorze portu szeregowego, a moim celem jest aby kazdą linijkę przypisać do np. int w odbiorniku by móc użyć tych danych
    Nadajnik:
    Kod: C / C++
    Zaloguj się, aby zobaczyć kod


    Odbiornik:
    Kod: C / C++
    Zaloguj się, aby zobaczyć kod
  • #3 16941712
    DejmDaniel
    Poziom 4  
    Posty: 61
    Ocena: 2
    Nie jestem pewny jak działa ten przykładowy program, wiec nie wiem jak mógłbym go wykorzystać w moim programie. Zastanawiam się jak rozdzielić te wartości, poniewaz ilość znaków sie z mienia np. 0-1023. Jeśli mógłbyś mi to lepiej wytłumaczyć lub dopasować to do mojego programu byłbym wdzięczny.
  • #4 16941931
    Konto nie istnieje
    Poziom 1  
  • #5 16943801
    DejmDaniel
    Poziom 4  
    Posty: 61
    Ocena: 2
    Dziękuję za tyle informacji ale już wcześniej przestudiowałem chyba każdy możliwy link zawierający info o module HC-12. Ale przynajmniej zwróciłem większą uwagę na 3. link i ten kod do sterowania silnikiem krokowym. Zacząłem więc zmieniać ten kod na swoją potrzebę i niby wszystko zrozumiałem jednak na Serial monitorze wywala mi masę danych na które nie ma znaczenia nawet krecenie potencjometrem. Mianowicie ostatnia zmienna w kodzie, którą chcę wyswietlić powinna pokazywać własnie odczyt potencjometru a wywala te dziwne dane. Kod poniżej:
    Nadajnik:
    Kod: C / C++
    Zaloguj się, aby zobaczyć kod


    Odbiornik:
    Kod: C / C++
    Zaloguj się, aby zobaczyć kod


    Mam jeszcze pytanie co do linijki zawierającej:
    Kod: C / C++
    Zaloguj się, aby zobaczyć kod

    Zmienna incomingByte już była charem wiec czemu jest znowu zmieniana na to. Po za tym zapis "+=" działa gdy po obu stronach są zmienne tego samego typu wiec nie wiem co sie dzieje w tej linijce. Przydałoby mi się słowne powiedzenie co sie tutaj dzieje. Oraz czemu nie może mi wyświetlić linijka po linijce wartości int z potencjometru.
  • #6 16944637
    Konto nie istnieje
    Poziom 1  
  • #7 16948013
    DejmDaniel
    Poziom 4  
    Posty: 61
    Ocena: 2
    Sprawdziłem link, i znalazł się tam jeden przykład, który pasował by do projektu, lecz zawiera on funkcje, których wyjaśnienia nie mogłem znaleźć w necie. Pozostane więc przy moim poprzednim komentarzu, i prosiłbym o pomoc w zrozumieniu co jest w tym kodzie nie tak.
  • #8 16948510
    Konto nie istnieje
    Poziom 1  

Podsumowanie tematu

✨ Użytkownik poszukuje pomocy w przypisaniu danych z komunikacji UART do zmiennych typu int w projektach z użyciem Arduino i modułów radiowych HC-12. W swoim kodzie nadajnika odczytuje wartości z potencjometrów i przycisku, a następnie wysyła je przez port szeregowy. Problemy pojawiają się przy odbiorze danych, gdzie użytkownik nie wie, jak rozdzielić i przypisać te wartości do zmiennych. Odpowiedzi sugerują użycie biblioteki SoftwareSerial do obsługi komunikacji oraz wskazują na potrzebę konwersji zmiennych int na String przed ich wysłaniem. Użytkownik jest również zachęcany do przestudiowania dostępnych tutoriali i przykładów kodu, aby lepiej zrozumieć problem.
Wygenerowane przez model językowy.
REKLAMA