-         

Ergebnis 1 bis 3 von 3

Thema: Servoansteuerung über SCL/ SDA

  1. #1
    Neuer Benutzer Öfters hier
    Registriert seit
    02.08.2010
    Beiträge
    15

    Servoansteuerung über SCL/ SDA

    Anzeige

    Hallo,
    ich bin grad an einem größeren Projekt und scheiter leider gerade beim Ansteuern von 2 meiner 3 Servos.
    Über den ADC0 funktioniert es gut, aber über die SCL und SDA Ausgänge wills nicht klappen.
    Ich hab die Lib schon entsprechend umgeändert, hier mein Programm:
    Code:
    void acsStateChanged(void)
      {
        if(obstacle_left)
          rotate(80, RIGHT, 50, true);
        if(obstacle_right)
          rotate(80, LEFT, 50, true);
        if(obstacle_right && obstacle_left)
          rotate(60, RIGHT, 100, true);
        }  
    void bumpersStateChanged(void)
    {
        if(bumper_left || bumper_right) 
        {
            changeDirection(BWD);
            move(100, BWD, DIST_MM(200), true);
            rotate(50, RIGHT, 120, true);
           
            
        }
    }
    
    int main(void)
    {
      static unsigned int    counter = 0;
      static char            position = 0;
      
        
      initRobotBase();
      PositionServo(0,POSITION_MITTE);
      PositionServo(1,POSITION_MITTE);
      PositionServo(2,POSITION_MITTE);
      DDRA |= 1;
      DDRC |= 3;
      setLEDs(0b111111);
      mSleep(500);
      setLEDs(0b001001);
      BUMPERS_setStateChangedHandler(bumpersStateChanged);
      ACS_setStateChangedHandler(acsStateChanged);
      powerON();
      setACSPwrMed();
       
      while(true)
      {
        task_RP6System();
        changeDirection(FWD);
        moveAtSpeed(80,80); 
    
        counter = counter + 1;
        if (counter > 40000)
        {
            counter = 0;
            if(position > 3)
            {
                position = 0;
            }
            switch(position)
            {
                case 0:        PositionServo(0,7);
                            PositionServo(1,7);
                            PositionServo(2,7);
                            break;
                case 1:        PositionServo(0,23);
                            PositionServo(1,23);
                            PositionServo(2,23);
                            break;
                case 2:        PositionServo(0,7);
                            PositionServo(1,7);
                            PositionServo(2,7);
                            break;
                case 3:        PositionServo(0,23);
                            PositionServo(1,23);
                            PositionServo(2,23);
                            break;
                
    
                default:    PositionServo(0,POSITION_MITTE);
                            PositionServo(1,POSITION_MITTE);
                            PositionServo(2,POSITION_MITTE);
                            break;
            }        
            position = position + 1;
        }
      }
      return 0;
    }
    Vielen Dank

  2. #2
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    22.06.2009
    Beiträge
    1.266
    Du musst eventuell beachten, dass die SDA / SCL Pins bereits für den I2C Bus in der Lib initialisiert werden. Es wäre auch noch ganz gut wenn du uns die PositionServo - Funktion zeigen könntest

  3. #3
    Neuer Benutzer Öfters hier
    Registriert seit
    02.08.2010
    Beiträge
    15
    Danke, hat sich erledigt.
    Der eine Servo hat gegen den maximal Ausschlag wegen falschen Werten gedrückt und so dem andern die Spannung geklaut

Ähnliche Themen

  1. Servoansteuerung
    Von Gremlin im Forum PIC Controller
    Antworten: 1
    Letzter Beitrag: 29.09.2011, 22:07
  2. Servoansteuerung
    Von sp33dy im Forum Allgemeines zum Thema Roboter / Modellbau
    Antworten: 1
    Letzter Beitrag: 07.01.2010, 19:24
  3. Servoansteuerung...
    Von Quattro im Forum Elektronik
    Antworten: 5
    Letzter Beitrag: 24.09.2007, 20:50
  4. Servoansteuerung von PC nach SD21 über Java
    Von Morbius im Forum PC-, Pocket PC, Tablet PC, Smartphone oder Notebook
    Antworten: 16
    Letzter Beitrag: 17.03.2005, 14:52
  5. Servoansteuerung von PC nach SD21 über Java
    Von Morbius im Forum PC-, Pocket PC, Tablet PC, Smartphone oder Notebook
    Antworten: 3
    Letzter Beitrag: 05.03.2005, 21:50

Berechtigungen

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