- 12V Akku mit 280 Ah bauen         
Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 16

Thema: Asuro Fahrt nur Rückwärts. Porgrammierfeler???

  1. #1
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    30.11.2007
    Beiträge
    152

    Asuro Fahrt nur Rückwärts. Porgrammierfeler???

    Anzeige

    Praxistest und DIY Projekte
    Ich müchte den Asuro so Programmieren dass er wen ner gegen ein Hindernis gefahren ist wieder etwas zurückfährt und dann dereht.
    Code:
    #include "asuro.h"
    
    int main(void){
    	int c=0;
    	Init();
    	while(1){
    	unsigned char b; 
    	b=PollSwitch();
    	MotorDir(FWD,FWD);
    	MotorSpeed(120,120);
    	if (b>0){
    		MotorDir(RWD,RWD);
    		MotorSpeed(120,120);
    		c=0;
    		for(c=0;c<282;c++){
    		Sleep(255);
    		MotorDir(RWD,FWD);
    		MotorSpeed(120,120);
    		c=0;
    		for(c=0;c<282;c++){
    		Sleep(255);
    		}
    	}
    	}
    	MotorDir(FWD,FWD);
    	MotorSpeed(120,120);
    	}
    	return 0;
    	}
    Doch der Asuro fährt von anfang ann imm Kreis. Worann ligt das??
    [schild=14 fontcolor=000000 shadowcolor=C0C0C0 shieldshadow=1]Roboter sind cool[/schild]

  2. #2
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    26.11.2006
    Ort
    Hamburg
    Alter
    32
    Beiträge
    384
    Hi,

    frag die Taster mal mehrmals ab. In dem Thread hier wurde das Thema gerade nochmal angesprochen. https://www.roboternetz.de/phpBB2/vi...1ed89532fbf552

  3. #3
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    31.12.2007
    Beiträge
    131
    der code müsste so aussehen:
    Code:
    #include "asuro.h"
    
    int main(void){
       int c=0;
       unsigned char b;
       Init();
       while(1){
       PollSwitch();
       PollSwitch();
       PollSwitch();
       b=PollSwitch();
       MotorDir(FWD,FWD);
       MotorSpeed(120,120);
       if (b>0){
          MotorDir(RWD,RWD);
          MotorSpeed(120,120);
          c=0;
          for(c=0;c<282;c++){
          Sleep(255);
          MotorDir(RWD,FWD);
          MotorSpeed(120,120);
          c=0;
          for(c=0;c<282;c++){
          Sleep(255);
          }
       }
       }
       MotorDir(FWD,FWD);
       MotorSpeed(120,120);
       }
       return 0;
       }
    so das müsste funktionieren...

  4. #4
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    30.11.2007
    Beiträge
    152
    Ja aber wenn ich zubeispiel das Schreibe
    Code:
    #include "asuro.h"
    
    int main(void){
    	Init();
    	while(1){
    	if(PollSwitch()==1){
    	StatusLED(RED);
    	}
    	else{StatusLED(GREEN);}
    	}
    	}
    Dannn Funktionitonit das auch genau so wie es Funktionieren soll.
    [schild=14 fontcolor=000000 shadowcolor=C0C0C0 shieldshadow=1]Roboter sind cool[/schild]

  5. #5
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    30.11.2007
    Beiträge
    152
    Habe eben das Programm von Hansi 41 bei mir getestet doch der asuro dreht immer noch durchgehend. Fals es weiter hilft ich habe den C7 ausgelötet. Das soll PollSwitch feler vermeiden(habe ich ganz häfig hie im Forum gelesen).
    [schild=14 fontcolor=000000 shadowcolor=C0C0C0 shieldshadow=1]Roboter sind cool[/schild]

  6. #6
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    31.12.2007
    Beiträge
    131
    hmm, bei mir hat es funktioniert, allerdings habe ich noch meinem C7 drinnen, aber warte mal ic hhabe da was mal irgendwo geschriebén dazu, warte hier glaube ich ist es: (siehe: https://www.roboternetz.de/phpBB2/viewtopic.php?t=37613)
    hallo
    Betreff: warum ist C7 dann eingentlich überhaupt in der schaltung ???
    also C7 speichert, wenn keiner der taster gedrückt ist den strom vom 1-m-ohm widerstand R23.
    Weil aber nun aus C7 kein strom entnommen wird, erreicht dieser bald betriebspannung. Wenn aber nun einer der taster gedrückt ist, so bilden sie mit den jeweils angeschlossen widerständnen R24-R30 und mit R23 einen Spannungsteiler, sodass C7 entladen wird. Diese spannung interpretiert Pin PD3 als logische '0', wodurch ein interrupt ausgelöst werden kann[...].
    So das ist so inetwa das was die im Buch "Mehr Spaß mit ASURO" schreiben.

  7. #7
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    30.11.2007
    Beiträge
    152
    Die Beiträge kenne ich schon. Darum habe ich mich auch entschlossen den C7 ausZu löten. Aber das ist ja nicht das Thema meine Frage war Warumm mein Programm nicht Funktioniert und ich habe immer noch keine Antwort. wenn jemmand noch eine Idee Hat soll erdoch bitte damit Rausrücken.
    [schild=14 fontcolor=000000 shadowcolor=C0C0C0 shieldshadow=1]Roboter sind cool[/schild]

  8. #8
    Moderator Robotik Einstein Avatar von damaltor
    Registriert seit
    28.09.2006
    Ort
    Milda
    Alter
    38
    Beiträge
    4.064
    Doppelpost entfernt...
    Read... or die.
    ff.mud.de:7600
    Bild hier  

  9. #9
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    05.09.2007
    Beiträge
    168
    Bei meinem Kumpel lag es daran, dass der eine Taster defekt war.
    Nach dem er diesen defekt behoben hatte, funktioniert alles wieder normal.

    @Sim Robot:
    Schreib mal ein Programm, welches eine Verbindung zum HyperTerminal aufbaut und dann ausgibt, welcher Taster gedrückt worden ist.
    Dann kannst du ganz genau nachvollziehen, ob es einen Defekt auch bei dir gibt.

  10. #10
    Benutzer Stammmitglied
    Registriert seit
    24.10.2007
    Ort
    San Jose
    Beiträge
    43
    @H3llGhost so ein prog lade ich morgen hoch.Vieleicht Transistoren/Dioden falschgepolt od defekt??Ich hab das problem dass wen ich MotorDir(FWD,FWD); nehme fährt er rüchwärts.einfach (RWD,RWD); einsetztn schon funkts.

Seite 1 von 2 12 LetzteLetzte

Berechtigungen

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

Solar Speicher und Akkus Tests