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 }







Zitieren

Lesezeichen