
V předchozím článku jsme si ukázali, jak úspěšně propojit mikrokontroler s počítačem, nahrát do něj první program a číst data v sériovém monitoru. Dnes se posuneme o krok dál. Jakmile totiž začne uživatel k Arduinu nebo ESP32 připojovat složitější součástky (senzory, displeje, moduly bezdrátové komunikace), zjistí, že psát veškerou komunikaci od nuly je zdlouhavé.
Co je to knihovna a proč ji používat?
Knihovna je balíček hotového kódu, který nám usnadňuje život. Místo toho, abychom programovali komunikaci se senzory nebo displeji od nuly, využijeme funkce, které za nás napsal někdo jiný.
- Bez knihovny: Strávíme hodiny studováním stostránkových datasheetů, abychom pochopili komplikovaný protokol dané součástky, a budeme muset ručně programovat každý poslaný bit nebo registr.
- S knihovnou: Stačí zavolat jednoduchý příkaz a hardware hned funguje.
Knihovny je přitom možné instalovat dvěma hlavními způsoby:
1. Instalace přes Správce knihoven (Library Manager)

Nejjednodušší způsob instalace knihoven je přímo v prostředí Arduino IDE, kde máme k dispozici velký online katalog.
- Otevřeme Arduino IDE.
- V levém bočním panelu klikneme na ikonu knihoven nebo v horní nabídce zvolíme Nástroje -> Správce knihoven...
- Do vyhledávacího pole zadáme název knihovny, kterou hledáme (například Dallastemperature library pro práci s teplotním čidlem).
- Jakmile ji v seznamu najdeme, klikneme na tlačítko Install. IDE automaticky stáhne a nainstaluje vše potřebné.
- Po instalaci se do konzole automaticky vypíše zda vše problěho v pořádku a tímto je knihovna úspěšně nainstalovaná.
2. Manuální instalace ze souboru ZIP

Pokud narazíme na knihovnu, která ještě není v oficiálním správci zařazená (například přímo na GitHubu výrobce), můžeme ji nainstalovat ručně:
- Stáhneme si knihovnu jako archiv ve formátu .zip. Archiv nerozbalujeme.
- V Arduino IDE klikneme v horním menu na Sketch -> Přidat knihovnu -> Přidat knihovnu ZIP.
- V okně správce souborů vybereme stažený ZIP archiv a potvrdíme výběr.
- Arduino IDE archiv automaticky rozbalí a upozorní nás na úspěšnou instalaci v konzoli.
Použití knihovny v praxi
Jakmile máme knihovny nainstalované, můžeme je začít používat v kódu. Pro správnou funkčnost našeho příkladu s teploměrem DS18B20 je potřeba mít nainstalovanou jak knihovnu DallasTemperature, tak i podpůrnou knihovnu OneWire, bez které by komunikace nefungovala. Obě knihovny najdeme a nainstalujeme přes Správce knihoven stejným způsobem, jaký jsme si ukázali výše.
Každá knihovna obvykle obsahuje také ukázkové příklady, které najdeme v menu Soubor -> Příklady.
Jako ukázku si uveďme kód pro práci s populárním digitálním teploměrem DS18B20:
Teploměr DS18B20 v pouzdru TO-92 má celkem tři vývody:
- GND (zem)
- DQ (datový pin)
- VDD (napájení)
Senzor DS18B20 zapojíme pomocí tří vodičů. Napájení a zem přivedeme přímo z desky, přičemž datový vývod propojíme s digitálním pinem (v našem příkladu využijeme pin 4). Protože senzor komunikuje po sběranici OneWire, nesmíme zapomenout na rezistor o velikosti 4,7kΩ, který zapojíme jako pull-up mezi datový vodič a napájecí napětí 5V, aby byla komunikace stabilní a bez chyb.

Jakmile máme senzor fyzicky připojený, zbývá už jen nahrát připravený kód
// 1. Vložení potřebných knihoven
#include <OneWire.h>
#include <DallasTemperature.h>
// 2. Definice pin, na kterém je připojen datový vodič senzoru (např. pin 4)
const int oneWireBus = 4;
// 3. Inicializace OneWire komunikace a předání instance knihovně DallasTemperature
OneWire oneWire(oneWireBus);
DallasTemperature sensors(&oneWire);
void setup() {
// Inicializace sériové komunikace pro výpis dat
Serial.begin(9600);
// Spuštění komunikace se senzorem
sensors.begin();
Serial.println("Teplomer DS18B20 pripraven!");
}
void loop() {
// Pokyn senzoru k měření teploty
sensors.requestTemperatures();
// Načtení teploty ve stupních Celsia z první adresy na sběrnici
float teplotaC = sensors.getTempCByIndex(0);
// Výpis naměřené hodnoty do sériového monitoru
Serial.print("Aktualni teplota: ");
Serial.print(teplotaC);
Serial.println(" *C");
// Prodleva 1 sekunda před dalším měřením
delay(1000);
}
Po úspěšném nahrání programu do mikrokontroleru otevřeme Sériový monitor. V okně monitoru se nám začnou pravidelně vypisovat aktuální hodnoty teploty, které senzor DS18B20 naměřil a poslal přes sběrnici.

Závěr
Nyní už víme, jak jednoduše rozšířit možnosti vývojového prostředí o stovky hotových funkcí pro nejrůznější senzory, displeje a moduly. Správná práce s knihovnami nám ušetří obrovské množství času při stavbě vlastních projektů.
Použité komponenty:
- Arduino UNO: https://dratek.cz/arduino-platforma/1258-eses-klon-arduino-uno-r3-ch340.html
- Propojovací kabel: https://dratek.cz/arduino-platforma/5042-usb-kabel-propojovaci-usb-2.0-a-b.html
- Teplotní sensor: https://dratek.cz/arduino-platforma/1187-teplotni-senzor-digitalni-dallas-ds18b20.html
- Rezistor 4,7kΩ: https://dratek.cz/arduino-platforma/7660-rezistor-4k7-0.25-w-1.html