INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.

Antwort schreiben 
 
Themabewertung:
  • 0 Bewertungen - 0 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
Neuling verzweifelt braucht Hilfe delay durch timer ersetzen
06.02.2019, 16:11 (Dieser Beitrag wurde zuletzt bearbeitet: 07.02.2019 00:43 von Lois.)
Beitrag #1
Sad Neuling verzweifelt braucht Hilfe delay durch timer ersetzen
Hallo bin ein Neuling
möchte einen Servo ansteuern Taster x wird betätigt.
fährt auf 120° und nach einer bestimmten zeit x wieder in Grunstellung
und wartet auf den nächsten Tasten druck.
danke für Hilfe
Code:
#include <Servo.h>
const int Taster = 3;

Servo servo;
boolean toggle = true;

void setup()
{
pinMode(Taster, INPUT);
digitalWrite(3, HIGH);
servo.attach(9);
servo.write(10);

}

boolean Grundstellung=true;
void loop()
{if ((!digitalRead(Taster))&&(Grundstellung))
      {
        servo.write(120);
       Grundstellung=false;
       }
    else if (!Grundstellung)
       {
         delay(3000); soll durch timer ersetzt werden
         servo.write(0);
         Grundstellung=true;  
if(toggle)
{
}
else
{
servo.write(0);
toggle = !toggle;  
}

}
}

könnte das ein Lösungsansatz sein

Code:
#include <Servo.h>  //Bibliothek zum ansteuern von Servo

Servo servo; //Servo Objekt erstellen (noch nicht initialisiert)
int taster = 3;
int press = 0;
int position = 0; //Variable zum speichern von der aktuellen Position
const int waitTime = 25; //Zeit zum pausieren zwischen den einzelnen Schritten des Servos

void setup()
{ pinMode(taster, INPUT);
  digitalWrite(3, HIGH);  
  servo.attach(9); //setzen des Servo Objektes auf den digitalen PIN 9
}

void loop()
{
    press = digitalRead(taster);
if (press == LOW)
  //For Schleife zum drehen des Servos um 180°
  for(position = 1; position < 120; position++) {
    servo.write(position); //Schreiben des aktuellen Wertes der Variable 'position' (1...180)
    delay(waitTime); //Pause
  }

  //For Schleife zum drehen des Servos um 180°  
  for(position = 0; position>=0; position--){
    servo.write(position); //Schreiben des aktuellen Wertes der Variable 'position' (180...1)
    delay(waitTime); //Pause
  }
}
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
06.02.2019, 16:15
Beitrag #2
RE: delay durch timer ersetzen
Stelle Deinen Sketch bitte in Codetags.
Wie das geht, steht hier.
Das kannst Du auch noch nachträglich ändern.

Wie Du millis() verwendest, siehst Du in BlinkWithoutDelay().

Gruß Tommy

"Wer den schnellen Erfolg sucht, sollte nicht programmieren, sondern Holz hacken." (Quelle unbekannt)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
Antwort schreiben 


Möglicherweise verwandte Themen...
Thema: Verfasser Antworten: Ansichten: Letzter Beitrag
  Hilfe für Kita-Projekt gesucht. cyberiss 8 442 06.08.2019 07:57
Letzter Beitrag: Der Hobbyelektroniker
  Passwort Schutz fuer Client-Server Verbindung TCP/IP im W-Lan, braucht man einen? gutschy 9 374 04.08.2019 21:12
Letzter Beitrag: hotsystems
  Brauche Hilfe bei Arrays mega-hz 23 1.185 10.07.2019 15:59
Letzter Beitrag: MartinZ
  Hilfe benötigt bei der folgenden Aufgabe hanneswave 10 714 01.07.2019 18:08
Letzter Beitrag: Wochenendprogrammierer
  Millis benutzen statt delay beame 9 832 21.06.2019 16:16
Letzter Beitrag: Franz54
  delay Zeit falsch golex 9 915 24.05.2019 21:18
Letzter Beitrag: GuaAck
  Oled 0.91 wechselnde Anzeige . Benötige hilfe MotD 6 790 24.03.2019 22:48
Letzter Beitrag: Bitklopfer
  Simon Says bzw. Senso - Spiel bitte Hilfe Riddle 3 672 15.03.2019 13:46
Letzter Beitrag: Tommy56
  Hilfe benötigt beim Verknüpfen von Klassen Batucada 7 761 02.03.2019 23:47
Letzter Beitrag: georg01
  Hilfe bei Formulierung der Frage Matt 3 797 23.02.2019 12:45
Letzter Beitrag: Tommy56

Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste