Jak přidat desky ESP32 do Arduino IDE
Návod na přidání a zprovoznění podpory mikrokontrolérů ESP32 v Arduino IDE.
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é.
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ý.
Knihovny je přitom možné instalovat dvěma hlavními způsoby:
Nejjednodušší způsob instalace knihoven je přímo v prostředí Arduino IDE, kde máme k dispozici velký online katalog.
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ě:
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.
Teploměr DS18B20 v pouzdru TO-92 má celkem tři vývody:
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.
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ů.
Návod na přidání a zprovoznění podpory mikrokontrolérů ESP32 v Arduino IDE.
Postup propojení mikrokontroleru s počítačem, nastavení portu v Arduino IDE a nahrání prvního vzorového kódu.