Go Down

Topic: Aiuto DHT11 (Read 106 times) previous topic - next topic

MassyBoy

Ciao, piacere Massimo.

Ho appena inizato a cimentarmi nel mondo di arduino. Ho preso uno starter kit e ho iniziato a giocare.

Ho collegato il sensore DHT11 con le relative librerie e tutto sembra funzionare.

Il problema è che la lettura impazzisce.... continua a saltare dalla lettura corretta a dei valori nettamente più bassi dell'errore del sensore... salta da umidtà 39 a 23 e temp da 26 a 20 e poi torna a quelli corretti....

Potrebbe essere un problema del sensore difettoso?

nid69ita

Ti invitiamo a presentarti (dicci quali conoscenze hai di elettronica e di programmazione) qui: Presentazioni
e a leggere il regolamento se non lo hai già fatto: Regolamento
Qui una serie di link utili, non inerenti al tuo problema:
- qui una serie di schede by xxxPighi per i collegamenti elettronici vari: ABC - Arduino Basic Connections
- qui le pinout delle varie schede by xxxPighi: Pinout
- qui una serie di link generali utili: Link Utili
my name is IGOR, not AIGOR

ultimo_53



Dal forum, visto che non siamo nella tua testa ne vediamo quello che stai facendo, con le poche informazioni che dai difficilmente troverai aiuto.

Se vuoi che qualcuno cerchi di aiutarti dovresti postare sia lo schema dei collegamenti che lo sketch ce usi per leggere i dati del sensore.

Ciao

Attilio

MassyBoy

Grazie!!! domani vedrò di fare un post per la presentazione e di fornire uno schema dei collegamenti e lo sketch!!!

MassyBoy

ok... posto lo schema (è il primo che faccio quindi sarà sicuramente orribile e in più non sapevo come collegare lcd!!!) Lcd è collegato tramite il PCF8574AT. Funziona tutto correttamente. però ogni tanto inizia a fare dele letture sistematiche errate del tipo: H%41 t°27 poi salta a H%27 t°23 poi ritorna al valore iniziale e continua a fare questo ciclo finchè non riavvio il programma.


Code: [Select]

#include <dht11.h>
dht11 DHT;
#define DHT11_PIN 8
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x3F, 2, 1, 0, 4, 5, 6, 7, 3, POSITIVE);
 
void setup(){
  Serial.begin(9600);
  Serial.println("DHT TEST PROGRAM ");
  Serial.print("LIBRARY VERSION: ");
  Serial.println(DHT11LIB_VERSION);
  Serial.println();
  Serial.println("Type,\tstatus,\tHumidity (%),\tTemperature (C)");
pinMode(13,OUTPUT);
lcd.begin(16,2);

}
 
void loop(){
  int chk;
  Serial.print("DHT11, \t");
  chk = DHT.read(DHT11_PIN);    // READ DATA
  switch (chk){
    case DHTLIB_OK: 
                Serial.print("OK,\t");
                break;
    case DHTLIB_ERROR_CHECKSUM:
                Serial.print("Checksum error,\t");
                break;
    case DHTLIB_ERROR_TIMEOUT:
                Serial.print("Time out error,\t");
                break;
    default:
                Serial.print("Unknown error,\t");
                break;
  }
 // DISPLAT DATA
  Serial.print(DHT.humidity,1);
  Serial.print(",\t");
  Serial.println(DHT.temperature,1);
 
  delay(1000);
  lcd.setCursor(2,0); //Start at character 4 on line 0
  lcd.print(DHT.humidity);
  lcd.setCursor(2,1);
  lcd.print(DHT.temperature);
 
  if (DHT.humidity>=43&&DHT.humidity<=45){
    digitalWrite(13,HIGH);
    }
    else{
      digitalWrite(13,LOW);
      }
}

ultimo_53

#5
Jan 20, 2016, 12:43 pm Last Edit: Jan 20, 2016, 12:44 pm by ultimo_53
Hai sbagliato a collegare il sensore.
Il piedino che hai collegato a GND va lasciato libero e quello che hai lasciato libero va collegato a GND.

Ti consiglio di evitare di usare un solo colore per i collegamenti, fai solo confusione, usa il rosso per VCC+, il nero per GND (rispetta le convenzioni)

QUI il datasheet del DHT11.

Ciao

Attilio

MassyBoy

Attilio, grazie della risposta... ho schematizzato con il sensore che c'era dentro al sw. Il mio sensore ha 3 piedini xchè è montato su una basetta. Allego foto!!! cmq stamattina non ha mai fatto lo scherzo di saltare i valori

ultimo_53

Potrebbe essere anche un falso contatto sui collegamenti, con i cavetti volanti sulle breadboard e sui pin di arduino può succedere.

Mi permetto di darti un altro consiglio: quando scrivi sul forum evita le abbreviazioni da sms o da chat  :D, tipo "xchè" al posto di perchè o "cmq" al posto di comunque  ;)

Ciao

Attilio

MassyBoy

Ok Grazie delle dritte!!!! Provo a ricollegare il tutto e vedo se il problema si ripete!!!

Go Up
 


Please enter a valid email to subscribe

Confirm your email address

We need to confirm your email address.
To complete the subscription, please click the link in the email we just sent you.

Thank you for subscribing!

Arduino
via Egeo 16
Torino, 10131
Italy