Arduino 12. nodarbība – Temperatūras un mitruma sensors

Arduino – Temperatūra un mitrums, bibliotēkas ielāde

Šajā nodarbībā iemācīsimies saņemt datus no temperatūras un mitruma sensora, ielādējot tā bibliotēku, un parādīt tos uz Arduino LCD ekrāna.

Nepieciešamie komponenti

  1. Arduino kontrolieris (piem. Uno, Nano) ar USB kabeli
  2. Bredbords 400 punktu Half+
  3. Bredbords 170 punktu Mini
  4. Savienošanas vadi 10cm male-male 17 gab
  5. Rezistori 2KΩ 1 gab., 220Ω 1 gab.
  6. LCD ekrāns HD44780 1602 (16×2)
  7. Temperatūras un mitruma sensors DHT11 vai DHT22.

Skaidrojums

Slēgums

Savienot tā pat kā 11.nodarbībā.
Papildus Temperatūras un mitruma sensors DHT11 (vai DHT22):
5V | D13 | Tukšs | GND

Programma

Kā pieslēgt Arduino un kā lietot Arduino IDE programmu skatiet 1.nodarbībā

Atveram Arduino IDE programmu.
Instalējam DHT bibliotēku (library):
Rīki – Pārvaldīt bibliotēkas – Meklēšanas logā ierakstām ierīces nosaukumu, piem. DHT11, izvēlamies un instalējam bibliotēku – piem. DHT sensor library.

Fails – Jauns
Iekopējam kodu, tad Fails – Saglabāt. Pārbaudīt, tad Augšupielādēt.

/*
Temperaturas un mitruma sensors
*/

#include <DHT.h> // iekļauj biblotēkas
#include <LiquidCrystal.h>  

DHT dht(13, DHT11); // Sensora pins, modelis DHT11, DHT22, DHT21, AM2301
LiquidCrystal lcd(2, 3, 4, 5, 6, 7); // rs, enable, d4, d5, d6, d7

void setup() { 
  Serial.begin(9600);
  Serial.println("DHTxx test!");
  lcd.begin(16,2); 
  dht.begin();
}

void loop() { 

  delay(2000);
  float h = dht.readHumidity();
  float t = dht.readTemperature();

  Serial.print("Mitrums: ");
  Serial.print(h);
  Serial.print(" %\t");
  Serial.print("Temperatura: ");
  Serial.print(t);
  Serial.println(" C ");

  lcd.setCursor(0,0); 
  lcd.print("Temp.: "); 
  lcd.print(t,0);  // 0 - decimāldaļas aiz komata
  lcd.print("C"); 
  lcd.setCursor(0,1); 
  lcd.print("Mitrums: ");
  lcd.print(h,0);  // 0- decimāldaļas aiz komata
  lcd.print("%");                                              
}

DHT11 sensoram izšķirtspēja ir 1 grāds un 1%, tāpēc 0 decimāldaļas aiz komata, bet FHT22 izšķir 0.1 grādu un 0.1%, tāpēc 1 decimāldaļa aiz komata.

Papildu uzdevums 1

11.nodarbībā izveidot savas rakstzīmes – bultas uz augšu un uz leju.
Uzrakstīt programmu, kura uz LCD ekrāna parāda – temperatūra ceļas vai krītas.

Papildu uzdevums 2