-         

Ergebnis 1 bis 7 von 7

Thema: quadrate fahren und zählen

  1. #1
    Benutzer Stammmitglied
    Registriert seit
    30.10.2007
    Ort
    Meensen
    Alter
    28
    Beiträge
    77

    quadrate fahren und zählen

    Anzeige

    hallo, mein asuro kann im moment quadrate fahren und sollte eigentlich mitzählen wieviele.

    leider zählt er immer nur eins egal wieviele es waren. außerdem zählt er im moment nicht die quadrate, sondern die rechtskurven, also blinkt er 4 mal pro gefahrenes quadrat (zumindest sollte er es!)
    alles mit standart-libs geschrieben:

    Code:
    #include "asuro.h"
    #define taste (!(PINC & (1<<PC4))) // Tastenabfrage
    #define keine_taste (PINC & (1<<PC4))
    
    int i=0;
    int runde=0;
    
    void report(int anzahl)
    {
       int x;
       for(x=0;x<=anzahl;x++) 
       BackLED(ON,ON);
       MSleep(2000);
       BackLED(OFF,OFF);
       MSleep(2000);
         
    } 
    
    void MSleep(int dauer)
    {
       int z;
       for(z=0;z<dauer;z++) Sleep(36);
         
    } 
    
    int main(void) {
     
      Init();
      while(i==0)
      {
      MotorDir(FWD,FWD);
      MotorSpeed(160,160);
      StatusLED(GREEN);
      MSleep(3000);
      MotorSpeed(140,0);
      StatusLED(YELLOW);
      MSleep(1200); 
      runde++;
      while(taste){
         MotorSpeed(0,0);
         StatusLED(RED);
         i=1;
        }
      }
      report(runde);
      StatusLED(GREEN);
      
      while(1);
      return 0;
     }

  2. #2
    Moderator Robotik Visionär Avatar von radbruch
    Registriert seit
    27.12.2006
    Ort
    Stuttgart
    Alter
    54
    Beiträge
    5.781
    Blog-Einträge
    8
    Vielleicht so:
    Code:
    void report(int anzahl)
    {
       int x;
       for(x=0;x<=(anzahl/4);x++) // vier Ecken pro Quadrat
       {
    		BackLED(ON,ON);
       	MSleep(2000);
       	BackLED(OFF,OFF);
       	MSleep(2000);
    	}
    }
    Gruß

    mic

    Atmel’s products are not intended, authorized, or warranted for use
    as components in applications intended to support or sustain life!

  3. #3
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    30.09.2006
    Ort
    Hamburg
    Alter
    35
    Beiträge
    987
    hi Weti reicht net ein tehrat hir im forum für alles mit 50 einzelden ist des echt sch.....
    Legastheniker on Bord !

    http://www.Grautier.com - Projektseite
    http://www.grautier.com/wiki/doku.php?id=bt-index - BT-BUS

  4. #4
    Benutzer Stammmitglied
    Registriert seit
    30.10.2007
    Ort
    Meensen
    Alter
    28
    Beiträge
    77
    aber das problem ist ja nicht das durch 4 teilen, sondern das er immer nur einmal blinkt.

    was bedeutet tehrat, und was 50 einzelden?
    sorry theborg ich verstehe den post nicht...

  5. #5
    Erfahrener Benutzer Begeisterter Techniker Avatar von JensK
    Registriert seit
    27.02.2007
    Ort
    Hamburg
    Alter
    26
    Beiträge
    254
    ich glaub er meint thread :P hast du mehrere geöffnet? zu der gleichen frage? ich seh keine.

  6. #6
    Benutzer Stammmitglied
    Registriert seit
    30.10.2007
    Ort
    Meensen
    Alter
    28
    Beiträge
    77
    ja, hab mehrere offen, aber alle zu unterschiedlichen themen.

  7. #7
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    01.03.2008
    Ort
    Niederlanden
    Beiträge
    1.167
    Weiti:

    Schau mal an wie deiner For-Schleife und Radbruch's Schleife von einander abweichen (nicht das 4-division). Deine report function setzt die BackLED(ON,ON) X-mal. Und dan nur ein mal OFF bis ende.

Berechtigungen

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