Produit écran LCD sur Arduino IDE

Bonjour je rencontre un problème sur mon code avec l'écran Adafruit sur Arduino IDE alors qu'il fonctionne correctement sur thinkercad
mon code :

#include <Adafruit_LiquidCrystal.h>
#include <Servo.h>

const int pingPin = 10;
Adafruit_LiquidCrystal lcd_4(0);
Servo servo_9;

String etatPrecedent = "";

void setup()
{  
  Serial.begin(9600);
  lcd_4.begin(16, 2);
  servo_9.attach(9, 500, 2500);

  lcd_4.clear();
  lcd_4.print("PARK'N'GO");
  delay(2000);
  lcd_4.clear();
}

void loop()
{
  long duration, cm;

  // Envoi du signal
  pinMode(pingPin, OUTPUT);
  digitalWrite(pingPin, LOW);
  delayMicroseconds(2);
  digitalWrite(pingPin, HIGH);
  delayMicroseconds(5);
  digitalWrite(pingPin, LOW);

  // Réception de l’écho
  pinMode(pingPin, INPUT);
  duration = pulseIn(pingPin, HIGH);

  // Conversion en centimètres
  cm = microsecondsToCentimeters(duration);

  // Affichage dans le moniteur série
  Serial.print("Distance: ");
  Serial.print(cm);
  Serial.println(" cm");

  // Logique de contrôle optimisée (évite le clignotement)
  if (cm > 100 && etatPrecedent != "disponible") {
    servo_9.write(180);
    lcd_4.clear();
    lcd_4.print("Place disponible");
    etatPrecedent = "disponible";
  } 
  else if (cm <= 100 && etatPrecedent != "occupee") {
    servo_9.write(0);
    lcd_4.clear();
    lcd_4.print("Place occupee");
    etatPrecedent = "occupee";
  }

  delay(500); // Pause entre les mesures
}

// Fonction de conversion µs → cm
long microsecondsToCentimeters(long microseconds) {
  return microseconds / 29 / 2;
}

merci d'avance

Votre code se compile, donc le problème est matériel. Montrez un schéma de câblage pour montrer comment vous alimentez le servo et le sondeur.

Il serait peut-être préférable de démarrer votre écran LCD comme ceci (en supposant qu'il n'est pas I2C) :

#include <LiquidCrystal.h>
LiquidCrystal lcd(12, 11, 10, 9, 8, 7); // RS EN D4 D5 D6 D7

Tant de problèmes dans votre code (même s'il compile). Essayez cet exemple:

Bonjour 1sti2d

Quelle est l'adresse i2C de ton affichage?
Comment sont les ponts:
image

Cordialement
jpbbricole

Quel écran exactement?
Le constructeur que tu utilises correspond à un écran I2C qui serait à l'adresse 0x20.

Donne un petit schéma de câblage (même à main levé), une photo du montage.