- Labornetzteil AliExpress         
Ergebnis 1 bis 10 von 26

Thema: sainsmart-car mit omni wheels

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    18.03.2018
    Beiträge
    2.650
    Hallo,

    Wenn ich es richtig sehe, hast Du schon den richtigen Ansatz genommen.
    Hier so ein ähnlicher:

    1. Du erstellst eine Variable zum Zählen: count oder delay
    2. Du durchläufst den Code ohne die Standrad-Delay-Funktion aufzurufen.
    3. Am Anfang von loop() ermittelst Du die verstrichene Zeit, dafür gibt es z.B.: millis()
    4. aus diesem Miilis()-Wert und dem Letzten ermittelst Du, durch Subtraktion, die Differenz.
    5. In einer Schleife kannst Du deine Zählervariable herunterzählen, solang diese (und die berechnete Differenz der Millis) noch größer "0" ist.
    6. Wenn Deine Zählervariable "0" erreicht hat, führst Du die Aktion aus.

    Alternative für Schritt 5: statt die Zählervariable per Schleife herunter zu zählen, kannst Du auch eine schnellere Variante, mit Subtraktion, wählen.
    Wenn also der Wert der Zählervariable größer ist, als die o.g. berechnete Differenz, ziehst Du die Differenz von der Zählervariable ab und fertig.
    Wenn der Wert der Zählervariable kleiner ist, als die Differenz, setzt Du die Zählervariable auf "0" und bist ebenfalls fertig.

    Dein Ansatz funktioniert auch.

    MfG

    - - - Aktualisiert - - -

    Ich glaube, da ist noch ein Fehler. Du willst, dass die Schleife eine bestimmte Zeit durchlaufen wird und dann nicht mehr. Das müsste dann eigentlich wie folgt aussehen.

    Code:
      dauer_fahrt = 500;
    
      if (currentMillis - previousMillis < dauer_fahrt)  {
          Serial.println("halbe sec vorwärts");    
          motor_hl->setSpeed(s_speed);    
          motor_hr->setSpeed(s_speed+1);    
          motor_vr->setSpeed(s_speed+1);    
          motor_vl->setSpeed(s_speed);    
          motor_hl->run(FORWARD);    
          motor_hr->run(FORWARD);    
          motor_vr->run(FORWARD);    
          motor_vl->run(FORWARD);  
    }
    Geändert von Moppi (31.01.2020 um 16:44 Uhr)

Ähnliche Themen

  1. Mecanum-Wheels -Bot will nicht richtig..., aber warum ??
    Von oderlachs im Forum Sonstige Roboter- und artverwandte Modelle
    Antworten: 10
    Letzter Beitrag: 23.07.2016, 11:37
  2. Antworten: 1
    Letzter Beitrag: 02.11.2015, 15:57
  3. Roboterbasis mit Mecanum Wheels
    Von malthy im Forum Vorstellung+Bilder+Ideen zu geplanten eigenen Projekten/Bots
    Antworten: 37
    Letzter Beitrag: 31.08.2015, 19:09
  4. SainSmart uno r3-atmega328
    Von Droggelbecher im Forum Microcontroller allgemeine Fragen/Andere Microcontroller
    Antworten: 18
    Letzter Beitrag: 04.01.2013, 11:57
  5. Pulling Test - Wheels, Tyres and Traction
    Von Vogon im Forum Mechanik
    Antworten: 4
    Letzter Beitrag: 08.02.2006, 18:34

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

12V Akku bauen