Fehlermeldungen

Die Aufzäh­lung der Fehler­mel­dun­gen erhebt keinen Anspruch auf Voll­ständigkeit.

Fehler­mel­dun­genLösung
Anweisung­Name was not declared in this scopeder Name der Anweisung ist ➨falsch, achte beson­ders auf Groß- und Klein­schrei­bung
Beim Hochladen des Sketch­es ist ein Fehler aufge­tretenkon­trol­liere den COM-Port
schließe den Seriellen Mon­i­tor
can’t open devicekon­trol­liere den COM-Port
Did not find any device match­ing VID 0xxxxx and PID list: 0xxxxxFehler beim Betrieb­ssys­tem Lin­ux:
Führe das fol­gende ➨Script aus.
expect­ed ‘(‘an der Stelle wurde eine runde Klam­mer erwartet
zumeist fehlt sie bei ➨for, ➨if oder ➨while
expect­ed ’)’ before numer­ic con­stantzwis­chen zwei ➨numerischen Vari­ablen fehlt ein Kom­ma
expect­ed ‘;’an der Stelle wird ein Strich­punkt erwartet
expect­ed ‘{‘an der Stelle fehlt eine ➨öff­nende geschweifte Klam­mer
expect­ed ’}’ at end of inputam Ende des Blocks, der Funk­tion, der Funk­tion fehlt die ➨schließende geschweifte Klam­mer
expect­ed unqual­i­fied-id before ‘for’Syn­tax der ➨for-Schleife ist nicht kor­rekt, es fehlt ein tren­nen­der Strich­punkt
expect­ed unqual­i­fied-id before ‘{‘ tokendie Def­i­n­i­tion ein­er Funk­tion darf nicht mit einem Strich­punkt abgeschlossen wer­den
Fehler beim Kom­pilieren für das Boardder loop-Teil oder der set­up-Teil fehlt
miss­ing ter­mi­nat­ing ” char­ac­terbei der Def­i­n­i­tion eines ➨Strings fehlt ein Anführungsze­ichen
NameDer­Bib­lio­thek: No such file or direc­to­rydie Bib­lio­thek, die ver­wen­det wer­den soll ist nicht vorhan­den, sie muss instal­liert wer­den
(Sketch -> Bib­lio­thek ein­binden -> Bib­lio­theken)
Per­mis­sion denied on /dev/ttyACM0
/dev/ttyUSBx
Fehler­mel­dung beim Betrieb­ssys­tem ➨Lin­ux
rede­c­la­ra­tion of ‘Vari­ablenname’die Vari­able wurde im Pro­gramm bere­its definiert
too many ini­tial­iz­ers for ‘Vari­ablenName [..]’bei der Def­i­n­i­tion des Arrays wurde die ➨Anzahl der Ele­mente zu niedrig angegeben
Vari­ablenName was not declared in this scopedie Vari­able wurde vor der ersten Ver­wen­dung nicht ➨definiert oder sie ist im dem Pro­grammteil nicht gültig

Geschweifte Klammern
Zu jeder geöffneten geschweiften Klammer gehört immer auch eine geschlossene geschweifte Klammer.


void setup()
{
  Serial.begin(9600);
}


void loop()
{
   for (int i = 0; i < 10; i++)
  {
     Serial.println(i);
  }
}

Permission denied on /dev/ttyACM0 /dev/ttyUSB0


Lösung für die aktuelle Sitzung:
sudo chmod a+rw /dev/ttyACM0

sudo chmod a+rw /dev/ttyUSB0


Dauerhafte Lösung:
Der Benutzer muss der Gruppe dialout/uucp zugewiesen werden:

Debian-basiert:
sudo usermod -a -G dialout deinBenutzername

Arch-Linux:

sudo usermod -a -G uucp deinBenutzername

Array definieren


int LED[5] = {3, 4, 5, 6, 7};
bool Status[5] = {1, 0, 1, 0, 1};
String Bauteile[5] = {"Taster", "Potentiometer", "Fernbedienung", "Sensor,", "LED"};
char Buchstaben[5] = {"aeiou"};

String-Variable definieren und Wert zuweisen


String Satz = "Programmieren macht Spaß!";

Geschweifte Klammern
Zu jeder geöffneten geschweiften Klammer gehört immer auch eine geschlossene geschweifte Klammer.


void setup()
{
  Serial.begin(9600);
}


void loop()
{
   for (int i = 0; i < 10; i++)
  {
     Serial.println(i);
  }
}

Trennung von numerischen Variablen


pinMode(7, OUTPUT);
digitalWrite(7, HIGH);

Schreibweise von Anweisungen


analogRead()
analogWrite()
delay()
digitalRead()
digitalWrite()
for (int i = 0; i < 10; i++)
if (Bedingung == Zustand)
map(SensorWert, 0, 1023, 0, 255)
pinMode(LED, OUTPUT)
pinMode(TASTER, INPUT_PULLUP)
Serial.available()
Serial.begin(9600)
Serial.read()
Serial.print()
Serial.println()
tone()
noTone()
while (int i < 10) 

Beispiele:


// Variable anlegen 
String Satz; 
int TasterLesen; 
byte TASTE;

// Variable anlegen und Wert zuweisen
String Satz = "Programmieren macht Spaß!";
byte TASTE = 5; 
int LED = 13; 
float KOMMAZAHL = 3.5; 
// beachte das Format . statt ,

Gültigkeitsbereich von Variablen


// im gesamten Programm gültige Variable 
int LED = 7; 
int SENSOR = 8; 

void setup() 
{
   pinMode(LED, OUTPUT);
   pinMode(SENSOR, INPUT); 
   Serial.begin(9600); 
}

void loop() 
{ 
  // lokale Variable, in der gesamten Funktion loop gültig 
  int SensorLesen; 
  int Max = 6; 
  for (int i = 0; i <= Max; i++) 
  // die Variable i ist nur in der for-Schleife gültig    
  { 
    Serial.println(i); 
  } 
}

Beispiel while


void setup()  
{  
  Serial.begin(9600); 
} 

void loop() 
{ 
  int i = 0; 
  while (i < 10)
  {  
    Serial.println(i);
    i++;   
  } 
}

Beispiel if


int LED = 7;
int TASTER = 13;

void setup()
{
  pinMode(LED, OUTPUT);
  pinMode(TASTER, INPUT_PULLUP);
}

void loop()
{
  int TasterLesen = digitalRead(TASTER);
  if (TasterLesen == LOW)
  {
    digitalWrite(LED, HIGH);
  }
  else
  {
    digitalWrite(LED, LOW);
  }
}

Beispiel for-Schleife:


void setup()
{
  Serial.begin(9600);
}

void loop()
{
  for (int i = 0; i < 10; i++)
  {
    Serial.println(i);
  }
}

Kontrolliere den COM-Port: