Bluetooth Üzerinden Lcd Ekrana Veri Aktarma

22 10.467

Projemizde arduino tabanlı bir sistemde sıcaklık sensörü diğer sistemde de lcd ekran bulunacak.Sistemden gelen veriler lcd ekrana aktıralarak sistemin durumunu anlık takip edebileceğiz.Bluetooth üzerinden lcd ekrana veri aktarma projemize başlayalım.

Malzemeler:

  1. 2 Adet Arduino
  2. Hc-05 Bluetooth Modül
  3. Hc-06 Bluetooth Modül
  4. LM35 Sıcaklık Sensörü

Projemizde iki bluetooth modülü haberleştireceğimiz için öncelikle bluetooth modüllerin AT komutlarını ayarlamanız gerekmektedir.Aşağıdaki bağlantıdan nasıl yapıldığına bakabilirsiniz.

https://www.robimek.com/hc-05-ile-hc-06-bluetooth-modullerin-haberlesmesi/

 

Elektronik Kısım:

Verici Devresi:

Alıcı Devresi:

Şekillerdeki gibi devre bağlantılarını yapınız.

 

Yazılım Kısmı:

Alıcı Yazılımı:

//Yazılım Geliştirme By Robimek – 2015
//Yazılım Lisans By Robimek
//www.robimek.com
#include <LiquidCrystal.h>
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
#include <SoftwareSerial.h>
#define BT_SERIAL_TX 6
#define BT_SERIAL_RX 7
SoftwareSerial BluetoothSerial(BT_SERIAL_TX, BT_SERIAL_RX);
unsigned int Sicaklik = ' ';
void setup()
{
Serial.begin(9600);
lcd.begin(16, 2);
lcd.print("Oda sicakligi:");
BluetoothSerial.begin(9600);
}
void loop()
{
if (BluetoothSerial.available()>0){
Sicaklik = BluetoothSerial.read();
lcd.setCursor(0, 1);
lcd.print(Sicaklik);
lcd.print(" derece");
delay(100);
}
}

 

Verici Yazılımı:

//Yazılım Geliştirme By Robimek – 2015
//Yazılım Lisans By Robimek
//www.robimek.com
#include <SoftwareSerial.h>
#define BT_SERIAL_TX 6
#define BT_SERIAL_RX 7
SoftwareSerial BluetoothSerial(BT_SERIAL_TX, BT_SERIAL_RX);
int SicaklikSensor = 0;
int deger;
unsigned int Sicaklik;
void setup()
{
Serial.begin(9600);
BluetoothSerial.begin(9600);
}
void loop()
{
deger = analogRead(SicaklikSensor);
Sicaklik = map(deger, 0, 1023, 0, 100);
BluetoothSerial.write(Sicaklik);
delay(100);
}
Bunlar da İlgini Çekebilir
Cevap bırakın

E-posta hesabınız yayımlanmayacak.

This site uses Akismet to reduce spam. Learn how your comment data is processed.

22 Yorum
  1. yusuf can demirdağ

    alınan verileri bluetooth ile telefona göndermem gerek nasıl yapabilirim bir bilginiz varmı mit app 2 ile

  2. Oguzhan

    Merhaba bn bir ekg devresi kurdum da
    Bu devreden aldığım verileri bir csv veya text dosyasina aktarmak ıstiyorum
    Bunu konuda bana yardımcı olur musunuz?

  3. Mehmet

    Allah razi olsun kardeşim saolasın çok işime yaradı bu kod, biraz ekleme yaparak alıcı üzerinden vericiye de bilgi gönderebildik. Bi sorum olacaktı hc-05 modülleri ile 1 adet master ve 2 ya da daha fazla bluetooh ile bilgi alış verişi mümkün mü acaba, yardımcı olursanız çok sevinirim

  4. hakan

    usta kolay gelsin bu sistemi kurdum LCD yi scl sda bağlantısıyla bağladım LCD görüntü verdi fakat sıcaklık değerlerini 254 255 gösteriyor sürekli serial.print dediğimde de aynı değerleri okuyorum sorun ne olabilir ?

  5. Adnan

    hocam ben bluetooth aracılığılı ile pıc üzeriden lc ye bilgi aktaracagım araştırma yaptım ama mantıklı bir sonuca ulaşamadım biraz bilgi verebilirmisiniz alıcı_verici arcılığıyla

  6. samet K.

    tek bir nano ıle ıkı ıslem bırden yapılamazmı?

  7. RAMAZAN KÖKTEN

    forum.arduino.cc/index.php?topic=306839.0 bu sitedeki uygulamayı yapmaya çalışıyorum iki hc 05 ve hc 06 haberleştirmek için hc 05 ve 06 bağlantısı kuruldu fakat com ekranını kullanıp 1-2-3 yazamıyorum bu 1 2 3 ü diğer bluetootha göndermem gerekli anlamadım nerede sorun var. yardımcı olur musunuz . aslında telefon numaranızı da bilsem güzel olur.

    1. Sezgin GÜL

      Veri gönderme türü ve modüllerin baudrate değerleri aynı olması gerekir.

  8. Güven

    Size mail atmıştım ama bakabildiniz mi hocam?

    1. Sezgin GÜL

      cevapladım

  9. Hakan

    wireless modülünü modelini araştırmadım ama herhangi bir tane alıcam yukarıdaki devrenin aynısı ama bluetooth değil wireless modülasyon ile olucak sıcaklık basınç ve nem ölçeceğim bunula ilgili bi döküman verebilmisiniz bana rica etsem

    1. Sezgin GÜL

      kullanacağın modülün kütüphanesine göre yazılımı değiştirmen lazım. ESP8266 modül kullan daha kolay ve uygulamaları çok. elimde şuan için döküman bulunmuyor. Uygun zamanda projeyi eklerim.

  10. Hakan

    Merhaba sezgin bey kolay gelsin ben wireless sensör ile sıcaklık ve basinc ölmek istiyorum yalnız devre sini bulamadığım için bana yardım edebilirmisiniz ??

    1. Sezgin GÜL

      Kullandığınız wireless sensörün modelini yazın yardımcı olayım.

  11. Sezgin GÜL

    Doğru hesaplıyorsunuz analog değeri değilde sensörün aralığını arttırarak değerleri şu şekilde yazıp tekrar deneyin
    basincdeger = map(deger,0, 1023,-12,5 , 50);

    1. güven

      Değişen birşey olmadı malesef,çok vakit harcadınız çok teşekkür ederim bu şekilde kullanmaya çalışacağım,emeğinize sağlık.

      1. Sezgin GÜL

        Rica ederim.İyi Çalışmalar

  12. Güven

    Merhaba Sezgin bey en çok yaptığım proje sizin sitenizden,emeğiniz için çok teşekkür ediyorum,bu projede 2 satırlık lcd mize ayrı ayrı bilgi göndermemiz mümkün mü? yani verici kısmına 2 sensör bağlıyacağız,alıcı kısmında lcd ekranımızın 1. satırında sıcaklık,2. satırında nem seviyesi gösterecek.

    1. Sezgin GÜL

      Teşekkürler.Tabiki mümkün fakat onun için dht11 sıcaklık nem ölçer kullanmalısınız bu projedeki sadece sıcaklık ölçüyüyor. Buradan indirebilirsiniz. http://www.robimek.com/wp-content/uploads/sıcaklık-nem-alıcı-verici.rar

      1. güven

        Tekrar teşekkürler fakat biryerde daha takıldım,elimde 4-20ma 0-50 bar arasında ölçüm değeri olan bir basınç sensörü var ben bunu 250 ohm luk direnç ile arduinonun girişine 1-5 v olarak verebiliyorum fakat sorun şu ki 0 bar da çıkış 1-5 v olduğu için 10 bar okuyorum,bu 1-5 v u 0-5 v yapamaz mıyım?

        1. Sezgin GÜL

          Anladığım kadarıyla o barda 1v gösterdiğini söylüyorsunuz.
          Öyleyse analogdan değer okuduktan sonra map komutunda sınır değerlerinin oranlama değerlerini değiştirin.
          Örneğin :
          deger = analogRead(basinc);
          basincdeger = map(deger, 0, 1023, 0, 50);
          burada 0 ile 1023 değeri arası okunan değer 0 ile 50 basınç degerine indirgeniyor.Senin yapman gereken
          0 bar da 1v alıyorsan 1023/5 yapıp minimum değeri bu değer olarak kabul edecen.yani
          deger = analogRead(basinc);
          basincdeger = map(deger,204.6 , 1023, 0, 50);
          bu sayede 1v da 0 bar almış olunacak.

          1. güven

            Dediğiniz gibi yaptım 1 voltta 0 bar gösteriyor,A0 girişindeki sensör kablosunu çıkartıp +5 v a taktım tam istediğim gibi 50 bar gösterdi,fakat yine bişeye takıldım sensöre bir basınç uyguladım(uyguladığım basıncı bilmiyorum)bu arada ölçü aletimle sensör çıkış voltajını kontrol ediyorum,0 barda 1 v gösterirken basınç uyguladığımda 8 barda 1.580 v ölçtüm,ama içler dışlar çarpımında 50 barı bulamıyorum ,bir hesaplama hatası mı yapıyorum?
            5000×8= 40000 40000/1580=25.3