Heißer Draht bei dem hilfe von zwei Servomatoren die Zeit und die Fehler angezeigt werden.
#include <Servo.h>
int startstopp = 0 ;
int fehler = 0 ;
int zeit = 0 ;
int servo = 0 ;
int start = 0 ;
Servo servo_pin_9;
Servo servo_pin_11;
void Unterprogramm1();
void Unterprogramm3();
void setup()
{
pinMode( 3 , INPUT);
pinMode( 2 , INPUT);
digitalWrite(3, HIGH);
digitalWrite(2, HIGH);
pinMode( 7 , OUTPUT);
servo_pin_11.attach(11);
servo_pin_9.attach(9);
Serial.begin(9600);
pinMode( 7 , OUTPUT);
startstopp = 0 ;
fehler = 0 ;
zeit = 1000 ;
servo = 5 ;
start = 0 ;
digitalWrite( 7 , LOW );
servo_pin_9.attach(9);
servo_pin_11.attach(11);
servo_pin_11.write( 0 );
servo_pin_9.write( 5 );
delay( 1000 );
servo_pin_9.detach();
servo_pin_11.detach();
}
void loop()
{
Serial.print("startstopp");
Serial.print(startstopp);
Serial.println();
if (!( digitalRead(2) ))
{
startstopp = ( startstopp + 1 ) ;
delay( 1000 );
Serial.print("startstopp");
Serial.print(startstopp);
Serial.println();
}
if (( ( startstopp ) == ( 1 ) ))
{
servo_pin_9.attach(9);
long current=millis();
while(current+6000>=millis())
{
if (( ( 180 ) >= ( servo ) ))
{
servo_pin_9.attach(9);
servo_pin_9.write( servo );
}
if (( ( 181 ) <= ( servo ) ))
{
digitalWrite( 7 , HIGH );
delay( 2000 );
digitalWrite( 7 , LOW );
startstopp = ( startstopp + 1 ) ;
delay( 500 );
Serial.print("startstopp");
Serial.print(startstopp);
Serial.println();
}
if (!( digitalRead(2) ))
{
startstopp = ( startstopp + 1 ) ;
delay( 1000 );
Serial.print("startstopp");
Serial.print(startstopp);
Serial.println();
}
if (!( digitalRead(3) ))
{
servo = ( servo + 5 ) ;
fehler = ( fehler + 1 ) ;
Unterprogramm1();
}
}
servo = ( servo + 6 ) ;
Serial.print("servo");
Serial.print(servo);
Serial.println();
}
if (( ( startstopp ) == ( 2 ) ))
{
servo_pin_11.detach();
servo_pin_9.detach();
digitalWrite( 7 , LOW );
}
if (( ( ( startstopp ) == ( 3 ) ) || ( ( ( startstopp ) == ( 4 ) ) || ( ( startstopp ) == ( 5 ) ) ) ))
{
startstopp = 0 ;
fehler = 0 ;
zeit = 1000 ;
servo = 5 ;
start = 0 ;
digitalWrite( 7 , LOW );
servo_pin_9.attach(9);
servo_pin_11.attach(11);
servo_pin_11.write( 0 );
servo_pin_9.write( 5 );
delay( 500 );
servo_pin_9.detach();
servo_pin_11.detach();
}
}
void Unterprogramm3()
{
digitalWrite( 7 , HIGH );
delay( 1000 );
digitalWrite( 7 , LOW );
servo_pin_11.detach();
}
void Unterprogramm1()
{
if (( ( fehler ) == ( 1 ) ))
{
servo_pin_11.attach(11);
delay( 5 );
servo_pin_11.write( 18 );
Unterprogramm3();
}
if (( ( fehler ) == ( 2 ) ))
{
servo_pin_11.attach(11);
delay( 5 );
servo_pin_11.write( 36 );
Unterprogramm3();
}
if (( ( fehler ) == ( 3 ) ))
{
servo_pin_11.attach(11);
delay( 5 );
servo_pin_11.write( 54 );
Unterprogramm3();
}
if (( ( fehler ) == ( 4 ) ))
{
servo_pin_11.attach(11);
delay( 5 );
servo_pin_11.write( 72 );
Unterprogramm3();
}
if (( ( fehler ) == ( 5 ) ))
{
servo_pin_11.attach(11);
delay( 5 );
servo_pin_11.write( 90 );
Unterprogramm3();
}
if (( ( fehler ) == ( 6 ) ))
{
servo_pin_11.attach(11);
delay( 5 );
servo_pin_11.write( 108 );
Unterprogramm3();
}
if (( ( fehler ) == ( 7 ) ))
{
servo_pin_11.attach(11);
delay( 5 );
servo_pin_11.write( 126 );
Unterprogramm3();
}
if (( ( fehler ) == ( 8 ) ))
{
servo_pin_11.attach(11);
delay( 5 );
servo_pin_11.write( 144 );
Unterprogramm3();
}
if (( ( fehler ) == ( 9 ) ))
{
servo_pin_11.attach(11);
delay( 5 );
servo_pin_11.write( 162 );
Unterprogramm3();
}
if (( ( fehler ) == ( 10 ) ))
{
digitalWrite( 7 , HIGH );
delay( 2000 );
digitalWrite( 7 , LOW );
servo_pin_11.attach(11);
delay( 10 );
servo_pin_11.write( 180 );
delay( 1000 );
servo_pin_11.detach();
fehler = 0 ;
startstopp = 3 ;
}
}