Habe nun doch den UNO genommen. Hatte noch einen versteckten Pin gefunden. Ich hatte da reingeschrieben (Reserviert ). Wer lesen kann ist stark im Vorteil.
Das Display geht auch schon, nur das Gelb ist etwas hell.
Hier wird mir der Fehler angezaigt: if(digitalRead(TasteKippen)==LOW) //Unterprogramm Kamera kippen
exit status 1
expected unqualified-id before 'if'
//#include <LiquidCrystal_I2C.h>
#include <Wire.h> //Wire.h Bibliothek einbinden
#include <LiquidCrystal_I2C.h> //LiquidCrystal_I2C.h Bibliothel einbinden
LiquidCrystal_I2C lcd1(0x27, 2, 1, 0, 4, 5, 6, 7, 3, POSITIVE); //Hier wird
//Display 1 als lcd1 benannt, die Adresse angegeben „0x27“ und die
//Pinnbelegung durch das I²C Modul angegeben
#define Poti 0 // A0 Abort
#define Poti1 3 // A3 CoolEn
#define Poti2 2 // A2 alt enable spin
// --------------------PIN Benennung----------------------------------
int Kamera=10; // Kameraauslöser
int StepStpHoch=4; // step Hoch alt step z
int StepStpDreh=3; // Step Drehen Dreehteller alt step y
int StepStpKipp=2; // Step Kippen alt step x
int StepDirHoch=7; // Die Hoch Hoch alt z Dir
int StepDirDreh=6; // Drehteller alt y DIR
int StepDirKipp=5; // Kippen alt x Dir
int StepAllEna=8; // alle Stepper einschalten
int EndstopHoch=9; // Endstop x Achse alt Endstop X
int Start=15; // schwarz A1 Hold
int TastePlusMinus=11; // Gelb alt Z endstop resum
int TasteHochtief=12; // grün Hoch/tief alt enable spin
int TasteKippen=13; // braun Kippen alt spin dir
// I2C Bus1 A4
// I2C Bus2 A5
//----------------------------Variablen----------------------------------
int Umdrehungssteps=6400; //6443 Umdrehungen Teller hier 2 x 360° 12886
int Tempo=10; // Umdrehungsgeschwindigkeit
int Hub=1; //Hubgeschwindigkeit
int Kipp=3; //Kippgeschwindigkeit
int Klick=0;
int Servopause=1500; //Zeit für die Einstellung des Servos auf Klick
int Fotomenge=0; // Fotos pro Umdrehung
int Speicherpause=3500; //Die Zeit. die ein Foto digital abgespeichert wird
int Bildmenge=0; // bildmenge pro Umdrehung waehlen
int Hoehe = 0; // Hoehe des Modells
int Ebene = 0; //Fotoebenen
int Drehsegment=0; // Menge der Schritte pro Foto
int Step =0; //Umdrehungszähler
float Winkel=0;
long Stepshoehe=0; //Steps der Höhe
long Stepsentfernung = 0; // Steps der Entfernung
long Kippwinkel = 0; //Kamera kippen
void setup()
{
lcd1.begin(16,2); //Display 1 wird gestartet und die Größe des Displays
//wird angegeben(16 Zeichen, zwei Zeilen)
lcd1.backlight(); //Beleuchtung Display 1 einschalten
Serial.begin(9600);
pinMode(Poti,INPUT);
//--------------------Ausgabe/ Lesen/Schreiben--------------------------
// Pin Funktion einstellen
pinMode(Kamera, OUTPUT); // rRXals digital für Kamerasteuerung
pinMode(1, OUTPUT); //TX als digital- für Kamerasteuerung
pinMode(StepAllEna, OUTPUT);
pinMode(StepDirHoch, OUTPUT);
pinMode(StepStpHoch, OUTPUT);
pinMode(StepDirDreh, OUTPUT);
pinMode(StepStpDreh, OUTPUT);
pinMode(StepDirKipp, OUTPUT);
pinMode(StepStpKipp, OUTPUT);
pinMode(EndstopHoch,INPUT); // Endstop für Spindel unten alt X Endstop
pinMode(Start,INPUT); // Start Knopf alt Y Endstop
pinMode(TastePlusMinus,INPUT); // Plus Minus alt Z endstop
pinMode(TasteHochtief,INPUT); // Hoch/tief alt enable spin
pinMode(TasteKippen,INPUT); // Kippen alt spin dir
//................... Pullup Widerstände für die Tasten einschalten..........
pinMode(EndstopHoch, INPUT_PULLUP); //9 Pullup ein
pinMode(Start, INPUT_PULLUP); //10 Pullup ein
pinMode(TastePlusMinus, INPUT_PULLUP); //11 Pullup ein
pinMode(TasteHochtief,INPUT_PULLUP); //12 Pullup ein
pinMode(TasteKippen, INPUT_PULLUP); //13 Pullup ein
digitalWrite(StepAllEna,HIGH); // set Ena an
}
//---------------------------------Programmablauf----------------------
void loop()
{
//.................Anzeigen der Potieinstellungen..............
int Schleifer = analogRead(Poti)+10; //+10));//10); // Für Fotomenge
int Schleifer1 = analogRead(Poti1); // für Objekzhoehe
int Schleifer2 = analogRead(Poti2); // für objektentfernung
Stepshoehe = Schleifer1 * 3200L; // 1mm Höhe je Analog Wert
Stepsentfernung = Schleifer2 *3200L; // 1mm Entfernung je Analog Wert
Fotomenge=Schleifer/10;
// LCD Ausgabe........................................................
lcd1.setCursor(0,0); //Ab hier kann das I2C LCD Modul genau wie das einfache
// LCD Modul programmiert werden.
lcd1.print(" "); // Zeile löschen
lcd1.setCursor(0,0);
lcd1.print("Hoe:");
lcd1.print(Schleifer1);
lcd1.setCursor(8,0);
lcd1.print("Ti:");
lcd1.print(Schleifer2);
lcd1.setCursor(0,1);
lcd1.print(" "); // Zeile löschen
lcd1.setCursor(0,1);
lcd1.print("Bilder:");
lcd1.print(Fotomenge);
Serial.print("TastePlusMinus: ");
Serial.print(digitalRead(TastePlusMinus));
Serial.print(" ");
Serial.print("Start: ");
Serial.print(digitalRead(Start));
Serial.print(" ");
Serial.print("TasteHochtief: ");
Serial.print(digitalRead(TasteHochtief));
Serial.print(" ");
Serial.print("TasteKippen: ");
Serial.print(digitalRead(TasteKippen));
Serial.println(" ");
// Serial.print(F("Arkustangens von Winkel "));
// Serial.print(atan(Winkel));
// Serial.print(" ");
// float Winkel=(1.*Schleifer1/Schleifer2);
// Serial.print(F(" das entspricht "));
// Serial.print(atan(Winkel) * 360 / (2 * PI));
// Serial.println(F(" Grad"))//;
//.............. Einstellung für Bildmenge..................
Drehsegment=Umdrehungssteps/Fotomenge;
//........................................................
digitalWrite(StepAllEna,LOW); // Motoren an
if(digitalRead(Start)==LOW) //Unterprogramm Teller drehen
{
if (digitalRead(Start)==LOW) //Unterprogramm Teller drehen
while(Start==LOW); //Entprellen und Doppeldruck unterdrücken
{
}
}
if(Schleifer1==0)
{
// Drehen();
}
else
{
// Kontur();
}
}
//.............................Heben einleiten...............
if (digitalRead(TasteHochtief)==LOW) //Unterprogramm Hoch/Tief fahren/
{
// Heben();
}
//.............................Kippen einleiten...............
if(digitalRead(TasteKippen)==LOW) //Unterprogramm Kamera kippen
{
// Kippen();
}
}