Strani simboli su display lcd 16x2

Ciao a tutti !
Il mio display mi mostra degli strani simboli quando dovrebbe invece mostrarmi la scritta iniziale e successivamente le misurazioni date dai sensori. Vi posto il codice e una foto:

#include <dht.h>
#include <LiquidCrystal.h> //Libreria per il display lcd

#define dataPin 13
dht DHT;

LiquidCrystal lcd (12, 11, 5, 4, 3, 2); //Pin del display lcd

int triggerPort = 8; //Pin emettitore
int echoPort = 7; //Pin ricevitore
// Variabili
long durata;
long distanza;

void setup() {

pinMode(triggerPort, OUTPUT); //Impostazione del pin 'Emettitore' cone OUTPUT
pinMode(echoPort, INPUT); //Impostazione del pin 'Ricevitore' come INPUT
 
  /////////////////////////////////////////////////////////////////////////// 

  Serial.begin(9600);
//  lcd.setCursor(n -> riga, n -> colonna)
//  (Nota: la colonna '0' è la seconda riga, mentre i sedici spazi delle righe si contano da 0 a 15):
  lcd.begin(16, 2);
  lcd.setCursor(1, 0); //2° spazietto, 1° colonna
  lcd.print("Metro Digitale"); //Scritta all'avvio dello strumento
  delay(2000);
}

void loop() {

delay(800); //Attesa tra una misura e l'altra

  ////////////////////////////////////////////////////////////////////////////
//TEMPERATURA & UMIDITA'
  int readData = DHT.read22(dataPin);
  float t = DHT.temperature;
  float h = DHT.humidity;
  
  lcd.setCursor(0,1);
  lcd.print("T: ");
//lcd.setCursor(0,1);
  lcd.print(t);
  lcd.print("*C");
  delay(450);

  lcd.setCursor(7,1);
  lcd.print("U: ");
//lcd.setCursor(0,1);
  lcd.print(h);
  lcd.print("%");
  delay(450);
  
  ////////////////////////////////////////////////////////////////////////////
//MISURAZIONE
    digitalWrite(triggerPort, LOW);
    digitalWrite(triggerPort, HIGH);
    delayMicroseconds(10);
    digitalWrite(triggerPort, LOW);
 
    digitalWrite(echoPort, LOW);
    durata=pulseIn( echoPort, HIGH );
    distanza=0.034*durata/2;
    lcd.clear();
    lcd.setCursor(9, 0);
    lcd.print(distanza);
    
     if(durata==0) {
      lcd.setCursor(0, 0);
      lcd.println("LIMITE RAGGIUNTO");
      lcd.setCursor(0, 1);
      lcd.println("FUORI PORTATA");
      delay(700);
      lcd.setCursor(0, 0);
      lcd.println("LIMITE RAGGIUNTO");
      lcd.setCursor(0, 1);
      lcd.println("FUORI PORTATA");
      delay(700);
      lcd.setCursor(0, 0);
      lcd.println("LIMITE RAGGIUNTO");
      lcd.setCursor(0, 1);
      lcd.println("FUORI PORTATA");
      delay(700);
     }
     else {
      lcd.setCursor(0, 0); //1° spazietto, 1° colonna
      lcd.print("Distanza: "); 
      lcd.setCursor(12, 0);
      lcd.print("cm"); //Unità di misura
      lcd.setCursor(9, 0);
      lcd.print(distanza);
     }
    Serial.print("Distanza misurata: ");
    Serial.print(distanza); 
    Serial.println("cm");
    delay(1000);
}

è la priva volta che mi si presenta un problema di questo tipo e non saprei proprio come risolvere, se è un problema software o hardware, non so ..
Ci tengo ad avvisarvi che non sono un grande esperto su arduino e ne di elettronica :frowning:

foto display.pdf (1.14 MB)

Masciu95:
è la priva volta che mi si presenta un problema di questo tipo

Cioè ? Prima funzionava e ora no ?

Si é sfilato uno dei cavetti dati del Display?

Masciu95:
Il mio display mi mostra degli strani simboli quando dovrebbe invece mostrarmi la scritta iniziale e successivamente le misurazioni date dai sensori. Vi posto il codice e una foto:

A parte la foto, controlla bene i collegamenti tra Arduino e il display e se i cavetti sono "buoni", magari dicci come lo hai collegato.
PS: io uso sempre quei display ma con l'adattatore I2C, mooolto più semplice da gestire e ti ruba pochi pin, te lo consiglio! Gli adattatori si comprano anche separati, poi li saldi agli header del display.