Hi,
frag die Taster mal mehrmals ab. In dem Thread hier wurde das Thema gerade nochmal angesprochen. https://www.roboternetz.de/phpBB2/vi...1ed89532fbf552
Ich müchte den Asuro so Programmieren dass er wen ner gegen ein Hindernis gefahren ist wieder etwas zurückfährt und dann dereht.Doch der Asuro fährt von anfang ann imm Kreis. Worann ligt das??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; }
[schild=14 fontcolor=000000 shadowcolor=C0C0C0 shieldshadow=1]Roboter sind cool[/schild]
Hi,
frag die Taster mal mehrmals ab. In dem Thread hier wurde das Thema gerade nochmal angesprochen. https://www.roboternetz.de/phpBB2/vi...1ed89532fbf552
der code müsste so aussehen:
so das müsste funktionieren...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; }
Ja aber wenn ich zubeispiel das SchreibeDannn Funktionitonit das auch genau so wie es Funktionieren soll.Code:#include "asuro.h" int main(void){ Init(); while(1){ if(PollSwitch()==1){ StatusLED(RED); } else{StatusLED(GREEN);} } }
[schild=14 fontcolor=000000 shadowcolor=C0C0C0 shieldshadow=1]Roboter sind cool[/schild]
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]
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.
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]
Doppelpost entfernt...
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.
@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.
Lesezeichen