Jak odczytać liczby z Monitora portu Szeregowego?

Czasami zachodzi potrzeba odczytania liczby z Monitora portu szeregowego, by sterować programem w Arduino.

void setup()
{
  // Ustawianie serial
  while(!Serial);
  Serial.begin(9600);
  
  // Ustawianie pinu 13 jako wyjście
  pinMode(13, OUTPUT);
}

void loop()
{
  // Odczyt liczby z serial
  int number = Serial.parseInt();
  // Sprawdzanie czy liczba jest większa niż 1000
  if (number > 1000)
  {
    digitalWrite(13, HIGH); // Włączenie diody L
  }
  
  // Jak liczba jest mniejsza
  else
  {
    digitalWrite(13, LOW); // wyłączenie diody L
  }
}

Program steruje wbudowaną w Arduino diodą L podłączoną do pinu 13. Gdy wyślesz z Monitora portu szeregowego liczbę większą niż 1000 to dioda się zapala. Gdy wyślesz mniejszą to dioda gaśnie.

Koniec liczby musi być oznaczony jakimś znakiem innym niż cyfra. Ja ustawiłem monitor portu szeregowego by po naciśnięciu enter wysyłał znak nowej linii. Ale może być to spacja, litera, albo tabulator.

Cała tajemnica kryje się w kawałku Serial.parseInt(). Metoda ta odczytuje liczbę całkowitą typu int. W programie zapisuje ją do zmiennej “number”.

Możesz też czytać liczby zmiennoprzecinkowe (ułamkowe) typu float za pomocą metody Serial.parseFloat().

Te metody nie ograniczają się tylko do Serial. Możesz ich używać też przy połączeniach sieciowych i odczytywaniu plików z karty SD.

Warto poczytać też o innych, umożliwiających odczytywanie napisów.

Metody klasy Stream

sprae

Leave a Reply

Your email address will not be published.

This site uses Akismet to reduce spam. Learn how your comment data is processed.