-         

Ergebnis 1 bis 3 von 3

Thema: Tasterempfindlichkeit von Asuro ?? Softwarefehler ?

  1. #1
    Neuer Benutzer
    Registriert seit
    07.09.2006
    Ort
    Konstanz
    Alter
    38
    Beiträge
    4

    Tasterempfindlichkeit von Asuro ?? Softwarefehler ?

    Anzeige

    SMARTPHONES & TABLETS-bis zu 77% RABATT-Kostenlose Lieferung-Aktuell | Cool | Unentbehrlich
    Hallo,

    hab soeben mein erstes eigenes Asuro-Programm fertiggestellt.
    Hab aber noch ein paar kleine Problemchen.

    Erste frage - wenn ich Asuro über den Seriellen IR-Programmer flashe,
    prüft der dann ob alles richtig ist, oder schreibt der einfach rein ?
    (nur mal so interessehalber)

    Mein Problem: Mein Asuro folgt der Software und fährt geradeaus.
    Bei kollision fährt er zurück und wendet, fährt dann geradeaus weiter.
    plötzlich fährt er aber wieder zurück (ohne kollison) - rein willkürlich.

    sind die taster sehr empfindlich ? (der boden ist uneben) oder ist das der kondensator ?

    hier mal mein code:

    Code:
    #include "asuro.h"
    
    
    int drive(void)
    {
    StatusLED(GREEN);
    MotorDir(FWD,FWD);
    MotorSpeed(140,140);
    }
    
    int crash(void)
    {
    	StatusLED(YELLOW);
    	MotorDir(RWD,RWD);
    	//MotorSpeed(80,120);
    	int i;
    	for (i=0; i<1000; i++)
    	{
    		Sleep(255);
    	}
    }
    
    int main(void)
    {
    	Init();
    	unsigned char taste;
    	
    	while (1)
    	{
    		
    		taste = PollSwitch();
    		SerWrite(taste,1);
    		if (taste == 0) {drive();}
    		else 
    		{crash();}
    	}
    	
    	
    	crash();
    	while(1);
    	return 0;
    }
    In der Haputschleife hab ich eine Funktion, die den Wert der Tasters
    seriell ausgeben soll. BEVOR diese funktion drin war, is er nur rückwärts gefahren. seit sie drin ist, fährt er vorwärts - was mir vollkommen unerklärlich ist....

    jemand ne idee ?

    vielen dank...

    grüsse,
    henning[/code]

  2. #2
    Neuer Benutzer
    Registriert seit
    07.09.2006
    Ort
    Konstanz
    Alter
    38
    Beiträge
    4
    Nachtrag:
    Wenn ich ihn frei in der Luft halte, tritt kein Problem auf. Kann ihn
    auch schütteln etc... nix.
    aber wenn ich eines der räder (egal welches) blockiere, geht er auch
    öfters in den rückwärtsgang.
    Reagiert der PollSwitch auch auf Radblockeirungen ? eher weniger, oder ?

    hmpff...

    viele grüsse,
    henning

  3. #3
    Moderator Robotik Visionär Avatar von radbruch
    Registriert seit
    27.12.2006
    Ort
    Stuttgart
    Alter
    54
    Beiträge
    5.783
    Blog-Einträge
    8
    Hallo

    Bei der Übertragung wird scheinbar blockweise auch eine Prüfsumme gebildet und übertragen. Das nach dem Speichern der Daten diese nochmals geprüft werden glaube ich nicht.

    Zur Fehlfunktion deines Programms:

    Die PollSwitch-Abfrage auf " gleich 0 " ist sehr unzuverlässig. Grundsätzlich sollten die Taster aber auch mit den richtigen Werten erkannt werden(1,2,4,8,16 und 32).

    Die Funktion SerWrite() erwartet einen String als ersten Parameter, du übergibst aber ein char. Ich bin zwar auch Neuling, habe aber inzwischen festgestellt, dass der asuro das schluckt, dann aber spinnt(vermutlich überschneidungen der Speicherbereiche).

    So liesen sich deine Erscheinungen erklären: Zuerst immer zurück weil PollSwitch() ungenau, dann vorwärts wegen Datentypenfehler.

    Vielleicht liege ich ja auch falsch..

    Zu deinem Nachtrag: Ja, der reagiert empfindlich, vor allem wenn die Taster-Abfrage noch nicht exakt "kalibriert" ist und dann noch der höhere Strom der am Boden höher belasteten Motoren dazu kommt.

    Gruß

    mic

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

Berechtigungen

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