- 3D-Druck Einstieg und Tipps         
Ergebnis 1 bis 10 von 20

Thema: Asuro bluetooth

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Neuer Benutzer Öfters hier
    Registriert seit
    02.10.2012
    Beiträge
    12
    Ich habe das hier: Gyro Breakout - LISY300AL 300 °/sec
    und Das:ADXRS620 Breakout
    was soll ich am besten nehmen?

  2. #2
    Erfahrener Benutzer Roboter Genie Avatar von m.a.r.v.i.n
    Registriert seit
    24.07.2005
    Ort
    Berlin
    Beiträge
    1.247
    Hier würde ich den billigeren LISY300AL vorziehen. Dazu brauchst du dann aber noch einen kleinen (100mA) 3V o. 3.3V Low drop Spannungsregler. Der ADXRS620 läuft zwar mit 5V, aber der Asuro hat selbst keinen Spannungsregler. Die Versorgungsspannung schwankt deshalb zu sehr, nicht gut für solche Sensoren.

  3. #3
    Neuer Benutzer Öfters hier
    Registriert seit
    02.10.2012
    Beiträge
    12
    Hallo,
    ich hab mir für "3-Achsen Gyro L3G4200D Breakout" entschieden wegen dem digitalen Ausgang, mal sehen wie es mit dem Asuro passt???
    ich hoffe die 2 Achsen kann ich irgendwie deaktivieren!

  4. #4
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    01.03.2008
    Ort
    Niederlanden
    Beiträge
    1.170
    Ignorieren reicht. Nur 1er der 3 Achsen ist nicht wirklich nötig. Weil Asuro nicht so schnell auf seine Rücke rollt. Mit die 2te Achse könntest du Ihn balancieren lassen auf seine Rädern. (Steigern Achse) Aber dazu muss das Schwerpunkt weiter nach hinten. Zbs. durch ein 4xAA Akkublock (statt den 4xAAA) ganz hinter der Platine zu basteln.

    Mit die 3te Achse könntes du Richtungsänderungen bemerken und ausregeln mittels unterschiedliche Motor-starke.

  5. #5
    Neuer Benutzer Öfters hier
    Registriert seit
    02.10.2012
    Beiträge
    12
    Hallo,
    jetzt habe ich endlich die 2 Gyros (L3G4200D)bekommen , und kanns los gehen..
    ich weiss es aber nicht wie ich die richtig aufm Asuro einbauen kann, ich will nichts riskieren die Teile sind nicht gerade billig.
    Klicke auf die Grafik für eine größere Ansicht

Name:	gyro1.jpg
Hits:	7
Größe:	63,3 KB
ID:	23592Klicke auf die Grafik für eine größere Ansicht

Name:	gyro1.jpg
Hits:	7
Größe:	63,3 KB
ID:	23592
    Mit bestem Dank

  6. #6
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    01.03.2008
    Ort
    Niederlanden
    Beiträge
    1.170
    Zuche nach I2C und Asuro. Leider ist die Hardware I2C Schnitstelle im Atmega8 chip schon durch den Tastermessung und Batteriespannungmessung besetzt. Du muss dadurch mit den noch freie Pins an dem Liniensensor Stelle in Software die I2C communication simulieren. (Bit-banging) Das Buch "Mehr Spass mit Asuro, Band 2" erklärt ganz gut wie Asuro den LCD-erweiterung anspricht mittels I2C. Diesen Code wurde dich sicher helfen. Wie man genau mit diesen Gyros kommuniziert soll in deren Datasheet stehen.

    - - - Aktualisiert - - -

    Das sind diesen, richtig?

    http://www.pololu.com/catalog/product/1272

  7. #7
    Neuer Benutzer Öfters hier
    Registriert seit
    02.10.2012
    Beiträge
    12
    danke
    ja das ist das Gyro, das ich habe.
    ich muss mir das Buch besorgen dann gucke ich mal..

  8. #8
    Neuer Benutzer Öfters hier
    Registriert seit
    02.10.2012
    Beiträge
    12
    Danke für deine Antwort,
    ich habe jetzt zwei programme geschrieben ,allerdings ohne gyro und ich weiss nicht genau wie und was ich integrieren kann um die Daten vom Gyro auszulesen und zum andern Asuro zu senden ??
    //Der Master-ASURO soll nach dem Einschalten einen Meter vor und zurückfahren und sendet ständig das Signal an den Slave-ASURO. Wenn der ASURO-Slave in der Nähe(im Piconetz) ist, dann kann er das Signal empfangen und dreht sich im Kreis. Sobald der Master ausgeht oder nicht mehr in Reichweite ist, stoppt der ASURO-Slave sich bewegen und macht nach zwei Sekunden macht er eine Halbkreis Drehung und bleibt dann Stehen. Der Programmablauf wiederholt sich wenn man den ASURO-Master wieder eingeschalte//

    Das Programmteil für den ASURO-Master:

    Code:
    #include "asuro.h"
    #include "myasuro.h"
    void fahren (
    int distance,
    int speed)
    {
    unsigned  long  enc_count;
    int   tot_count = 0;
    int   diff = 0;
    int   l_speed = speed, r_speed = speed;
    /* stop the motors until the direction is set */
    MotorSpeed (0, 0);
    /* if distance is NOT zero, then take this value to go ... */
    if (distance != 0)
    {
    /* calculate tics from mm */
    enc_count  = abs (distance) * 10000L;
        enc_count /= MY_GO_ENC_COUNT_VALUE;
        if (distance < 0)
          MotorDir (RWD, RWD);
        else
          MotorDir (FWD, FWD);
      }
      EncoderSet (0, 0);
      /* now start the machine */
      MotorSpeed (l_speed, r_speed);
      while (tot_count < enc_count)
      {
    	SerPrint("C\n\r");
        tot_count += encoder [LEFT];
        diff = encoder [LEFT] - encoder [RIGHT];
        if (diff > 0)
        { /* Left faster than right */
          if ((l_speed > speed) || (r_speed > 244))
            l_speed -= 10;
          else
            r_speed += 10;
        }
        if (diff < 0)
        { /* Right faster than left */
          if ((r_speed > speed) || (l_speed > 244))
            r_speed -= 10;
          else
            l_speed += 10;
        }
        /* reset encoder */
        EncoderSet (0, 0);
        MotorSpeed (l_speed, r_speed);
        Msleep (1);
      }
      MotorDir (BREAK, BREAK);
      }
    void fahren2 (
      int distance,
        int speed)
    {
      unsigned  long  enc_count;
                int   tot_count = 0;
                int   diff = 0;
                int   l_speed = speed, r_speed = speed;
      /* stop the motors until the direction is set */
      MotorSpeed (0, 0);
      /* if distance is NOT zero, then take this value to go ... */
      if (distance != 0)
      {
        /* calculate tics from mm */
        enc_count  = abs (distance) * 10000L;
        enc_count /= MY_GO_ENC_COUNT_VALUE;
        if (distance < 0)
          MotorDir (RWD, RWD);
        else
          MotorDir (FWD, FWD);
      }
      /* ... else take the value degree for a turn */
      else
      {
        /*  calculate tics from degree */
        enc_count  = abs (degree) * MY_TURN_ENC_COUNT_VALUE;
        enc_count /= 360L;
    
        if (degree < 0)
          MotorDir (RWD, FWD);
        else
          MotorDir (FWD, RWD);
      }
      /* reset encoder */
      EncoderSet (0, 0);
      /* now start the machine */
      MotorSpeed (l_speed, r_speed);
      while (tot_count < enc_count)
      {
    	SerPrint("V\n\r");
        tot_count += encoder [LEFT];
        diff = encoder [LEFT] - encoder [RIGHT];
    
        if (diff > 0)
        { /* Left faster than right */
          if ((l_speed > speed) || (r_speed > 244))
            l_speed -= 10;
          else
            r_speed += 10;
        }
        if (diff < 0)
        { /* Right faster than left */
          if ((r_speed > speed) || (l_speed > 244))
            r_speed -= 10;
          else
            l_speed += 10;
        }
        /* reset encoder */
        EncoderSet (0, 0);
        MotorSpeed (l_speed, r_speed);
        Msleep (1);
      }
      MotorDir (BREAK, BREAK);
      }
    int main (void)
    {
    	Init();
    	EncoderInit();
               unsigned char senden, abfang;
    	unsigned char taste, taste2;
    	int i = 0;
    	senden = 0;	 // sende-Variable auf null setzen
    	while(1) {
    		fahren(1000,0,180);
    		fahren2(-1000,0,180);
    		Msleep(200);
    	}
    	return 0;
    }

    Das Programm für den ASURO -Slave:

    Code:
    #include "asuro.h"
    #include "myasuro.h"
    void rechts (
    int distance,
    int degree,
    int speed)
    {
    unsigned  long  enc_count;
    int   tot_count = 0;
    int   diff = 0;
    int   l_speed = speed, r_speed = speed;
    /* stop the motors until the direction is set */
    MotorSpeed (0, 0);
    /* if distance is NOT zero, then take this value to go ... */
    if (distance != 0)
    {
    /* calculate tics from mm */
    enc_count  = abs (distance) * 10000L;
    enc_count /= MY_GO_ENC_COUNT_VALUE;
    
    if (distance < 0)
    MotorDir (RWD, RWD);
    else
    MotorDir (FWD, FWD);
    }
    /* ... else take the value degree for a turn */
    else
    {
    /*  calculate tics from degree */
    enc_count  = abs (degree) * MY_TURN_ENC_COUNT_VALUE;
    enc_count /= 360L;
    
    if (degree < 0)
          MotorDir (RWD, FWD);
        else
          MotorDir (FWD, RWD);
      }
      /* reset encoder */
      EncoderSet (0, 0);
      /* now start the machine */
      MotorSpeed (l_speed, r_speed);
      while (tot_count < enc_count)
      {
    	tot_count += encoder [LEFT];
        diff = encoder [LEFT] - encoder [RIGHT];
        if (diff > 0)
        { /* Left faster than right */
          if ((l_speed > speed) || (r_speed > 244))
            l_speed -= 10;
          else
            r_speed += 10;
        }
        if (diff < 0)
        { /* Right faster than left */
          if ((r_speed > speed) || (l_speed > 244))
            r_speed -= 10;
          else
            l_speed += 10;
        }
        /* reset encoder */
        EncoderSet (0, 0);
        MotorSpeed (l_speed, r_speed);
        //Msleep (1);
      }
    }
    
    int main (void)
    {
    	Init();
    	EncoderInit();
    	unsigned char senden;
    	while(1)
    	{
    		SerRead(&senden, 1,0);		// ein Zeichen empfangen
    		
    		if(senden == 'C'){
    			GoTurn(0,360,150);
    			BackLED(ON,ON);
    		}
    		else if(senden == 'V'){
    			GoTurn(0,-360,150);
    			BackLED(OFF,OFF);
    			StatusLED(YELLOW);
    		}
    	}		
    	return 0;
    }
    Geändert von radbruch (23.11.2012 um 11:07 Uhr) Grund: [Code]-Tags eingefügt

  9. #9
    Neuer Benutzer Öfters hier
    Registriert seit
    02.10.2012
    Beiträge
    12
    hallo,
    ich flashe mein prog auf atmel atmega8 aber Asuro macht immer das Selbe, egal was ich mache.
    woran kann das liegen??

Ähnliche Themen

  1. Fußball Asuro mit bluetooth
    Von arabellion im Forum Asuro
    Antworten: 7
    Letzter Beitrag: 19.12.2011, 08:58
  2. [GELÖST] - Erweiterung für Bluetooth - Asuro
    Von pinsel120866 im Forum Asuro
    Antworten: 12
    Letzter Beitrag: 06.10.2008, 21:46
  3. Asuro und Bluetooth-Webcam
    Von Tigger88 im Forum Asuro
    Antworten: 1
    Letzter Beitrag: 28.10.2007, 15:17
  4. Asuro Bluetooth Funkverbindung
    Von robo.fr im Forum Asuro
    Antworten: 6
    Letzter Beitrag: 13.07.2007, 15:31
  5. help on bluetooth asuro project!
    Von xxx666 im Forum Asuro
    Antworten: 6
    Letzter Beitrag: 30.12.2006, 12:27

Berechtigungen

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

Solar Speicher und Akkus Tests