Hilfe bei einer Fehlermeldung

Hi,
ich habe mal wieder ein Problem mit meinem Arduino. Wenn ich einen Sketch hochladen möchte bekomme ich eine Fehlermeldung, die ich nicht nachvollziehen kann.

Fehlermeldung:

Arduino: 1.8.3 (Windows 7), Board: "Arduino/Genuino Uno"

Sketch uses 5760 bytes (17%) of program storage space. Maximum is 32256 bytes.
Global variables use 437 bytes (21%) of dynamic memory, leaving 1611 bytes for local variables. Maximum is 2048 bytes.
avrdude: ser_open(): can't set com-state for "\.\COM12"
An error occurred while uploading the sketch

This report would have more information with
"Show verbose output during compilation"
option enabled in File -> Preferences.

Mein Sketch:

#include <LCD.h>
#include<LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27, 2, 1, 0, 4, 5, 6, 7);
int trigger = 7; //Trigger-Pin des Ultraschallsensors an Pin7 des Arduino-Boards
int echo = 6; // Echo-Pim des Ultraschallsensors an Pin6 des Arduino-Boards
long dauer = 0; // Das Wort dauer ist jetzt eine Variable, unter der die Zeit gespeichert wird, die eine Schallwelle bis zur Reflektion und zurück benötigt. Startwert ist hier 0.
long entfernung = 0; // Das Wort „entfernung“ ist jetzt die variable, unter der die berechnete Entfernung gespeichert wird. Info: Anstelle von „int“ steht hier vor den beiden Variablen „long“. Das hat den Vorteil, dass eine größere Zahl gespeichert werden kann. Nachteil: Die Variable benötigt mehr Platz im Speicher.
void setup()
{
  Serial.begin(9600); //Serielle kommunikation starten, damit man sich später die Werte am serial monitor ansehen kann.
  pinMode(trigger, OUTPUT); // Trigger-Pin ist ein Ausgang
  pinMode(echo, INPUT); // Echo-Pin ist ein Eingang
  lcd.setBacklight(HIGH);
  lcd.begin(16, 2);
  lcd.clear();
}
void loop()
{
  digitalWrite(trigger, LOW); //Hier nimmt man die Spannung für kurze Zeit vom Trigger-Pin, damit man später beim senden des Trigger-Signals ein rauschfreies Signal hat.
  delay(5); //Dauer: 5 Millisekunden
  digitalWrite(trigger, HIGH); //Jetzt sendet man eine Ultraschallwelle los.
  delay(10); //Dieser „Ton“ erklingt für 10 Millisekunden.
  digitalWrite(trigger, LOW);//Dann wird der „Ton“ abgeschaltet.
  dauer = pulseIn(echo, HIGH); //Mit dem Befehl „pulseIn“ zählt der Mikrokontroller die Zeit in Mikrosekunden, bis der Schall zum Ultraschallsensor zurückkehrt.
  entfernung = (dauer / 2) * 0.03432; //Nun berechnet man die Entfernung in Zentimetern. Man teilt zunächst die Zeit durch zwei (Weil man ja nur eine Strecke berechnen möchte und nicht die Strecke hin- und zurück). Den Wert multipliziert man mit der Schallgeschwindigkeit in der Einheit Zentimeter/Mikrosekunde und erhält dann den Wert in Zentimetern.
  if (entfernung >= 500 || entfernung <= 0) //Wenn die gemessene Entfernung über 500cm oder unter 0cm liegt,…
  {
    Serial.println("Kein Messwert"); //dann soll der serial monitor ausgeben „Kein Messwert“, weil Messwerte in diesen Bereichen falsch oder ungenau sind.
    lcd.setCursor(0, 0);
    lcd.print("Kein Messwert");
    delay(500);
    lcd.clear();
  }
  else //  Ansonsten…
  {
    Serial.print(entfernung); //…soll der Wert der Entfernung an den serial monitor hier ausgegeben werden.
    Serial.println(" cm"); // Hinter dem Wert der Entfernung soll auch am Serial Monitor die Einheit "cm" angegeben werden.
    lcd.setCursor(0, 0);
    lcd.print(entfernung);
    lcd.print("cm");
  }
  delay(1000); //Das delay von einer Sekunde sorgt in ca. jeder neuen Sekunde für einen neuen Messwert.
}

Der Sketch ist von Funduino, sollte also eigentlich nicht die Fehlerquelle sein.

Hast du mal in der IDE eine andere (richtige) Com-Schnittstelle versucht ?

Mehr Com-Schnittstellen habe ich nicht. Ich habe nur diesen besagten Com-12 Port.

Dann mach mal was da steht:

This report would have more information with
"Show verbose output during compilation"
option enabled in File -> Preferences

Und poste das Ergebnis.

Jetzt funktioniert es komischer Weise, allerdings habe ich immernoch eine Fehlermeldung.

\win.desy.de\home\schule2\My Documents\Arduino\libraries\NewliquidCrystal\LiquidCrystal_SR1W.h:157:1: warning: multi-line comment [-Wcomment]

// | | 0.1uF | \

^

Die Zeile steht aber nicht in Deinem geposteten Sketch.
// ist nur für einzeilige Kommentare gedacht

Gruß Tommy

Ich habe nun alle Comments entfernt, allerdings ist diese Fehlermeldung dauerhaft vorhanden und das Backlight des LCD Displays ist dauerhaft aus, obwohl es eingeschaltet wurde.

Dann hast du evtl. einen Hardwarefehler oder ein neues Problem im Sketch.
Poste den noch einmal.

#include <LCD.h>
#include<LiquidCrystal_I2C.h>
#include <Wire.h>
LiquidCrystal_I2C lcd(0x27, 2, 1, 0, 4, 5, 6, 7);
int trigger = 7; 
int echo = 6; 
long dauer = 0; 
long entfernung = 0; 
void setup()
{
  Serial.begin(9600); 
  pinMode(trigger, OUTPUT); 
  pinMode(echo, INPUT); 
  
  lcd.begin(16, 2);
  lcd.backlight();
    Wire.begin();
  
}
void loop()
{
  digitalWrite(trigger, LOW);
  delay(5); 
  digitalWrite(trigger, HIGH); 
  delay(10); 
  digitalWrite(trigger, LOW);
  dauer = pulseIn(echo, HIGH); 
  entfernung = (dauer / 2) * 0.03432; 
  if (entfernung >= 500 || entfernung <= 0)
  {
    Serial.println("Kein Messwert"); 
    lcd.setCursor(0, 0);
    lcd.print("Kein Messwert");
    delay(500);
    lcd.clear();
  }
  else 
  {
    Serial.print(entfernung);
    Serial.println(" cm"); 
    lcd.setCursor(0, 0);
    lcd.print(entfernung);
    lcd.print("cm");
  }
  delay(1000); 
}

Ich sehe nicht, dass du das Licht einschaltest.
Da fehlt das "HIGH".

Bei anderen Sketches hat "lcd.begin(16, 2);
lcd.backlight();" immer funktioniert um den LCD Display einzuschalten und das Backlight anzumachen. (Turning off I2C backlight - Displays - Arduino Forum) Allerdings funktioniert "lcd.setBacklight(HIGH);" auch nicht. Der Sketch wurde bei zwei LCD Displays getestet, die sonst auch immer funktionieren.

Es könnte auch eine andere LCD-Lib sein, als früher.

Gruß Tommy

Ok....dann machst du irgend etwas anderes falsch.
Dass können wir hier nicht sehen.
Wir sehen nur das, was du uns zeigst.

Und im ersten Sketch war es mit

lcd.setBacklight(HIGH);

Somit solltest du uns nicht in die Irre führen, wir können nicht wissen was du falsch machst.

Nimm den originalen Sketch und die originale Library.