• Witaj na Forum Arduino Polska! Zapraszamy do rejestracji!
  • Znajdziesz tutaj wiele informacji na temat hardware / software.
Witaj! Logowanie Rejestracja


Ocena wątku:
  • 0 głosów - średnia: 0
  • 1
  • 2
  • 3
  • 4
  • 5
Jak usunąć część znaków z łańcucha String?
#1
Chciałbym prosić o podpowiedź jak „przejąć” dane przychodzące ze smartfona po UART (a dokładnie z suwaka w RoboRemoFree) i wykorzystać część tych danych w programie Arduino.
Suwak wysyła łańcuch składający się z: ID suwaka (u mnie 2 litery), spacji oraz aktualnej wartości od 0 do 255. Jak zrobić, żeby przejąć tylko tę aktualną wartość bez 2 pierwszych znaków i spacji? Chciałem wykorzystać String, ale nie mam pojęcia jak "wyciąć" z łańcucha ten początek.
Może ktoś się pokusi o napisanie paru linijek kodu?
Pozdrawiam,
MarJanPol
 
#2
Pomoc->Referencje->Serial - przeczytaj opis wszystkich funkcji. Jedna na pewno będzie pasować. Do tego masz sporo przykładów jak programować port szeregowy. Gdy zamieścisz program to będziemy w stanie Ci pomóc.
Pomagam za darmo więc szanuj mój czas.
Wklejaj tekst a nie jego zdjęcie.
Nie pisz następnego postu jak nie odpowiedziałeś na poprzedni.
Jak mądrze zadawać pytania
 
#3
(09-12-2017, 18:05)namok napisał(a): Pomoc->Referencje->Serial - przeczytaj opis wszystkich funkcji. Jedna na pewno będzie pasować. Do tego masz sporo przykładów jak programować port szeregowy. Gdy zamieścisz program to będziemy w stanie Ci pomóc.

Zgadzam się, że czytanie jest najlepszym pomysłem na początek. Ale znacznie łatwiej się czyta gdy wiadomo czego szukać... Zrobiłem wstępny projekcik, ale wiem, że jeszcze sporo w nim brakuje:

Kod:
int led = 13;
String odebraneDane = ""; 

void setup() 
{Serial1.begin(9600);
pinMode(led,OUTPUT);
digitalWrite (led, LOW); 


void loop() 
{ if(Serial1.available() > 0)
  {odebraneDane = Serial.parseInt();
Serial.println(odebraneDane);
analogWrite(led,odebraneDane);
}}

Ponieważ dopiero uczę się podstaw programowania w C więc mam trochę problem z rozpoznaniem jaki jest najlepszy kierunek. Czy próbować ze String czy może jakoś z typem char budować tablicę... Próbowałem łapać łańcuch i funkcją parseInt wyciąć wszystko, co nie jest liczbą ale widzę, że nie bardzo można w ten sposób...
 
#4
(09-12-2017, 18:35)MarJanPol napisał(a): Próbowałem łapać łańcuch i funkcją parseInt wyciąć wszystko, co nie jest liczbą ale widzę, że nie bardzo można w ten sposób...
Można, tylko trzeba rozumieć co się robi.
Na pewno będzie łatwiej sprawdzić działanie gdy program skompiluje się bez błędów.
Poczytaj podstawy: https://forbot.pl/blog/kurs-arduino-pods...rsu-id5290
Pomagam za darmo więc szanuj mój czas.
Wklejaj tekst a nie jego zdjęcie.
Nie pisz następnego postu jak nie odpowiedziałeś na poprzedni.
Jak mądrze zadawać pytania
 
#5
Witam,
W opisie klasy String masz substring() którą możesz wyciąć część Stringi. To Co Ci zostanie potraktuj toInt() i gotowe.
Pozdrawiam
 
#6
(10-12-2017, 09:43)Smaczek napisał(a): Witam,
W opisie klasy String masz substring() którą możesz wyciąć część Stringi. To Co Ci zostanie potraktuj toInt() i gotowe.
Pozdrawiam

Smaczek, BARDZO CI DZIĘKUJĘ!!! Tego właśnie mi brakowało. Teraz wszystko działa jak należy  Smile
Zamykam wątek...
 
  


Skocz do:


Przeglądający: 1 gości