Ardunio sensörde okunan değeri lcd ye yansıtma

expulso

Üye
Katılım
23 Kas 2020
Mesajlar
2
Puanları
1
Yaş
24
çok fazla denedim fakat hiç bir şekilde lcd ye kızılötesi sensör değerini yansıtamadım.

Son yazdığım kodlar:
Kod:
#include<LiquidCrystal.h>

LiquidCrystal lcd(8,7,6,5,4,3);

#define irsensor 2

byte ch;

int col=0;

int row=0;

int sensordeger;

int durum=0;

int sayac=0;

void setup() {

  pinMode(irsensor,INPUT);

  Serial.begin(9600);

  lcd.begin(16,2);

  lcd.clear();

  // put your setup code here, to run once:



}



void loop() {

  sensordeger=digitalRead(irsensor);



  if (sensordeger==0){



      if(durum==0){

            sayac++;

            durum=1;

            Serial.print("Sayac: ");

            Serial.println(sayac);

      

      }

        

      }

 

  if(Serial.available()){

    char ch=Serial.read();

    Serial.write(ch);

    Serial.println();

    lcd.setCursor(col,row);

    lcd.write(ch);

    col++;



    }

 

  if(col>15){

    row++;

    col=0;

    lcd.write(ch);

  }







if(ch=='*' ||row==1&&col>=15){

  lcd.clear();

  col=0;

  row=0;

}

  }
bu kodlar ile seri portta yazan değerleri lcd ye geçirmeye çalıştım fakat başarısız oldum.
Önceki denememde ise I2C dönüştürücü karta sahip olmadığım için I2C kodlarını çalıştıramadım ve yine lcd ye hiç bir değer yansıtamadım. Yardımlarınızı bekliyorum.
 
Moderatör tarafında düzenlendi:
lcd.write(veri); değilde
lcd.print(veri);
yaparsan çalışır zamanında aynı sorunu bende yaşamıştım
 
Denedim fakat devrede hiç bir fark olmadı
 
Denedim fakat devrede hiç bir fark olmadı
Tam olarak amacını ve devreyi bilmediğimden fazla bir şey diyemiyorum dostum ama şöyle dersek mesela bir örnek olarak LCD'de sıcaklığı görmek istersek kodumuz şöyle olur;


C++:
#include <dht11.h>
#include <LiquidCrystal.h>

#define DHT11PIN 2 // DHT11PIN olarak Dijital 2"yi belirliyoruz.



dht11 DHT11;





LiquidCrystal lcd(12, 11, 5, 4, 3, 2);



void setup()

{
lcd.begin(16,2);

  Serial.begin(9600); // Seri iletişimi başlatıyoruz.

  lcd.clear();

}



void loop()

{

 

  Serial.println();



  int chk = DHT11.read(DHT11PIN); // Burada  chk değerini mesele Serial Monitörde okutarak verinin gelip gelmediğini öğrenebiliriz eğer 0 ise çalışıyordur




lcd.setCursor(0,0);
lcd.print("SICAKLIK");
lcd.setCursor(0,1);

lcd.print((float)DHT11.temperature);



  // 2 saniye bekliyoruz. 2 saniyede bir veriler ekrana yazdırılacak.

  delay(2000);
lcd.clear(); // ve ekranı temizletip aynı şeyi tekrarlatıyoruz



}
Tam olarak amacını ve devreyi bilmediğimden fazla bir şey diyemiyorum dostum ama şöyle dersek mesela bir örnek olarak LCD'de sıcaklığı görmek istersek kodumuz şöyle olur;


C++:
#include <dht11.h>
#include <LiquidCrystal.h>

#define DHT11PIN 2 // DHT11PIN olarak Dijital 2"yi belirliyoruz.



dht11 DHT11;





LiquidCrystal lcd(12, 11, 5, 4, 3, 2);



void setup()

{
lcd.begin(16,2);

  Serial.begin(9600); // Seri iletişimi başlatıyoruz.

  lcd.clear();

}



void loop()

{



  Serial.println();



  int chk = DHT11.read(DHT11PIN); // Burada  chk değerini mesele Serial Monitörde okutarak verinin gelip gelmediğini öğrenebiliriz eğer 0 ise çalışıyordur




lcd.setCursor(0,0);
lcd.print("SICAKLIK");
lcd.setCursor(0,1);

lcd.print((float)DHT11.temperature);



  // 2 saniye bekliyoruz. 2 saniyede bir veriler ekrana yazdırılacak.

  delay(2000);
lcd.clear(); // ve ekranı temizletip aynı şeyi tekrarlatıyoruz



}
Bu şekilde kodu tam doğru yazdım mı bilmiyorum ama DHT11'dem gelen bilgiyi ekrana yazdırabiliyoruz.
 

Forum istatistikleri

Konular
128,148
Mesajlar
915,463
Kullanıcılar
449,887
Son üye
ckiplano

Yeni konular

Geri
Üst