# Biblioteki w Arduino

### Czym są biblioteki?

Biblioteki to zestawy funkcji i gotowych programów, które rozwiązują specyficzne zadania. Zamiast pisać kod do obsługi np. wyświetlacza LCD lub czujnika temperatury od podstaw, możesz po prostu zaimportować bibliotekę, która już zawiera wszystkie potrzebne funkcje i gotowe fragmenty kodu.

<p class="callout info">\#include &lt;Twoja\_biblioteka.h&gt;</p>

### Dodawanie biblioteki

#### Jakie biblioteki mamy dostępne w Arduino IDE

- Zainstalowane automatycznie: Arduino IDE zawiera wiele bibliotek, które są preinstalowane. Są to popularne biblioteki, takie jak obsługa komunikacji szeregowej, PWM, I2C, czy SPI.
- Z opcją instalacji przez Manager Bibliotek: Aby to zrobić, kliknij na „Sketch” → „Include Library” → „Manage Libraries…” i wyszukaj interesującą Cię bibliotekę.

#### Alternatywne źródła bibliotek

- Strony takie jak github
- Strony producentów sprzętu elektronicznego
- Fora internetowe / grupy na Mediach Społecznościowych /
- Tworzenie własnych bibliotek

Jak dodać alternatywne biblioteki:

- Kliknij „Sketch” → „Include Library” → „Add .ZIP Library…”.
- Wskaż plik .zip z biblioteką lub folder, w którym się znajduje.

#### Implementacje biblioteki do kodu

\#include &lt;Twoja\_biblioteka.h&gt;

Dodając bibliotekę warto sprawdzić jej dokumentacje, żeby móc z niej poprawnie korzystać lub przejrzeć internet z przykładowych wykorzystaniu bibliotek na ŻYWYM kodzie.

#### **Przykłady:**

##### Wyświetlacz ciekłokrystaliczny - LiquidCrystal

> \#include &lt;LiquidCrystal.h&gt;
> 
> LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
> 
> void setup() {
> 
>  lcd.begin(16, 2);
> 
>  lcd.print("Hello, World!");
> 
> }

##### Serwomechanizm - Servo

> \#include &lt;Servo.h&gt;
> 
> Servo myServo;
> 
> void setup() {
> 
>  myServo.attach(9);
> 
>  myServo.write(90); // Ustaw serwo na 90 stopni
> 
> }

##### Czujnik DHT - temperatura - DHT

> \#include &lt;DHT.h&gt;
> 
> \#define DHTPIN 2
> 
> \#define DHTTYPE DHT11
> 
> DHT dht(DHTPIN, DHTTYPE);
> 
> void setup() {
> 
>  dht.begin();
> 
> }