- 3D-Druck Einstieg und Tipps         
Seite 2 von 2 ErsteErste 12
Ergebnis 11 bis 15 von 15

Thema: Asuro fahren programmiert durch Hyperterm

  1. #11
    Moderator Robotik Einstein Avatar von damaltor
    Registriert seit
    28.09.2006
    Ort
    Milda
    Alter
    38
    Beiträge
    4.066
    Anzeige

    Praxistest und DIY Projekte
    oberallgeier: kann das an zu geringer stromversorgung liegen? infrarot und motoren ist ganz schön viel...

    Theux: Halte den transceiver etwas höher =) bei mir sind knapp 1 m kein Problem.
    Read... or die.
    ff.mud.de:7600
    Bild hier  

  2. #12
    Erfahrener Benutzer Robotik Visionär Avatar von oberallgeier
    Registriert seit
    01.09.2007
    Ort
    Oberallgäu
    Beiträge
    8.693
    Hallo
    Zitat Zitat von damaltor
    oberallgeier: kann das an zu geringer stromversorgung liegen? ...
    Hast Du mir gestern über die Schulter geguckt!!? Das Terminal zeigte plötzlich lauter VL VL VL VL . . . darauf hin hatte ich die Lademaschine angeworfen.

    Und jetzt läuft er, der Asuro. Ich hatte ein Energieproblem
    Ciao sagt der JoeamBerg

  3. #13
    Moderator Robotik Einstein Avatar von damaltor
    Registriert seit
    28.09.2006
    Ort
    Milda
    Alter
    38
    Beiträge
    4.066
    Kannste mal sehen... =) Naja passiert. aber wenn es so einfach war ist doch alles gut.
    Read... or die.
    ff.mud.de:7600
    Bild hier  

  4. #14
    Benutzer Stammmitglied
    Registriert seit
    09.05.2007
    Beiträge
    99
    Ich habe das Herauskommen der neuen lib 2.7.1 zum Anlass und Übung genommen um damit Henks Programm mal als Quellcode nach zu vollziehen.
    Code:
    #include "asuro.h"
    
    #define MAX 50
    
    #define SPEED	10*reg[0]
    #define DIST	10*reg[1]
    
    void readLine(char *cmd, int max) {
    	unsigned char len=0;
    	char data;
    
    	while(len<max-1) {
    		SerRead(&data, 1, 0);
    		switch (data){
    			case 'k': // end of command sequence but first wait for any asuro key (change)
    				StatusLED(YELLOW);
    				PollSwitch();
    				max=PollSwitch();
    				while (PollSwitch()==max); // LOOP
    				// FALL THRU
    			case 'x': // end of command sequence
    				cmd[len++]=data;
    				max=len;
    				break;
    	  		case 'q':  // kills the entire input buffer
    				StatusLED(RED);
    				len=0;
    				break;
    			default:
    				cmd[len++]=data;
    				break;
    		}
    	}
    	cmd[len]=0;
    	StatusLED(GREEN);
    }
    
    void turtle(void) {
    	int reg[]={10, 20};
    	unsigned char i, r=0;
    	char cmd[MAX];
    	
    	EncoderInit();
    	
    	while(1) {
    		readLine(cmd, MAX);
    		for(i=0; cmd[i]; i++) {
    			switch(cmd[i]) {
    				case 's': r=0; reg[0]=0; break;
    				case 'd': r=1; reg[1]=0; break;
    				case '0': case '1': case '2': case '3': case '4':
    				case '5': case '6': case '7': case '8': case '9':
    					reg[r]=10*reg[r]+cmd[i]-'0';
    					break;
    				case 'l': Turn( -90, SPEED); break;
    				case 'r': Turn(  90, SPEED); break;
    				case 'L': Turn( -45, SPEED); break;
    				case 'R': Turn(  45, SPEED); break;
    				case 'e': Turn(-180, SPEED); break;
    				case 'i': Turn( 180, SPEED); break;
    				case 'f': Go( DIST, SPEED); break;
    				case 'b': Go(-DIST, SPEED); break;
    			}
    		}
    	}
    }
    
    int main(void) {
    	Init();
    	turtle();
    	return 0;
    }
    Ich hoffe, ich habe es damit im Wesentlichen getroffen Henk?

  5. #15
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    08.08.2004
    Ort
    Zwolle
    Alter
    68
    Beiträge
    531
    Hallo,

    >Ich hoffe, ich habe es damit im Wesentlichen getroffen

    Ja dass stimmt.

    Gruss,

    Henk

Seite 2 von 2 ErsteErste 12

Berechtigungen

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

12V Akku bauen