- Akku Tests und Balkonkraftwerk Speicher         
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 Avatar von inka
    Registriert seit
    29.10.2006
    Ort
    nahe Dresden
    Alter
    77
    Beiträge
    2.180
    ich spiel jetzt einfach mal ein bischen mit dem teil und versuche das er sich so bewegt, wie ich's will. Was ich nicht verstehe ist folgendes:

    bei diesem
    Code:
    void zehn_ms_rechts_rotieren(void)
    {
      currentMillis = millis();
      servo_mitte();
      if (currentMillis - previousMillis > dauer_fahrt)
      {
    
        Serial.println("zehn ms rechts rotieren");
        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(BACKWARD);
        motor_vr->run(BACKWARD);
        motor_vl->run(FORWARD);
    
        dauer_fahrt = 10;
    
      }
    }
    
    
    void halbe_sec_rechts_rotieren(void)
    {
      currentMillis = millis();
      servo_mitte();
      if (currentMillis - previousMillis > dauer_fahrt)
      {
    
        Serial.println("halbe sec rechts rotieren");
        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(BACKWARD);
        motor_vr->run(BACKWARD);
        motor_vl->run(FORWARD);
    
        dauer_fahrt = 500;
    
      }
    }
    
    void zwei_sec_rechts_rotieren(void)
    {
      currentMillis = millis();
      servo_mitte();
      if (currentMillis - previousMillis > dauer_fahrt)
      {
    
        Serial.println("zwei sec rechts rotieren");
        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(BACKWARD);
        motor_vr->run(BACKWARD);
        motor_vl->run(FORWARD);
    
        dauer_fahrt = 2000;
    
      }
    }
    wobei die richtungsangaben hier nur als beispiel zu sehen sind. Aufgerufen wird das hiermit:
    Code:
      zwei_sec_links_rotieren();
      delay(500);
      zwei_sec_links_schieben();
      delay(500);
      zwei_sec_rueckwaerts();
      delay(500);
      zwei_sec_rechts_schieben();
      delay(500);
      zwei_sec_vorwaerts();
      delay(500);
    
      encoder_auslesen();
      Serial.println(out_s);
    was mich wundert ist, dass die einzelnen bewegungen, egal ob ich nun 10ms, eine halbe sekunde, oder 2 sec wähle fast gleich lang dauern. Hängt das womöglich mit den ganzen servo und printbefehlen in den funktionen zusammen?
    gruß inka

  2. #2
    Erfahrener Benutzer Robotik Einstein Avatar von Rabenauge
    Registriert seit
    13.10.2007
    Ort
    Osterzgebirge
    Alter
    56
    Beiträge
    2.213
    Wenn du das _so_ lösen willst, wirst du eher ne while()-Schleife brauchen.
    Der prüft in deinem Beispiel einmal, ob die Bedingung wahr ist, schaltet dann die Motoren kurz entsprechend und ist aus der Schleife wieder raus.
    Vermutlich sorgt dann dein delay(500) im anderen Programmteil dafür, dass die halt ne halbe Sekunde lang so bleiben, wie sie eingeschalten wurden.


    Allerdings frage ich mich, wieso du die Motoren zeitgesteuert handlen willst- warum nicht Ereignisgesteuert?
    Du hast doch Drehgeber- damit wird es wesentlich einfacher, z.B. Fahrwege zu berechnen, oder auch Kurvenradien.
    Zeitgesteuert wird das nie was...
    Grüssle, Sly
    ..dem Inschenör ist nix zu schwör..

Ä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
  •  

Solar Speicher und Akkus Tests