10. DERS - Android Telefon ile Sıcaklık ve Nem Ölçümü

Bu derste Android telefon ile Nem ve Sıcaklık Ölçümünü Anlattım. Arduino UNO' ya bağlı DHT11 sensöründen alınan bilgiler Bluetooth modülü (HC-07) ile Android telefona aktarıldı. Alınan bilgileri Basic for Android (B4A) derleyici programında yazdığım BlueSay 2.0 isimli program ile görüntüledim.


Şekil 1 - Sıcaklık ve Nem Okuma Devresi ve Android Telefon


HC Bluetooth Modülü
HC-07 modülü 4 pine sahiptir bunlar ;
  • RXD : Arduino UNO'dan (Tx)gelen veriler alınır
  • TXD : Arduino UNO'ya (Rx) veri gönderir
  • VCC : 3,3-6,6 Volt
  • GND : Toprak ucu

Şekil 2 - HC 07 Bluetooth Modülü

HC'nin farklı versiyonları var. Bu versiyonların bazılarında RXD 5V bazılarında ise 3.3V ile çalışır. Arduino Tx ucu 5 volt gönderir. Bu nedenle HC bluetooth modülünün RXD gerilim değerine dikkat etmelisiniz. Eğer 3.3 vol ile çalışıyor ise gerilim bölücü (voltage divider) kullanmalısınız.


Yukarıdaki formülde; R1 = 1,2 K R2 = 2,2 K Vin = 5v.
Formül Çözüldüğünde: Vout = 5 x 2,2 K / (2,2 K + 1,2 K ) = 5v x 2,2 K / 3,4 K = 3.24 V
R1 ve R2 değerlerini farklı kombinasyonlarda seçebilirsiniz. R2 değeri yaklaşık olaraka R1 in 2 katı olmalıdır. Gerilim bölücü kullanmak istemiyorsanız. 3.3 volt gerilim regülatörü kullanabilirsiniz.

DHT11 Sıcaklık ve Nem Sensörü
DHT11 sıcaklık ve nemi aynı anda ölçen bir sensör. Sıcaklık ölçüm aralığı 0-50 °C hassasiyeti ±2 °C. Nem ölçüm aralığı ise %20-%90 hassasiyeti ± %5.


Şekil 3 - DHT11 Sıcaklık ve Nem Sensörü


Şekil 4 - Sıcaklık ve Nem Ölçüm Devresi

ARDUINO UNO Programı

#include <DHT11.h> //DHT11 kütüphanesi eklenir
//Dijital pin tanımlaması
int pin=2;
DHT11 dht11(pin);
void setup()
{
  Serial.begin(9600);//Seri habarleşme başlatılır
}
void loop()
{
  float nem,sicaklik;
  int oku = dht11.read(nem,sicaklik); //sensördeki veriler okunur
  //Nemi oku ve seri porta gönder
  Serial.print(nem, 2);
  Serial.print(",");
  //Sıcaklık santigrat derece olarak oku ve seri porta gönder
  Serial.print(sicaklik, 2);
  Serial.println();
  delay(2000); // 2 Saniye bekle
}


Arduino Programını İndirilenler-Download sekmesinden indirebilirsiniz.

Basic For Android (B4A) Programı
Android telefon için yazdığım programı "Basic For Android" isimli derleyici programda yazdım. Yazdığım programa BlueSay 2.0 ismini verdim. Program Telefonun Bluetooth portunu kullanarak DHT11 Sıcaklık ve Nem Sensöründen gelen verileri okuyup görüntülüyor.



Şekil 5 - BlueSay 2.0 Programı

Program Dosyaları
Ders Videosu