Arduino kullanarak, KY-039 Parmak nabız sensörü ile, nabız verilerini okuyabilir ve bu verileri LCD ekranda yazdırabiliriz.
Bu proje için gerekli malzemeler:
- Arduino
- Breadboard
- KY-039 Sensör
- I2C 16×2 LCD Ekran
- Jumper kablolar
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 | //--------------------------------------------// //-----------------KODKAMPUSU-----------------// //---Arduino | KY-039 Nabız Ölçer Kullanımı---// //--------------------------------------------// //Arduino ile I2C LCD Ekranın haberleşmesi için Wire kütüphanesini tanımlıyoruz #include <Wire.h> //I2C LCD Ekranımızın kütüphane tanımlamasını yapıyoruz #include <LiquidCrystal_I2C.h> //KY-039 Parmak nabız sensörünün pin tanımlamasını yapıyoruz const int nabizsensor = A0; //Kullanacağımız ekranın pixel boyutunu tanımlıyoruz LiquidCrystal_I2C lcd = LiquidCrystal_I2C(0x27, 16, 2); //Nabız değerinin sensör verisi tarafından hesaplanabilmesi için, sensöre özel olan formülleri tanımlıyoruz double hesapdeger=0.75; int hesapbolum=20; double degertekrar=0.0; void setup(void) { //Bağlı olan pinin bir INPUT, giriş türü olduğunu belirtiyoruz pinMode(nabizsensor,INPUT); //LCD Ekranımızın arka ışığını ve çalışması için gereken kodları yazıyoruz lcd.init(); lcd.backlight(); } void loop(void) { //Değerlerin kendi içinde hesaplanması için değişkenleri tanımlıyoruz static double eskideger=0; static double eskideger tekrar=0; //A0 pinine bağlı olan sensörümüzden gelen verileri, nabiz değişkenine atıyoruz int nabiz = analogRead(nabizsensor); //Nabız değerinin sensör verisi tarafından hesaplamasını yapıyoruz double deger = eskideger * hesapdeger + (0-hesapdeger) * nabiz; degertekrar = deger-eskideger; //Ekran üzerinde yazıları ve verileri yazdırmak için ekran kordinatlarını ve yazılarını belirtiyoruz. lcd.setCursor(0,0); lcd.print(" Nabiz Olcer "); lcd.setCursor(0,1); lcd.print(" "); lcd.setCursor(0,1); //Sensör üzerinden gelen verileri nabiz değişkenine tanımladığımız için, ekran çıktısı "nabiz" yazıyoruz lcd.print(nabiz/10); //Nabız değerinin kendi içinde tekrarlayan verisinin üzerinden hesaplatma yaptırıyoruz eskideger = deger; eskidegertekrar = degertekrar; delay(hesapbolum*10); } |
Bağlantı ve kodlama sırasında karşılaştığınız hataları; aşağıda ki yorum bölümünden belirtebilirsiniz :)
Merhaba kodda
exit status 1
‘class LiquidCrystal_I2C’ has no member named ‘init’
diye bir hata veriyor
Merhaba, kullandığınız I2C kütüphanesinin sürümünden dolayı böyle bir hata almaktasınız. Benim kullandığım kütüphanede lcd.init(); kullanılmakta. Kodda ki lcd.init(); olan bölümü lcd.begin(); olarak değiştirirseniz kod çalışacaktır.
acaba bu projeyi nokiyanın grafik ekranı ile kullanabilirmiyim ve ya nasıl kullanırım
5110 ekranının kütüphanesini kullanarak yapabilirsiniz.
Arduino:1.8.16 (Windows 10), Kart:”Arduino Uno”
sketch_apr16b:5:10: fatal error: LiquidCrystal_I2C.h: No such file or directory
#include
^~~~~~~~~~~~~~~~~~~~~
compilation terminated.
exit status 1
LiquidCrystal_I2C.h: No such file or directory
This report would have more information with
“Show verbose output during compilation”
option enabled in File -> Preferences.
BU HATALARI VEIYOR NAPILIRIM
LiquidCrystal_I2C.h kütüphanesi bilgisayarınızda bulunmadığı için bu hatayı almaktasınız. Buraya tıklayarak gerekli dosyalara erişebilirsiniz.