// Hlavni funkce setup, ktera se zpracuje hned po startu
void setup() {
  Serial.begin(9600); // Nastartovani seriove linky rychlosti 9 600 b/s
  pinMode(3, OUTPUT); // Nastaveni GPIO pinu 3 na vystup
}

// Druha povinna smycka, jejiz obsah se opakuje stale dokola
void loop() {
  // Do 16bitove celociselne promenne bez znamenka 'posuvnik' uloz
  // hodnotu z A/D prevodniku a pinu A0
  uint16_t posuvnik = analogRead(A0);

  // Do osmibitove celociselne promenne 'jas' uloz prepocet promenne posuvnik
  // z rozsahu 0-1023 na rozsah 0-255
  uint8_t jas = map(posuvnik, 0, 1023, 0, 255);

  // Na GPIO pinu 3 vytvor PWM signal,
  // jehoz strida/sirka pulzu bude rovna promenne 'jas'
  analogWrite(3, jas);

  // Pro kontrolu vypis do seriove linky radek ve formatu
  // posuvnik TABULATOR jas ZAKONCENIRADKU
  Serial.print(posuvnik);
  Serial.print('\t');
  Serial.println(jas);
}