DHT22
  • Ömer Koman dedi ki:
    09 Şubat 2017, 15:45
    once lcd yi yukarıdakı kod ile calıstırın sorun kalmasın. ayrı bır kodun ıcınde de dht sensoru serial monıtorle calıstırıp ondan da emın olun daha sonra nasıl birleştirecedğinizi foruma gelin anlatalım.
    Cevapla
    Ertug_TR dedi ki:
    10 Şubat 2017, 08:48
    Selamlar,yukarıdaki kod hata veriyor,include hangi kütüphane eklenecek yazılmamış.Örnek kod’da serial monitörle haberleşip,bilgisayar ekranından verileri görmüştüm.Ama LCD ile yapılan uygulamalrı yüklememin hepsinde dht.h hatası verdi.Hangi kğtğphaneyi kurduysam olmadı. Tşk.

    EDITOR NOTU: Sitedeki yazı şudur http://arduinoturkiye.com/arduino-uno-16x2-lcd-pcm1602b/#comment-38455
  • Tşk,prg yukleyip denerim.Dht11 yazan kodlari dht22 olsrak yazsam olur mu?
  • Tşk.ama yine dh.h hatası veriyor.Hangi kütüphaneye deneyeceğim.Online düzenliyorum.1.3.0-1.2.3. versiyonlarını yükledim olmadı.Library'i Belgelerim'deki Arduino klasöründeki dosyaya atıyor.Alıp o dosyayı C-- Prg Files--Arduino--Library klasörüne ekliyorum yine DHT hatası veriyor.
    Gönderdiğiniz link'teki DHT library'de ekledim,zip dosyasıyla ekle diye yine hata verdi.Hem bu uygulamaya 2x16 LCD ekrana aktarmaya çalışıyorum.Tşk.
    Örnek kodu açınca derliyorum.Bir hata görünmüyor.
    Ben bu örnek kodu LCD üzerindn okuyam mı?
  • şu iki kutuphaneyi githıbdan ındırın tarayıcı ekranın sağ ust tarafında clonoe or download butonunu seç ve downloadzip seçeneğini kullanın bunlar indikten sonra
    arduino ıde de taslaklar kısmında kutuphane ekleye gidip zip ekleyı seçin ve indirdiğinız bu ziplerin ikisi içinde bu seçenekleri kullanın

    https://github.com/adafruit/DHT-sensor-library
    https://github.com/adafruit/Adafruit_Sensor

    aslında tum bunlar vediğim ornekde yazıyor okusanız yapardınız
  • Hocam;
    Bu dediklerinizi yaptım.Kütüphaneye ekledim,sağolun,yazılanları okuyorum.Ama hata düzelmedi,yazdığım gibi örnekler kısmındaki kodu denediğimde derleme yapıyor.Bunu LCD'ye tanımlasam olur mu?Ama nasıl yapacağım bilemiyorum?
  • dht tamamsa. dht koduna lcd tanımlarını ekle lcd ye test için once adını yazmaya da calıs bu da tamamsa adını yazıdıgın yerde dhtden okunan değeri yaz. lcd pinlerine dht pinleri denk gelmesin
  • Yazdığım g,b, hocam,ancak library düzenle dht 1.23. kurdum ordaki örneği açtım derledim hata gelmedi.

    // Example testing sketch for various DHT humidity/temperature sensors
    // Written by ladyada, public domain

    #include "DHT.h"

    #define DHTPIN 2 // what digital pin we're connected to

    // Uncomment whatever type you're using!
    //#define DHTTYPE DHT11 // DHT 11
    #define DHTTYPE DHT22 // DHT 22 (AM2302), AM2321
    //#define DHTTYPE DHT21 // DHT 21 (AM2301)

    // Connect pin 1 (on the left) of the sensor to +5V
    // NOTE: If using a board with 3.3V logic like an Arduino Due connect pin 1
    // to 3.3V instead of 5V!
    // Connect pin 2 of the sensor to whatever your DHTPIN is
    // Connect pin 4 (on the right) of the sensor to GROUND
    // Connect a 10K resistor from pin 2 (data) to pin 1 (power) of the sensor

    // Initialize DHT sensor.
    // Note that older versions of this library took an optional third parameter to
    // tweak the timings for faster processors. This parameter is no longer needed
    // as the current DHT reading algorithm adjusts itself to work on faster procs.
    DHT dht(DHTPIN, DHTTYPE);

    void setup() {
    Serial.begin(9600);
    Serial.println("DHTxx test!");

    dht.begin();
    }

    void loop() {
    // Wait a few seconds between measurements.
    delay(2000);

    // Reading temperature or humidity takes about 250 milliseconds!
    // Sensor readings may also be up to 2 seconds 'old' (its a very slow sensor)
    float h = dht.readHumidity();
    // Read temperature as Celsius (the default)
    float t = dht.readTemperature();
    // Read temperature as Fahrenheit (isFahrenheit = true)
    float f = dht.readTemperature(true);

    // Check if any reads failed and exit early (to try again).
    if (isnan(h) || isnan(t) || isnan(f)) {
    Serial.println("Failed to read from DHT sensor!");
    return;
    }

    // Compute heat index in Fahrenheit (the default)
    float hif = dht.computeHeatIndex(f, h);
    // Compute heat index in Celsius (isFahreheit = false)
    float hic = dht.computeHeatIndex(t, h, false);

    Serial.print("Humidity: ");
    Serial.print(h);
    Serial.print(" %\t");
    Serial.print("Temperature: ");
    Serial.print(t);
    Serial.print(" *C ");
    Serial.print(f);
    Serial.print(" *F\t");
    Serial.print("Heat index: ");
    Serial.print(hic);
    Serial.print(" *C ");
    Serial.print(hif);
    Serial.println(" *F");
    }
    Şimdi bunu nasıl LCD'ye aktaracağım, tabiki hazıra konmak gib bir amacım yok çeşitli denemelerden sonra yazıyorum.
  • hangi lcd kodunu kullandın denedin bı yaz
  • Örnek kodu lcd ekrana aktarmaya çalıştım ama aşağıda belirttiğim yerde hata veriyor.Ser,al haberleşmede verileri okuyordumAyni kodu LCD'e aktarabilir miyim diye uğraştım ama olmadı.
    include < DHT22.h>
    // Only used for sprintf
    #include < stdio.h>
    #include < LiquidCrystal.h>
    LiquidCrystal lcd(12, 11, 5, 4, 3, 2); // LCD panelin bağlantı

    // Data wire is plugged into port 7 on the Arduino
    // Connect a 4.7K resistor between VCC and the data pin (strong pullup)
    #define DHT22_PIN 7

    // Setup a DHT22 instance
    DHT22 myDHT22(DHT22_PIN);

    void setup()
    {
    lcd.begin(16, 2);

    }

    void loop()
    {



    lcd.setCursor(0, 0);


    lcd.print("Nem (%) :"); //Nem yüzdesini ekrana yazdırıyoruz
    lcd.println((float)DHT22.humidity, DEC);
    lcd.setCursor(0, 1);
    lcd.print("Sicaklik ©:"); //Sıcaklığı santigrad olarak ekrana yazdırıyoruz
    lcd.println((float)DHT22.temperature, DEC); //BURADA HATA VERİYOR

    delay(2000);
    }
  • Nasil bir hata gelmis deseydin iyidi orada neden oldugu yeri isareti ve nedeniyazar
  • Hala uğraşıyorum? Ama çözemedim başka kodlarla da denedim yine hata eski sürümü deniyorum olmuyor başka bilgisayardan deniyorum olmadı.Bakalım çözene kadar devam.İlginiz için teşekkürler.Bildiğiniz çalışan kod var mı?Eğer varsa birde onu deneyeyim..
  • verdiğim tum kodlar çalışıyor
  • belki o satırda bozuk görünmeyen bir karakter vardır. tüm kodu not defterine yapıştırın. sonra not defterinden tekrar kopyala yapıp IDE ye yapıştırın
  • Yok hocam öyle de yaptım olması.
  • //DHT kütüphanesi ile gelen bu örneği dene

    / Example testing sketch for various DHT humidity/temperature sensors
    // Written by ladyada, public domain

    #include "DHT.h"

    #define DHTPIN 2 // what digital pin we're connected to

    // Uncomment whatever type you're using!
    //#define DHTTYPE DHT11 // DHT 11
    #define DHTTYPE DHT22 // DHT 22 (AM2302), AM2321
    //#define DHTTYPE DHT21 // DHT 21 (AM2301)

    // Connect pin 1 (on the left) of the sensor to +5V
    // NOTE: If using a board with 3.3V logic like an Arduino Due connect pin 1
    // to 3.3V instead of 5V!
    // Connect pin 2 of the sensor to whatever your DHTPIN is
    // Connect pin 4 (on the right) of the sensor to GROUND
    // Connect a 10K resistor from pin 2 (data) to pin 1 (power) of the sensor

    // Initialize DHT sensor.
    // Note that older versions of this library took an optional third parameter to
    // tweak the timings for faster processors. This parameter is no longer needed
    // as the current DHT reading algorithm adjusts itself to work on faster procs.
    DHT dht(DHTPIN, DHTTYPE);

    void setup() {
    Serial.begin(9600);
    Serial.println("DHTxx test!");

    dht.begin();
    }

    void loop() {
    // Wait a few seconds between measurements.
    delay(2000);

    // Reading temperature or humidity takes about 250 milliseconds!
    // Sensor readings may also be up to 2 seconds 'old' (its a very slow sensor)
    float h = dht.readHumidity();
    // Read temperature as Celsius (the default)
    float t = dht.readTemperature();
    // Read temperature as Fahrenheit (isFahrenheit = true)
    float f = dht.readTemperature(true);

    // Check if any reads failed and exit early (to try again).
    if (isnan(h) || isnan(t) || isnan(f)) {
    Serial.println("Failed to read from DHT sensor!");
    return;
    }

    // Compute heat index in Fahrenheit (the default)
    float hif = dht.computeHeatIndex(f, h);
    // Compute heat index in Celsius (isFahreheit = false)
    float hic = dht.computeHeatIndex(t, h, false);

    Serial.print("Humidity: ");
    Serial.print(h);
    Serial.print(" %\t");
    Serial.print("Temperature: ");
    Serial.print(t);
    Serial.print(" *C ");
    Serial.print(f);
    Serial.print(" *F\t");
    Serial.print("Heat index: ");
    Serial.print(hic);
    Serial.print(" *C ");
    Serial.print(hif);
    Serial.println(" *F");
    }
  • ornek calisiyor bilgisayar ekranindan goruyorum 2x16 lcd ekrandan degerleri okumaya calisiyorum en guzeli bu ornegi lcd ekrana aktarabilir miyim?Bilg. haberlestigine gore lcd ekranlada haberlesmesi lazim,ama nasil bu ornegi duzenliycem.Tşk.
  • çok zor değil. takıldığın yer olursa yardım ederiz
  • Zaten uğraşıyorum LCD videolarını seyrediyorum bir kısım denemeler yapıyorum şimdilik bir gelişme yok.
  • ardunodaki lcd orneğini veya sitedeki sordugun orneği dene lcd ekranda goruntu al oncelikle daha sonra bu koda sadece 3 satır ekleyeceksın ve lcd de sıcaklıgı goreceksın.
  • bence sıcaklık okumayı ve lcd ye yazmayı şuan için bir kenara bırak, bir kitap al, başla okumaya. bitirdikten sora verilen örnekleri bilgisayarın başına geç uygula. böyle çok daha hızlı ilerlersin
  • Lcd örneği yaptım,hello world(örneklerden yükledim), ama DHT 'den alırken yapamadım.Denemeler yapıyorum.Öncelikle yorumlar için teşekkürler.Bir yandan da tabi ki kendimi ilerletmeye çalışıyorum.Şu 3 kodu çözebilirsem ne mutlu bana.
  • en basit lcd kodu şu ve bunları dht koduma ekeleyemiyorum mu diyorsun yıkıl karşımdan

    // Arduino Turkiye 16x2 LCD ornegi
    #include < LiquidCrystal.h>

    // Orjinal LCD Ornegindeki kısım bu sekilde degistirilmeli:
    LiquidCrystal lcd(7, 8, 9, 10, 11, 12); //---->>> kendı çalışan pinlerını yaz

    void setup(){
    lcd.begin(16,2);-----> kendi calısan denemendeki degerleri yaz
    }

    void loop(){
    lcd.clear();
    lcd.print("Arduino Turkiye");
    delay(15000);
    }
  • @Ertug_TR moralini bozma. devam et. yaptıktan sonra burada kodlarını yayınlarsın. acelesi yok, 3 ay sonra olsun sağlam olsun. şuan bu projeye ara ver, hatta arduinio yu unut. C++ ile basit uygulamalar yap. Bu arada yaş kaç
  • Fatih kardesim,Dogru soyluyorsun elimde bir senedir arduino duruyirdu ancak basladim.C++ baslasam daha mi iyi olur.Yas sizden buyugumdur kardesim diyorum.
    Okaman kardesim,dediklerini yazsam burada ne isim var daha yeni baslamisim.Lcd ye yazi yazdirma uygulamalarini yaptim.Dht yi aktaramadik foruma yazdik hata mi yaptik,kardeş.
  • çalışan dht kodunda tepeye şunu ekle
    #include < LiquidCrystal.h>

    sonra şunu ekle aynı koda
    LiquidCrystal lcd(7, 8, 9, 10, 11, 12); //---->>> kendı çalışan pinlerını yaz

    setup içinde ilk başa bunu yaz
    lcd.begin(16,2);-----> kendi calısan denemendeki degerleri yaz

    loop içinde ekrana bişey yazarken
    lcd.clear(); -----> bu kod ekranı temızler
    lcd.print("Arduino Turkiye"); -----> kod ekrana bıseyler yazar
  • #include < LiquidCrystal.h>
    #include "DHT.h"
    LiquidCrystal lcd(7, 8, 9, 10, 11, 12); //---->>> kendı çalışan pinlerını yaz

    #define DHTPIN 2 // what pin we're connected to


    //#define DHTTYPE DHT11 // DHT 11
    #define DHTTYPE DHT22 // DHT 22 (AM2302)
    //#define DHTTYPE DHT21 // DHT 21 (AM2301)


    DHT dht(DHTPIN, DHTTYPE);

    void setup() {
    lcd.begin(16,2);

    DHT.begin();
    }

    void loop() {
    // Wait a few seconds between measurements.
    delay(2000);

    // Reading temperature or humidity takes about 250 milliseconds!
    // Sensor readings may also be up to 2 seconds 'old' (its a very slow sensor)
    float h = dht.readHumidity();
    // Read temperature as Celsius (the default)
    float t = dht.readTemperature();
    // Read temperature as Fahrenheit (isFahrenheit = true)
    float f = dht.readTemperature(true);

    // Check if any reads failed and exit early (to try again).
    if (isnan(h) || isnan(t) || isnan(f)) {
    lcd.println("Failed to read from DHT sensor!");
    return;
    }

    // Compute heat index in Fahrenheit (the default)
    float hif = dht.computeHeatIndex(f, h);
    // Compute heat index in Celsius (isFahreheit = false)
    float hic = dht.computeHeatIndex(t, h, false);
    lcd.clear()
    lcd.print("Humidity: ");
    lcd.print(h);
    lcd.print(" %\t");
    lcd.print("Temperature: ");
    lcd.print(t);
    lcd.print(" *C ");
    lcd.print(f);
    lcd.print(" *F\t");
    lcd.print("Heat index: ");
    lcd.print(hic);
    lcd.print(" *C ");
    lcd.print(hif);
    lcd.println(" *F");
    }

    Okoman kardeşim;Dediğin gibi yapmaya çalıştım ama olmadı.
  • // Example testing sketch for various DHT humidity/temperature sensors
    // Written by ladyada, public domain

    #include "DHT.h"

    #define DHTPIN 2 // what pin we're connected to

    // Uncomment whatever type you're using!
    //#define DHTTYPE DHT11 // DHT 11
    #define DHTTYPE DHT22 // DHT 22 (AM2302)
    //#define DHTTYPE DHT21 // DHT 21 (AM2301)

    // Connect pin 1 (on the left) of the sensor to +5V
    // NOTE: If using a board with 3.3V logic like an Arduino Due connect pin 1
    // to 3.3V instead of 5V!
    // Connect pin 2 of the sensor to whatever your DHTPIN is
    // Connect pin 4 (on the right) of the sensor to GROUND
    // Connect a 10K resistor from pin 2 (data) to pin 1 (power) of the sensor

    // Initialize DHT sensor.
    // Note that older versions of this library took an optional third parameter to
    // tweak the timings for faster processors. This parameter is no longer needed
    // as the current DHT reading algorithm adjusts itself to work on faster procs.
    DHT dht(DHTPIN, DHTTYPE);

    void setup() {
    Serial.begin(9600);
    Serial.println("DHTxx test!");

    dht.begin();
    }

    void loop() {
    // Wait a few seconds between measurements.
    delay(2000);

    // Reading temperature or humidity takes about 250 milliseconds!
    // Sensor readings may also be up to 2 seconds 'old' (its a very slow sensor)
    float h = dht.readHumidity();
    // Read temperature as Celsius (the default)
    float t = dht.readTemperature();
    // Read temperature as Fahrenheit (isFahrenheit = true)
    float f = dht.readTemperature(true);

    // Check if any reads failed and exit early (to try again).
    if (isnan(h) || isnan(t) || isnan(f)) {
    Serial.println("Failed to read from DHT sensor!");
    return;
    }

    // Compute heat index in Fahrenheit (the default)
    float hif = dht.computeHeatIndex(f, h);
    // Compute heat index in Celsius (isFahreheit = false)
    float hic = dht.computeHeatIndex(t, h, false);

    Serial.print("Humidity: ");
    Serial.print(h);
    Serial.print(" %\t");
    Serial.print("Temperature: ");
    Serial.print(t);
    Serial.print(" *C ");
    Serial.print(f);
    Serial.print(" *F\t");
    Serial.print("Heat index: ");
    Serial.print(hic);
    Serial.print(" *C ");
    Serial.print(hif);
    Serial.println(" *F");
    }

    rnek koddan değiştirmeye çalıştım bir yerlerde hata yapıyorum?
  • #include < LiquidCrystal.h>
    #include "DHT.h"
    LiquidCrystal lcd(7, 8, 9, 10, 11, 12); //---->>> kendı çalışan pinlerını yaz

    #define DHTPIN 2 // what pin we're connected to


    //#define DHTTYPE DHT11 // DHT 11
    #define DHTTYPE DHT22 // DHT 22 (AM2302)
    //#define DHTTYPE DHT21 // DHT 21 (AM2301)


    DHT dht(DHTPIN, DHTTYPE);

    void setup() {
    lcd.begin(16,2);

    DHT.begin();
    }

    void loop() {
    // Wait a few seconds between measurements.
    delay(2000);

    // Example testing sketch for various DHT humidity/temperature sensors
    // Written by ladyada, public domain

    #include "DHT.h"

    #define DHTPIN 2 // what pin we're connected to

    // Uncomment whatever type you're using!
    //#define DHTTYPE DHT11 // DHT 11
    #define DHTTYPE DHT22 // DHT 22 (AM2302)
    //#define DHTTYPE DHT21 // DHT 21 (AM2301)

    // Connect pin 1 (on the left) of the sensor to +5V
    // NOTE: If using a board with 3.3V logic like an Arduino Due connect pin 1
    // to 3.3V instead of 5V!
    // Connect pin 2 of the sensor to whatever your DHTPIN is
    // Connect pin 4 (on the right) of the sensor to GROUND
    // Connect a 10K resistor from pin 2 (data) to pin 1 (power) of the sensor

    // Initialize DHT sensor.
    // Note that older versions of this library took an optional third parameter to
    // tweak the timings for faster processors. This parameter is no longer needed
    // as the current DHT reading algorithm adjusts itself to work on faster procs.
    DHT dht(DHTPIN, DHTTYPE);

    void setup() {
    lcd.begin(16, 2);


    DHT.begin();
    }

    void loop() {
    lcd.setCursor(0, 0);
    int chk = DHT.read();

    lcd.print("Nem (%) :"); //Nem yüzdesini ekrana yazdırıyoruz
    lcd.println((float)DHT.humidity, DEC);
    lcd.setCursor(0, 1);
    lcd.print("Sicaklik (C):"); //Sıcaklığı santigrad olarak ekrana yazdırıyoruz
    lcd.println((float)DHT.temperature, DEC);

    }

    Birde bunu denedim, lcd yazıları kırmızı olmadı.


  • okoman bey eger varsa vanilla icin bir syntax plugini kurarsaniz super olur
  • Burda kaldim,ilerleyemedim
  • sadece çalışan lcd test denemenizi yaptığınız kodu paylaşırmısınız. yukarılardaki dht22 kodunuz serialprinte çalıştı mı monitorden gorebildiniz mi? yazdıklarınızdan dht22 kodu çalıştı buna lcd kodu eklenecek diye anlıyorum
  • slm Okaman
    Üstte benim değiştirdiğim yani eklemeye çalıştığım LCD kodu. Aşağıdaki ise örnek DHT uygulaması,ama benim yazdığım kodda hatalar var.Serial print kodlarını siliyorum LCD yazmaya çalışıyorum ama olmadı.Tşk.
  • yukarıda verdiğim en basit lcd kodu çalışıyormu denedinizmi. olmadı deyince gözümün önüne bişey gelmiyor hata kodu mu veriyor lcd de goruntumu bozuk nedır olmadı lafı cok yetersiz. ayrıca dht22 kodu da çalışıyormu nedir onu da hala anlamış değilim. şu anda anladığım ne dht22 kodu nede lcd kodu ayrı ayrı çalışmadı bunlar duzgun çalışmıyorsa bunları bırleştirmeyı denemek de anlamsız bu kodlar çalışıyor cunku hepsı denenmiş şeyler bağlantılarını kontrol edın bıraz daha araştırın
  • Okaman kardeşim;
    Haklısın kusura bakma,şöyle anladayım arduino 1.8.1 'deki örnek uygulamayı açtım,programı derledim bir hata vermedi.Sonra dediğiniz gibi LCD kodlarını yazmayı denedim derledikten sonra bir çok hata verdi.Yukarıda da yaptığım uygulamayı gönderdim.Hakikatten nasıl yapıcam, C++ eğitim videolarını mı izleyerek yani öğrenerek çözerim,ezberede yapmak istemiyorum ama çalıltırabilsem hatamıda göreceğiö.Tşk.
  • tamam güzel yukarıda verdiğim en basit lcd orneğini yazın hatta birtdaha yazayım kopyala koy

    // Arduino Turkiye 16x2 LCD ornegi
    #include < LiquidCrystal.h>

    // Orjinal LCD Ornegindeki kısım bu sekilde degistirilmeli:
    LiquidCrystal lcd(7, 8, 9, 10, 11, 12); //---->>> kendı çalışan pinlerını yaz

    void setup(){
    lcd.begin(16,2);//-----> kendi calısan denemendeki degerleri yaz
    }

    void loop(){
    lcd.clear();
    lcd.print("Arduino Turkiye");
    delay(15000);
    }

    bu kod duzgun derlenmişse arduinoya yukle lcd modul bağlantılarını duzgun yazmaya calısın
    hatalı bir derleme varsa yazım hatalarını duzeltın tekrar deneyın
    tum bunlar ok ise lcd de goruntude bırseyler gormen lazım bunda hata varsa pinlerin nasıl tespit edececeğini filan yazıda yazıyor onları bul
  • Arduino:1.8.1 (Windows XP), Kart:"Arduino/Genuino Uno"

    avr-g++: error: CreateProcess: No such file or directory

    exit status 1
    Error compiling for board Arduino/Genuino Uno.

    This report would have more information with
    "Show verbose output during compilation"
    option enabled in File -> Preferences.
    Bu hatayı verdi.
  • lcd kutuphanesi arduinoda standart gelir kurulumla ilgili bir sorun yaşıyorsunuz. versiyon 1.6.11 de deniyorum sorun çıkmıyor. 1.8.1denemem mümkün değil forumdan birileri denerse haber versin
  • Ben kurup denerim.

Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!

Login with Facebook
Açık kaynak kültürü gereği, çözdüğünüz problemlerin çözümlerini paylaşmayı lütfen unutmayın.