was ist den ein yield()
in dieser Schleife soll nur der poti beim Start abgefragt werden sobald das poti aufgedreht wird darf der Motor nicht laufen und ich mus es erst runter drehen und das progam neu Starten (neu einschalten) wen disse Bedingung erfüllt wird kommt das eigentliche progam
hir nochmal mein aktuelles program
Code:
/*
Analog Input
*/
#define MOTOR_1 2
#define MOTOR_2 4
#define POTI A0
#define PWM 9
#define TASTER 7
#define LED 3
//int poti = A0; // select the input pin for the potentiometer
int poti_Value = 0; // variable to store the value coming from the sensor
int poti_prozent = 0;
bool sicherheit = 1;
void setup() {
// declare the ledPin as an OUTPUT:
//pinMode(ledPin, OUTPUT);
Serial.begin(9600);
//pinMode(MOTOR_1,OUTPUT);
//pinMode(MOTOR_2,OUTPUT);
pinMode(LED,OUTPUT);
pinMode(TASTER,INPUT_PULLUP);
pinMode(MOTOR_1,OUTPUT);
pinMode(MOTOR_2,OUTPUT);
pinMode(PWM,OUTPUT);
digitalWrite(LED, LOW);
}
void loop() {
int pwmSpeed;
// Poti Regelbereich
poti_Value = analogRead(POTI);
poti_prozent = map(poti_Value, 0,1023, 0,100);
// Ausgabe
Serial.print("Poti = ");
Serial.print(poti_prozent);
Serial.println("% ");
// Sicherheitsschaltung Poti auf 0 und Motor Aus
while( sicherheit == 0 )
{
if (poti_prozent <= 3 )
{
digitalWrite(LED, LOW);
return 0;
}
else
{
digitalWrite(MOTOR_1, HIGH);
digitalWrite(MOTOR_2, HIGH);
digitalWrite(LED, HIGH);
return 1;
}
}
digitalWrite(MOTOR_1, HIGH);
digitalWrite(MOTOR_2, HIGH);
// Geschwindigkeit regeln
analogWrite(PWM, poti_Value / 4);
// Drehrichtung Links
digitalWrite(MOTOR_1, HIGH);
digitalWrite(MOTOR_2, LOW);
// Drehrichtung Rechts
digitalWrite(MOTOR_1, LOW);
digitalWrite(MOTOR_2, HIGH);
// ENDE
}
Lesezeichen