Bluetooth Üzerinden Lcd Ekrana Veri Aktarma
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:
- 2 Adet Arduino
- Hc-05 Bluetooth Modül
- Hc-06 Bluetooth Modül
- 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); }
alınan verileri bluetooth ile telefona göndermem gerek nasıl yapabilirim bir bilginiz varmı mit app 2 ile
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?
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
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 ?
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
tek bir nano ıle ıkı ıslem bırden yapılamazmı?
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.
Veri gönderme türü ve modüllerin baudrate değerleri aynı olması gerekir.
Size mail atmıştım ama bakabildiniz mi hocam?
cevapladım
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
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.
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 ??
Kullandığınız wireless sensörün modelini yazın yardımcı olayım.
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);
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.
Rica ederim.İyi Çalışmalar
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.
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
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?
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.
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