lnwshop logo
  • ตอบกระทู้
  • ตั้งกระทู้ใหม่
QUOTE 

DHT11

ptapwong 2 ปีที่ผ่านมา

ช่วยดูCodeหน่อยครับว่าถูหรือเปล่าพอดีผมจะเอาแสดงผลที่LCDครับ

Codeครับ

#include <LiquidCrystal.h> //Librairie pour l'écran LCD

#include <DHT.h> //Librairie pour le capteur DHT

 

LiquidCrystal lcd(12, 11, 4, 3, 2, 1); //Initialisation de l'écran LCD avec les numéros des pins utilisés

 

#define DHTPIN 9 //Pin auquel est connecté le capteur DHT

 

#define DHTTYPE DHT11 //Si vous utiliser le DHT 11

//#define DHTTYPE DHT22 //Si vous utiliser le DHT 22  (AM2302)

//#define DHTTYPE DHT21 //Si vous utiliser le DHT 21 (AM2301)

 

const int intTimePause = 5000; //Par défaut on actualise les valeures toutes les 5 secondes

 

float fltHumidity; //Pourcentage d'humidité mesuré

float fltTemperature; //Température mesurée en Celsius

 

DHT dht(DHTPIN, DHTTYPE); //On initialise le capteur DHT

 

void setup()

{

  lcd.begin(16, 2); //On indique le nombre de colonnes et de lignes de l'écran

  lcd.clear(); //On efface tout ce qui se trouve sur l'écran

}

 

void loop()

{

  fltHumidity = dht.readHumidity(); //On lit le pourcentage d'humidité

  fltTemperature = dht.readTemperature(); //On lit la température en degrés Celsuis

  if (isnan(fltTemperature) || isnan(fltHumidity)) //Si les valeures retournées ne sont pas des nombres :

  {

    lcd.setCursor(0, 1); //Positionnement du curseur

    lcd.print(DHTTYPE); //On affiche le type de capteur

    lcd.setCursor(5, 1);

    lcd.print(" illisible"); //On affiche l'erreur

  }

  else

  {

    //mise en forme et affichage des informations sur l'écran LCD

    lcd.setCursor(0, 0); //Positionnement du curseur

    lcd.print("Degres : ");

    lcd.setCursor(9, 0);

    lcd.print(fltTemperature); //Affichage de la température

    lcd.setCursor(13, 0);

    lcd.print((char)223); //Affiche le caractère ° (degrés)

    lcd.setCursor(14, 0);

    lcd.print("C"); //En degrés Celsuis

    lcd.setCursor(0, 1);

    lcd.print("Humidite : ");

    lcd.setCursor(11, 1);

    lcd.print(fltHumidity); //Affichage de l'humidité

    lcd.setCursor(15, 1);

    lcd.print("%");

  }

  delay(intTimePause); //On actualise les informations toutes les x millisecondes.

}

QUOTE 
ความคิดเห็นที่ #1
(Guest)
มือใหม่ (Guest)
IP: 171.99.97.x
2 ปีที่ผ่านมา

 1.มี ไลบารี <LiquidCrystal.h>  ,<DHT.h> แล้วยังครับ

2.สังเกตเป็นภาษา ที่ใช้ ไม่ใช่ อังกฤษ ตรงข้ออธิบาย ผมก็หัดเล่นใหม่นะครับ ก็ไม่ค่อยรู้เรื่องเท่าใด

  แต่ คาดเอาว่า การเขียน Code คำสั่ง บางคำสั่ง ต้อง สำพัน กับ ไลบารี ซึ่งชื่อมัน อาจเหมือนกัน

  แต่วิธีเขียน ให้ติดต่อกันกับ Sensor ไม่เหมือนกัน

3.ตอนนี้ติดตรง Verify (Complie) Sketh หรือปล่าวครับ ถ้าใช่ ช่วย ส่ง ข้อความที่มันแจ้ง Error มาด้วยครับ

  คงมีคนช่วยตอบได้แน่ ๆ 

QUOTE 
ความคิดเห็นที่ #2
(Guest)
มือใหม่ (Guest)
IP: 171.99.97.x
2 ปีที่ผ่านมา

ลองดู Code ที่ผมเคย test ได้นะครับ แต่ผมใช้ Display แบบ  I2C นะ

#include <Wire.h> 

#include <DHT.h>

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

#define DHTTYPE DHT11 // DHT 11 

DHT dht(DHTPIN, DHTTYPE);

#include <LiquidCrystal_I2C.h>

LiquidCrystal_I2C lcd(0x27,16,2);

 

void setup()

{

dht.begin();

lcd.begin();

lcd.backlight();

}

 

void loop() {

// 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();

   float t = dht.readTemperature();

 

// check if returns are valid, if they are NaN (not a number) then something went wrong!

if (isnan(t) || isnan(h)) {

    lcd.println("Failed to read from DHT");

  } else {

    lcd.clear();

    lcd.setCursor(0,0);

    lcd.print("Humi: "); 

    lcd.print(h);

    lcd.print(" %");

    lcd.setCursor(0,1);

    lcd.print("Temp: "); 

    lcd.print(t);

    lcd.println(" *C   ");

    delay(5000);

  }

}

QUOTE 
ความคิดเห็นที่ #3
(Guest)
มือใหม่ (Guest)
IP: 171.99.96.x
2 ปีที่ผ่านมา

ต่อรับสัญญาณ จาก DHT11 เข้าที่ ขา 9 ของ บอร์ด ปะครับครับ CODE ผมเอามาลอง Compli ผ่านนะ

QUOTE 
ความคิดเห็นที่ #4
เจ้าของร้าน
เจ้าของร้าน
2 ปีที่ผ่านมา

วิธีเล่น ตามสโคปต้องการอ่านค่าจาก DHT11 ออกมาแสดงผลทางจอ LCD ให้ลองทำทีละโคดก่อนครับ ออกแล้วเอาโคด 2 ตัวมารวมกัน ผมเชื่อว่าไม่นานต้องทำได้

QUOTE 
ความคิดเห็นที่ #5
ptapwong 2 ปีที่ผ่านมา

ครับคือผมทำรายงานครับมันอัดโค็ดลงมันฟ้องครับแล้วLCDผมใช้ที่ต่อแบบด้านบนครับกำหนอให้มันแสดงผลมี่2-5ครับ

QUOTE 
ความคิดเห็นที่ #6
(Guest)
มือใหม่ (Guest)
IP: 171.99.96.x
2 ปีที่ผ่านมา

ฟ้อง ว่า ???????

QUOTE 
ความคิดเห็นที่ #7
เจ้าของร้าน
เจ้าของร้าน
2 ปีที่ผ่านมา

แสดงว่า lcd ยังลงไลบารีไม่ถูก วิธีการคือให้ลากทั้ง 2 โพลเดอร์ไปไว้ในโพลเดอร์ C:\Users\max\Documents\Arduino\libraries แล้วเปิด arduino ใหม่ครับ

ขอบคุณ คุณมือใหม่ ที่ช่วยตอบครับ : )

 

QUOTE 
ความคิดเห็นที่ #8
ptapwong 2 ปีที่ผ่านมา

ครับขอบคุณครับ

QUOTE 
ความคิดเห็นที่ #9
ptapwong 2 ปีที่ผ่านมา

#include "DHT.h"

#include <LiquidCrystal.h>

#define DHTPIN 8   

#define DHTTYPE DHT11 

DHT dht(DHTPIN, DHTTYPE);

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

void setup() {

Serial.begin(9600);

lcd.begin(16, 2);

dht.begin();

}

void loop() {

float h = dht.readHumidity();

float t = dht.readTemperature();

if (isnan(t) || isnan(h)) {

  Serial.println("Failed to read from DHT");

  }

else {

  lcd.setCursor(0,0);

  lcd.print("Temp=");

  lcd.print(t);

  lcd.print(" *C");

  lcd.setCursor(0,1);

  lcd.print("Humidity=");

  lcd.print(h);

  lcd.print("% ");

  delay(500);

 }

}

ตัวสีแดงอะครับที่มันเตือนครับ

คำสั่งที่มันerror

sketch_jan18a.ino:1:17: error: DHT.h: No such file or directory

sketch_jan18a:5: error: 'DHT' does not name a type

sketch_jan18a.ino: In function 'void setup()':

sketch_jan18a:10: error: 'dht' was not declared in this scope

sketch_jan18a.ino: In function 'void loop()':

sketch_jan18a:13: error: 'dht' was not declared in this scope

ด้านล่างเป็นรูปวงจรครับ

QUOTE 
ความคิดเห็นที่ #10
(Guest)
มือใหม่ (Guest)
IP: 171.99.96.x
2 ปีที่ผ่านมา

Libary DHT เอาไปวางไว้ ที่ไหนเนี่ย โปรแกรมมันหาไม่เจอ

1
2
ถัดไป ›
แสดงความคิดเห็นที่ 1-10 จากทั้งหมด 18 ความคิดเห็น
ชื่อ
อีเมล
ข้อความ
  • ตอบกระทู้

หมวดหมู่สินค้า

สมาชิก Arduino All

เข้าสู่ระบบด้วย
เข้าสู่ระบบ
สมัครสมาชิก

ยังไม่มีบัญชีเทพ สร้างบัญชีใหม่ ไม่เกิน 5 นาที
สมัครสมาชิก (ฟรี)

Arduino All ขายดี

รหัสสินค้า A015
300.00 บาท
  • สั่งซื้อ
รหัสสินค้า A233
5.00 บาท
  • สั่งซื้อ
รหัสสินค้า A115
10.00 บาท
  • สั่งซื้อ
รหัสสินค้า A238
4.00 บาท
  • สั่งซื้อ
รหัสสินค้า A014
90.00 บาท
  • สั่งซื้อ
รหัสสินค้า A237
4.00 บาท
  • สั่งซื้อ
รหัสสินค้า A097
4.00 บาท
  • สั่งซื้อ
รหัสสินค้า A225
5.00 บาท
  • สั่งซื้อ
รหัสสินค้า A474
7.00 บาท
  • สั่งซื้อ
Go to Top