PRA

Přidání knihovny do Arduina

Knihovny v Arduinu jsou předpřipravené balíčky kódu, které usnadňují práci s různými senzory, moduly nebo složitějšími funkcemi. Díky tomu nemusíme psát všechno od nuly, knihovna se postará o složitější části programu, např. komunikaci se senzorem.

Knihovny také zpravidla obsahují příklady použití (Examples). Najdeme je přes menu File -> Examples -> Název knihovny . Z příkladů můžeme snadno pochopit, jak pracovat s danou knihovnou.

Přidání knihovny pomocí Library manageru

Přidání knihovny ze zip souboru

Teplotní a vlhkostní čidlo DHT11

image

image

DHT11 je jednoduché digitální čidlo, které měří teplotu a vlhkost. Připojuje se k Arduinu 3 piny: VCC, GND, DATA. Má plastové pouzdro s otvory pro proudění vzduchu a uvnitř obsahuje:

image

image

*Zdroj obrázků: https://howtomechatronics.com/tutorials/arduino/dht11-dht22-sensors-temperature-and-humidity-tutorial-using-arduino/ *

Příklad kódu s knihovnou DHTlib by Rob Tillaart:

#include <dht.h>        // Include library

dht sensor;             // Creates a DHT object
int outPin = 2;        // Defines pin number to which the sensor is connected

void setup() {
	Serial.begin(9600);
}

void loop() {
	int readData = sensor.read11(outPin);	// Starts the conversion

	float temp = sensor.temperature;        // Read temperature
	float humid = sensor.humidity;           // Read humidity

	Serial.print("Temperature = ");
	Serial.print(temp);
	Serial.print("°C ");
	Serial.print("Humidity = ");
	Serial.print(humid);
	Serial.println("% ");
	Serial.println("");

	delay(2000); // wait two seconds
}

I2C sběrnice

I2C (Inter-Integrated Circuit) je sériová sběrnice, která umožňuje komunikaci mezi více zařízeními (senzory, displeje, moduly) pomocí pouze dvou vodičů:

Výhody I2C s Arduinem

image

Zdroj obrázku: https://www.hibit.dev/posts/102/communication-protocols-uart-i2c-and-spi

image

LCD displej s I2C modulem a knihovnou LiquidCrystal_I2C

Knihovna ke stažení zde

image

image

Zdroj obrázku: https://lastminuteengineers.com/i2c-lcd-arduino-tutorial/

Použití knihovny LiquidCrystal_I2C

#include <LiquidCrystal_I2C.h> Načte knihovnu pro ovládání LCD displeje s I2C adaptérem.

LiquidCrystal_I2C lcd(0x27, 16, 2); Vytvoří objekt lcd s adresou 0x27. 16, 2 znamená, že displej má 16 sloupců a 2 řádky.

lcd.begin(); Inicializuje displej — připraví ho na použití.

lcd.clear(); Vyčistí obsah displeje.

lcd.setCursor(0,1); Nastaví kurzor na 1. sloupec (indexuje se od 0) a 2. řádek.

lcd.print("Hello world!"); Vypíše text “Hello world!” od zadané pozice kurzoru.

Úkoly:

  1. Připojte k Arduinu sensor DHT11 a zobrazujte naměřená data v Serial monitoru.
  2. Připojte k Arduinu LCD displej a zobrazte na první řádek své jméno, na druhý příjmení
  3. Zobrazte na displeji odpočet od 10 do 0 po 0,5s. Po skončení odpočtu zobrazte libovolný vzkaz.
  4. Na LCD displeji zobrazujte na jednom řádku teplotu, na druhém vlhkost.
  5. Na displeji zobrazujte aktuální teplotu a pak také minimální a maximální teplotu od startu programu.
  6. Vytvořte program, který sleduje teplotu z DHT11 a porovnává ji s limitem. Limit se bude nastavovat potenciometrem. Pokud teplota překročí tento limit, na LCD se zobrazí varování. Na LCD zobrazujte aktuální teplotu i nastavený limit.

Zpět na obsah