- MultiPlus Wechselrichter Insel und Nulleinspeisung Conrad         
Seite 4 von 9 ErsteErste ... 23456 ... LetzteLetzte
Ergebnis 31 bis 40 von 81

Thema: SUMO ASURO ... eine Beschäftigung für Weihnachten

  1. #31
    Benutzer Stammmitglied
    Registriert seit
    04.01.2008
    Beiträge
    39
    Anzeige

    Praxistest und DIY Projekte
    Ich hab das jetz anstelle des Msleepeingesetz abber dann steht da 4 mal
    Test.c:**: error: expected ':', ','or ')' before numerik constant

  2. #32
    Benutzer Stammmitglied
    Registriert seit
    04.01.2008
    Beiträge
    39
    Und wen Ich Diesen Error anklicken fürt der mich immer in die zeile die den error verusacht und das ist die zeile mit:
    void Msleep(int dauer)
    Gruß
    Chief

  3. #33
    Moderator Robotik Visionär Avatar von radbruch
    Registriert seit
    27.12.2006
    Ort
    Stuttgart
    Alter
    62
    Beiträge
    5.799
    Blog-Einträge
    8
    Da hast du irgendwo noch ein : oder ein , oder eine ) vergessen. Poste doch mal den Bereich mit ein paar Zeilen davor und danach. Oder gleich alles...

    Gruß

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

  4. #34
    Benutzer Stammmitglied
    Registriert seit
    04.01.2008
    Beiträge
    39
    Ok :
    Code:
    #include "asuro.h"  
    
    #define LIMIT 20   // Helligkeitsveraenderung, bei der eine Linie detektiert wird 
    #define TIEFPASS 50 // grosser Wert=grosse Zeitkonstante 
    // globale Variablen 
    uint16_t HellLinks; 
    uint16_t HellRechts; 
    /************************************************************************* 
    
       uint8_t testhell() 
    
       testhell ermittelt die durchschnittliche Helligkeit der beiden 
       Linienphottransistoren mit Hilfe eines Tiefpassfilters. 
       Unterschreitet die Helligkeit schlagartig den tiefpassgefilterterten 
       Wert, wird ein Flag gesetzt. 
    
       Ausgabe: 
       testhell=0: keine Linie 
       Bit0= Linie links erkannt 
       Bit1= Linie rechts erkannt 
        Bit0+Bit1 Linie senkrecht 
    
    
    *************************************************************************/ 
    
    uint8_t testhell()
    {
       uint8_t ergebnis=0; 
       uint16_t lineData[2]; 
    
       LineData(lineData); 
       HellLinks=(HellLinks*TIEFPASS+lineData[0])/(TIEFPASS+1); 
       HellRechts=(HellRechts*TIEFPASS+lineData[1])/(TIEFPASS+1); 
       StatusLED(YELLOW); 
       if((lineData[0]+LIMIT)<(HellLinks)) ergebnis|=1;    
       if((lineData[1]+LIMIT)<(HellRechts)) ergebnis|=2;
       void Msleep(int 10);
    { 
       int z; 
       for(z=0;z<10;z++) Sleep(72); 
    } 
       return ergebnis; 
    }
    
    int main(void) 
    { 
       int n; 
    
       Init(); 
    
       StatusLED(RED); 
       FrontLED(ON); 
    
       // mittlere Helligkeit im Stand ermitteln 
       for(n=0;n<300;n++) 
       { 
          testhell(); 
       } 
       StatusLED(YELLOW); 
    
       MotorDir(FWD,FWD); 
       MotorSpeed(150,150); 
       while(1) 
       { 
          n=testhell(); 
           
          BackLED(n&0x01,n&0x02); 
          StatusLED(YELLOW); 
    
          if(n!=0) // Falls Linie erkannt, dann drehen und zurück 
          {          
             StatusLED(GREEN); 
             MotorDir(RWD,RWD); 
             MotorSpeed(150,100); 
             void Msleep(int 600);
    { 
       int z; 
       for(z=0;z<600;z++) Sleep(72); 
    } 
             MotorDir(RWD,FWD); 
             MotorSpeed(200,200); 
             void Msleep(int 600);
    { 
       int z; 
       for(z=0;z<600;z++) Sleep(72); 
    } 
             MotorDir(FWD,FWD); 
             MotorSpeed(150,150); 
          } 
    
          void Msleep(int 10) 
    { 
       int z; 
       for(z=0;z<10;z++) Sleep(72); 
    }
       } 
    
    } 
    /*************************************************************************** 
     *    
     *   2007 robo.fr (Nickname) , christoph(at)roboterclub-freiburg.de 
     * 
     *************************************************************************** 
     *   This program is free software; you can redistribute it and/or modify  * 
     *   it under the terms of the GNU General Public License as published by  * 
     *   the Free Software Foundation version 2 of the License,                * 
     *   If you extend the program please maintain the list of authors.        * 
     *   ( if there is no real name, the nick name has to be mentioned ) 
     *   If you want to use this software for commercial purposes and you      * 
     *   don't want to make it open source, please contact the authors for     * 
     *   licensing.                                                            * 
     ***************************************************************************/

  5. #35
    Moderator Robotik Visionär Avatar von radbruch
    Registriert seit
    27.12.2006
    Ort
    Stuttgart
    Alter
    62
    Beiträge
    5.799
    Blog-Einträge
    8
    Code:
    #include "asuro.h"
    
    #define LIMIT 20 // Helligkeitsveraenderung, bei der eine Linie detektiert wird
    #define TIEFPASS 50 // grosser Wert=grosse Zeitkonstante
    // globale Variablen
    uint16_t HellLinks;
    uint16_t HellRechts;
    /*************************************************************************
    
    uint8_t testhell()
    
    testhell ermittelt die durchschnittliche Helligkeit der beiden
    Linienphottransistoren mit Hilfe eines Tiefpassfilters.
    Unterschreitet die Helligkeit schlagartig den tiefpassgefilterterten
    Wert, wird ein Flag gesetzt.
    
    Ausgabe:
    testhell=0: keine Linie
    Bit0= Linie links erkannt
    Bit1= Linie rechts erkannt
    Bit0+Bit1 Linie senkrecht
    
    
    *************************************************************************/
    void Msleep(int dauer)
    {
    	int z;
    	for(z=0;z<dauer;z++) Sleep(72);
    }
    /*************************************************************************/
    unsigned char testhell(void)
    {
    	uint8_t ergebnis=0;
    	uint16_t lineData[2];
    
    	LineData(lineData);
    	HellLinks=(HellLinks*TIEFPASS+lineData[0])/(TIEFPASS+1);
    	HellRechts=(HellRechts*TIEFPASS+lineData[1])/(TIEFPASS+1);
    	StatusLED(YELLOW);
    	if((lineData[0]+LIMIT)<(HellLinks)) ergebnis|=1;
    	if((lineData[1]+LIMIT)<(HellRechts)) ergebnis|=2;
    
    	Msleep(10);
    	return ergebnis;
    }
    
    int main(void)
    {
    	int n;
    
    	Init();
    
    	StatusLED(RED);
    	FrontLED(ON);
    
    	// mittlere Helligkeit im Stand ermitteln
    	for(n=0;n<300;n++)
    	{
    		testhell();
    	}
    	StatusLED(YELLOW);
    
    	MotorDir(FWD,FWD);
    	MotorSpeed(150,150);
    	while(1)
    	{
    		n=testhell();
    
    		BackLED(n&0x01,n&0x02);
    		StatusLED(YELLOW);
    
    		if(n!=0) // Falls Linie erkannt, dann drehen und zurück
    		{
    			StatusLED(GREEN);
    			MotorDir(RWD,RWD);
    			MotorSpeed(150,100);
    
    			Msleep(600);
    
    			MotorDir(RWD,FWD);
    			MotorSpeed(200,200);
    
    			Msleep(600);
    
    			MotorDir(FWD,FWD);
    			MotorSpeed(150,150);
    		}
    
    		Msleep(10);
    	}
    	return(0);
    }
    /***************************************************************************
    *
    * 2007 robo.fr (Nickname) , christoph(at)roboterclub-freiburg.de
    *
    ***************************************************************************
    * This program is free software; you can redistribute it and/or modify *
    * it under the terms of the GNU General Public License as published by *
    * the Free Software Foundation version 2 of the License, *
    * If you extend the program please maintain the list of authors. *
    * ( if there is no real name, the nick name has to be mentioned )
    * If you want to use this software for commercial purposes and you *
    * don't want to make it open source, please contact the authors for *
    * licensing. *
    ***************************************************************************/
    Ich hoffe, es funzt jetzt.

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

  6. #36
    Benutzer Stammmitglied
    Registriert seit
    04.01.2008
    Beiträge
    39
    Danke es hat endlich funkionirt ich danke dir Für deine Große hilfe

    Gruß
    Chief 2

  7. #37
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    12.02.2006
    Beiträge
    459
    Hallo Chief2,

    damit das Ganze etwas einfacher wird, habe ich an dieser Stelle ein HEX-File abgelegt, damit man die Abstandserkennung sofort ausprobieren kann.

    Gruß,
    robo

  8. #38
    Benutzer Stammmitglied
    Registriert seit
    04.01.2008
    Beiträge
    39
    Hallo Robo.fr
    Danke Für das Programm Ich werd es sofort ausprobieren

    Gruß Chief 2

  9. #39
    Benutzer Stammmitglied
    Registriert seit
    04.01.2008
    Beiträge
    39
    Hallo alle zusammen
    ich hab mir so ein programm machen wollen das der asuro die becher aus dem ring schiebt abber das programm meldet immer den fehler:
    "test.c:207:error:expectet Identifiter or '(' before '{' token"
    wen ich es kompilieren möchete
    Hir ist das ProgrammDie zeile wo angeblich der Fehler liegt ist mit einen/***<<<***/makiert
    Code:
    #include "asuro.h"
    #include <stdlib.h>
    #define LIMIT 20 // Helligkeitsveraenderung, bei der eine Linie detektiert wird 
    #define TIEFPASS 50 // grosser Wert=grosse Zeitkonstante 
    // globale Variablen 
    uint16_t HellLinks; 
    uint16_t HellRechts; 
     
    void Msleep(int dauer) 
    { 
       int z; 
       for(z=0;z<dauer;z++) Sleep(72); 
    } 
    
    unsigned char testhell(void) 
    { 
       uint8_t ergebnis=0; 
       uint16_t lineData[2]; 
    
       LineData(lineData); 
       HellLinks=(HellLinks*TIEFPASS+lineData[0])/(TIEFPASS+1); 
       HellRechts=(HellRechts*TIEFPASS+lineData[1])/(TIEFPASS+1); 
       StatusLED(YELLOW); 
       if((lineData[0]+LIMIT)<(HellLinks)) ergebnis|=1; 
       if((lineData[1]+LIMIT)<(HellRechts)) ergebnis|=2; 
    
       Msleep(10); 
       return ergebnis; 
    } 
    
    int main(void)
    { 
       int n; 
    
       Init(); 
    
       StatusLED(RED); 
       FrontLED(ON); 
    
       // mittlere Helligkeit im Stand ermitteln 
       for(n=0;n<300;n++) 
       { 
          testhell(); 
       } 
       StatusLED(YELLOW); 
    
       MotorDir(FWD,FWD); 
       MotorSpeed(150,150); 
       while(1) 
       { 
          n=testhell(); 
    
          BackLED(n&0x01,n&0x02); 
          StatusLED(YELLOW); 
    
          if(n!=0) // Falls Linie erkannt, dann drehen und zurück 
          { 
             StatusLED(GREEN); 
             MotorDir(RWD,RWD); 
             MotorSpeed(150,100); 
    
             Msleep(600); 
    
             MotorDir(RWD,FWD); 
             MotorSpeed(200,200); 
    
             Msleep(600); 
    
             MotorDir(FWD,FWD); 
             MotorSpeed(150,150); 
          } 
    
          Msleep(10); 
       } 
       return(0); 
    }
    
    uint8_t objekt_sichtbar(uint8_t distance)
    {
    	uint16_t j,z;
    	
       	DDRD |= (1 << DDD1);   // Port D1 als Ausgang
       	PORTD &= ~(1 << PD1);   // PD1 auf LOW
    
    	OCR2  = 254-distance;   // wenn OCR2=0xFE dann Objekt sehr nahe 
    	z=0;
    	for(j=0;j<30;j++); // loop time: 5ms
    	{
    		if (PIND & (1 << PD0))z++;
    		Sleep(6); // 6*Sleep(6)=1ms
    	}
    	if (z>=29) return FALSE; // Objekt nicht gefunden
    	else return TRUE;
    }
    {
    	uint8_t k,n;                     /***<<<***/                     /***<<<***/                        /***<<<***/
    	 
    	k=255;
    	for(n=0;n<8;n++)
    	{
    	if (!objekt_sichtbar(n)) k=n; // solange kein Objekt, Distanz erhoehen
    	}  
    	return k;
    
       	uint8_t n;
       
       	Init();
    
       	while(1)
    	{
    	   	n=abstand();
    		StatusLED(OFF);
    	   	BackLED(OFF,OFF);
    	   		
    		if(n!=255)
    	   	{
    	   		if (n<6) MotorDir (FWD,FWD);MotorSpeed(220,220);
    	   		if (n<4) MotorDir (FWD,FWD);MotorSpeed(220,220);
    	   		if (n<3) MotorDir (FWD,FWD);MotorSpeed(220,220);
    	   		if (n<2) MotorDir (FWD,FWD);MotorSpeed(220,220);
    			Msleep(10);
    		}
    	}
    }

  10. #40
    Moderator Robotik Einstein Avatar von damaltor
    Registriert seit
    28.09.2006
    Ort
    Milda
    Alter
    38
    Beiträge
    4.066
    habe deinen doppelpost entfernt. bitte nur einmal klicken und dann warten!!

    du schliesst die funktion uint8_t objekt_sichtbar() mit einer schliessenden klammer }. danach öffnest du weider eine klammer { ohne einen funktionsnamen zu definieren.
    Read... or die.
    ff.mud.de:7600
    Bild hier  

Seite 4 von 9 ErsteErste ... 23456 ... LetzteLetzte

Berechtigungen

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

LiFePO4 Speicher Test