Menu
CoddyTech

Odczyt znaku z portu szeregowego

Część sekcji Wejścia ścieżki Arduino w Coddy. Lekcja 15 z 22.

Połączenie szeregowe działa w obie strony. Tekst wpisany w polu monitora szeregowego i wysłany za pomocą Wyślij trafia do płytki znak po znaku i czeka tam w buforze, aż szkic go odczyta.

Serial.available() informuje, ile znaków czeka. Serial.read() pobiera następny znak z bufora. Jeden znak mieści się w zmiennej char, zapisywanej w apostrofach:

if (Serial.available() > 0) {
  char c = Serial.read();
  if (c == '1') {
    // Wpisano 1
  }
}

'1' zapisane w apostrofach to znak 1 — klawisz, który naciskasz. To nie jest liczba 1: płytka przechowuje ten znak jako kod 49.

Monitor szeregowy wysyła też niewidoczny znak nowej linii, zapisywany jako '\n', po wszystkim, co wpiszesz. Szkic reaguje na znaki, które rozpoznaje, a pozostałe pomija.

challenge icon

Wyzwanie

Łatwy

Dioda LED jest podłączona do pinu 13. Steruj nią za pomocą monitora portu szeregowego:

  • gdy znak oczekuje na odczyt, wczytaj go do zmiennej typu char
  • '1' włącza diodę LED, '0' ją wyłącza
  • każdy inny znak, na przykład znak nowej linii, niczego nie zmienia

Naciśnij Run, wpisz 1 lub 0 w monitorze portu szeregowego i naciśnij Send, a następnie Check.

Spróbuj swoich sił

const int ledPin = 13;

void setup() {
  pinMode(ledPin, OUTPUT);
  Serial.begin(9600);
}

void loop() {
  // gdy czeka znak, odczytaj go
  // '1' włącza diodę LED, '0' ją wyłącza
}
quiz iconSprawdź się

Ta lekcja zawiera krótki quiz. Zacznij lekcję, żeby na niego odpowiedzieć i śledzić swoje postępy.

Wszystkie lekcje w sekcji Wejścia

Poćwicz samodzielnie: Edytor online Arduino