Problema con Dysplay LCD 16x2.

Salve a tutti.
Ultimamente mi sto dedicando ad un progetto per una vetrina frigo di mia proprietà.
Come prima cosa ho deciso di posizionare una sonda auto costruita con un sensore DHT11 collegato ad un display LCD 16x2.
Premesso che:
-Il display è posizionato al di fuori a temperatura ambiente, mentre la sonda è all'interno della vetrina;
-il sensore è collegata in maniera canonica con 2 fili per l'alimentazione, uno per il passaggio dei dati con resistenza;
-tutti i collegamenti sono saldati a stagno;
-la temperatura interna è di minimo 11 gradi.
Il problema consiste nel fatto che il display funziona perfettamente per i primi 5 minuti, poi però le scritte svaniscono progressivamente fino al punto di non essere più visibili, poi tolto il sensore dalla vetrina e passati una decina di minuti il display ritorna a funzionare.
Il problema sembra competere il sensore, ma non capisco il collegamento con il display.

Buongiorno, :slight_smile:
essendo il tuo primo post, nel rispetto del regolamento della sezione Italiana del forum (… punto 13, primo capoverso), ti chiedo cortesemente di presentarti IN QUESTO THREAD (spiegando bene quali conoscenze hai di elettronica e di programmazione ... possibilmente evitando di scrivere solo una riga di saluto) e di leggere con molta attenzione tutto il su citato REGOLAMENTO ... Grazie. :slight_smile:

Guglielmo

P.S.: Ti ricordo che, purtroppo, fino a quando non sarà fatta la presentazione nell’apposito thread, nessuno ti potrà rispondere, quindi ti consiglio di farla al più presto. :wink:

... e pubblica anche il programma!

Salve, mi scuso per non aver prestato attenzione alla guida.
Spero di aver rimediato presentandomi nell’apposita sezione.
Posto di seguito il codice molto basilare che è attualmente caricato all’interno di Arduino UNO:

#include <LiquidCrystal.h>
#include <DHT.h>
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
DHT dht (8, DHT11);

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

void loop(){
  for(int i = 0; i < 5; i++){
    int t = dht.readTemperature();
    int u = dht.readHumidity();
    lcd.setCursor(0, 0);
    lcd.print("Temperatura:" + String(t) +"C");
    lcd.setCursor(0, 1);
    lcd.print("Umidita`:" + String(u) + "%");
    delay(1500);
  }
}

Non credo, visto il codice piccolo, sia a causa di String, ma comunque EVITALE.
Scrivi lcd.print("Umidita:"); lcd.print(u); lcd.print("%"); invece di: lcd.print("Umidita:" + String(u) + "%");

Come alimenti il tutto ?

Alimento con una batteria da 9V. Comunque grazie per il consiglio.

Batteria da 9V ? Quelle quadrate ? Male
Erogano pochissima corrente, 350mAh e si esauriscono in pochissimo tempo.
Piuttosto meglio 6 pile AA da 1,5V in serie

Ma il problema scompare quando la sonda è all'esterno della vetrinetta per una decina di minuti, anche se la batteria è sempre la stessa. Comunque proverò a vedere se si risolve cambiando alimentazione,

Non sono un elettronico, ma sò che le 9V = schifezza. Anche nei lego elettrici o altri giochi usano piuttosto 6 pile AA rispetto alla 9V. Anche nelle macchinine comandate da arduino si usano le AA

Ma la DHT11 parli di 11 gradi, ma -11 o +11 ?

+11 gradi. Rientra di gran lunga nei limiti del sensore.

>d1p0: Quando si quota un post, NON è necessario riportarlo (inutilmente) tutto; bastano poche righe per far capire di cosa si parla ed a cosa ci si riferisce, inoltre, se si risponde al post immediatamente precedente, normalmente NON è necessario alcun "quote" dato che è sottinteso. :slight_smile:

Gli utenti da device "mobile" (piccoli schermi) ringrazieranno per la cortesia :wink:

Guglielmo

P.S.: Ho eliminato io i "quote" dai tui post qui sopra :wink:

I fili che collegano il display ad Arduino sono molto corti?
Hai collegato il terminale Vo del display?

Ho controllato di nuovo il display, l'ho acceso sopra alla scrivania, temperatura ambiente, umidità nella media, ma le scritte sono scomparse di nuovo.
Ho sostituito la batteria con alimentazione diretta e le scritte sono tornate, ora lo lascio acceso per qualche ora e verifico se il problema era proprio la batteria.
Intanto mi regolerò con l'uso del quote.
Grazie

Il problema sembra definitivamente risolto, mi scuso per la banalità.
Grazie a tutti per i consigli e per il tempo speso.

Il problema stava nella tensione di alimentazione: se la batteria si scarica, il regolatore di Arduino Uno non riesce più a garantire i 5V in uscita. Poiché il display ha la regolazione del contrasto molto sensibile alle variazioni della tensione di alimentazione, se la tensione varia anche di poco bisogna regolare nuovamente il trimmer del contrasto.