Lekce 10

Sériový monitor

Desátá lekce Arduino kurzu pro začátečníky: naučíte se ovládat LED přímo z počítače pomocí sériového monitoru. Ukážeme si zapojení tří LED, kód do Arduino IDE i to, jak Arduino čte text z klávesnice – napíšete název barvy, stisknete Enter a odpovídající LED se rozsvítí.

🧩Co budeš potřebovat
Arduino Breadboard 3× LED 3× rezistor 220 Ω Propojovací vodiče USB kabel
🔌Zapojení
Schéma zapojení Arduino – tři LED na pinech 2, 3 a 4 ovládané přes sériový monitor

Popisek obrázku: tři LED, každá přes vlastní rezistor 220 Ω do GND. Anody LED vedou postupně na piny 2, 3 a 4. Komunikace s počítačem probíhá po USB kabelu – žádné další zapojení k tomu nepotřebujete.

🔗Připojení pinů
KomponentaArduino
LED 1 (anoda, přes 220 Ω)pin 2
LED 2 (anoda, přes 220 Ω)pin 3
LED 3 (anoda, přes 220 Ω)pin 4
LED (katody)GND
💡Jak to funguje

Sériový monitor je okénko vestavěné přímo v Arduino IDE, které slouží jako přestupní stanice mezi počítačem a Arduinem. Po USB kabelu posílá text tam i zpět. V tomto pokusu počítač pošle název barvy, Arduino ho funkcí Serial.read postupně přečte a složí do jednoho řetězce. Pak ho porovná – když odpovídá některé barvě, zapne příslušnou LED a ostatní zhasne. Komunikace běží rychlostí 9600 Bd.

Postup
  1. Sestavte obvod podle schématu výše – tři LED s rezistory na piny 2, 3 a 4.
  2. Zkopírujte kód do Arduino IDE, zkompilujte ho a nahrajte do Arduina.
  3. Otevřete sériový monitor (tlačítko vpravo nahoře), napište název barvy a stiskněte Enter.
</>Kód
lekce10_seriovy_monitor.ino
// Sériový monitor
// Otevřete sériový monitor. Když do něj napíšete "cervena" a stisknete Enter,
// rozsvítí se červené LED světlo. Zkuste i další barvy!
// Email: podpora@laskakit.cz · Web: laskakit.cz

const int modraPin = 2;          // číslo pinu modré LEDky
const int zlutaPin = 3;          // číslo pinu žluté LEDky
const int cervenaPin = 4;        // číslo pinu červené LEDky
String comdata = "";
int lastLength = 0;

void setup() {
  pinMode(modraPin, OUTPUT);      // modrá LED jako výstup
  pinMode(zlutaPin, OUTPUT);      // žlutá LED jako výstup
  pinMode(cervenaPin, OUTPUT);    // červená LED jako výstup
  Serial.begin(9600);            // spustit sériový monitor na 9600 Bd
  Serial.print("Please input any color of LED:");  // zpráva do monitoru
}

void loop() {
  // pokud jste něco napsali do monitoru
  if (Serial.available() > 0) {
    comdata = "";
    while (Serial.available() > 0) {
      comdata += char(Serial.read());   // skládat znaky do řetězce
      delay(2);
    }
    Serial.println(comdata);
  }
  if (comdata == "cervena") {
    digitalWrite(cervenaPin, HIGH);  // zapnout červenou LEDku
    digitalWrite(modraPin, LOW);     // vypnout modrou LEDku
    digitalWrite(zlutaPin, LOW);     // vypnout žlutou LEDku
  } else if (comdata == "zluta") {
    digitalWrite(cervenaPin, LOW);
    digitalWrite(modraPin, LOW);
    digitalWrite(zlutaPin, HIGH);    // zapnout žlutou LEDku
  } else if (comdata == "modra") {
    digitalWrite(cervenaPin, LOW);
    digitalWrite(modraPin, HIGH);    // zapnout modrou LEDku
    digitalWrite(zlutaPin, LOW);
  } else {
    digitalWrite(cervenaPin, LOW);    // vypnout všechny LEDky
    digitalWrite(modraPin, LOW);
    digitalWrite(zlutaPin, LOW);
  }
}
Výsledek
💡
Po nahrání otevřete sériový monitor a uvidíte výzvu Please input any color of LED. Napište třeba cervena a stiskněte Enter – rozsvítí se odpovídající LED. Zkuste i modra a zluta. Když napíšete něco jiného, všechny LED zůstanou zhasnuté.
Časté chyby
?Kontrolní otázka

QK čemu slouží sériový monitor?