Bu
uygulamada yapmak istediğimiz dht11 nem-sıcaklık ölçer ile oda sıcaklığını-nemini
ölçmek ve bu değerleri bluetooth kullanarak Android telefona aktarmaktır. Bu iş
için lazım olan donanımlar dht11 nem-sıcaklık ölçer , bluetooth (bendeki
jy-mcu bluetooth) , yazılımlar
ise dht11 kütüphanesi ve Android cihaz için Android Marketten
ulaşabileceğimiz Blueterm uygulamasıdır.
Öncelikle
uygulamaya başlamadan dht11 kütüphanesini internetten indirip derleyiciye
eklememiz gerekiyor. Bunun için indirdiğimiz kütüphaneyi rar’dan çıkarıp
Arduino'nun yüklü olduğu klasörün içerisindeki libraries klasörüne atalım ve derleyiciyi açıp
Sketch-Import Library-Add Library şeklinde libraries kütüphanesine eklediğimiz
klasörü derleyiciye tanıtıyoruz. Bu işlemlerden sonra dht11 gerekli
bağlantıları yaptığımızda sorunsuz çalışacaktır.
Aşağıda
devrenin şeması bulunmaktadır. Buradan bağlantıları aynen yapıp altındaki kodu
da çalıştırdığımız zaman telefon ekranında bizim belirlediğimiz aralıklarla
nem-sıcaklık bilgisi gözükecektir.
#include <SoftwareSerial.h>
#include <dht11.h> // dht11 kütüp
SoftwareSerial myBluetooth(10, 11); // RX, TX
#define DHT11PIN 2 // DHT11PIN olarak Dijital 2"yi belirliyoruz.
dht11 DHT11;
void setup()
{
myBluetooth.begin(9600);
myBluetooth.println("Omer Guvenir");
}
void loop()
{
myBluetooth.println();
int chk =
DHT11.read(DHT11PIN);
myBluetooth.print("Nem
(%): ");
myBluetooth.println((float)DHT11.humidity, 2);
myBluetooth.print("Sicaklik (Celcius): ");
myBluetooth.println((float)DHT11.temperature, 2);
myBluetooth.print("Sicaklik (Fahrenheit): ");
myBluetooth.println(DHT11.fahrenheit(), 2);
myBluetooth.print("Sicaklik (Kelvin): ");
myBluetooth.println(DHT11.kelvin(), 2);
myBluetooth.print("Cig
Olusma Noktasi: ");
myBluetooth.println(DHT11.dewPoint(), 2);
delay(5000);
}
|
BlueTerm
Arduino ile Telefon arasında eşleştirme yapıyor. Eşleştirme için ‘1234’ yazarak
Arduino’ya bağlanıyoruz. Bağlanmadan
önce Bluetooth’ta bulunan led sürekli yanıp sönerken bağlantı kurulunca sabit
yanmaya başlayacaktır. Bu uygulamada Arduino’dan veriler telefona aktarılıyor.
Tam tersini yapmakta mümkündür , yani bu program Arduino’daki Serial Monitor
görevi yapar. Basit bir örnek ; telefondan 0 ve 1 yazarak Arduino üzerindeki
bir ledi yakıp söndürebiliriz.
Önemli
bir hususta RX , TX konusudur. Bunlar veri aktarımını sağlar ve Arduino
ile Bluetooth arasında çapraz bağlı olmalıdır. Şekle bakarsak Arduino’nun RX’i
Bluetooth’un TX’ine denk gelecek şekilde bağlanmıştır. Aynı şekilde
Arduino’nun TX’i Bluetooth’un RX’ine denk geleck şekilde bağlanmalıdır. Yoksa
veri aktarımı gerçekleşmeyecektir.