-         

Ergebnis 1 bis 4 von 4

Thema: Mal wieder Asuro und die Taster

  1. #1

    Mal wieder Asuro und die Taster

    Anzeige

    SMARTPHONES & TABLETS-bis zu 77% RABATT-Kostenlose Lieferung-Aktuell | Cool | Unentbehrlich
    Hallo bin neu hier im Forum und habe folgendes Problem:

    Bei laufendem Motor geben die Taster ständig 1 zurück.

    Ich benutze folgendes, hier im Forum gefundenes, Testprogramm:

    Code:
    #include "asuro.h"
    #include <stdio.h>
    #include <string.h>
    
    int main(void)
    {
      unsigned char sw_event;
      char comment[10];
    
      Init();
    		MotorDir(FWD,FWD);
    		MotorSpeed(200,200);
      StatusLED(GREEN);
    	
      SerWrite("Hau auf die Taster\r\n", 20);
    
      while(1){
        sw_event = PollSwitch();
        if (sw_event > 0){
          (void)sprintf(comment, "%i\n\r", sw_event);
          SerWrite(comment, strlen(comment));
        }
        /*    
        if(sw_event & 0x01) SerWrite("S 6\r\n",5);
        if(sw_event & 0x02) SerWrite("S 5\r\n",5);
        if(sw_event & 0x04) SerWrite("S 4\r\n",5);
        if(sw_event & 0x08) SerWrite("S 3\r\n",5);
        if(sw_event & 0x10) SerWrite("S 2\r\n",5);
        if(sw_event & 0x20) SerWrite("S 1\r\n",5);
        */
      }
    
      return 0;
    }
    alles funktioniert wunderbar wenn der Motor nicht läuft.

    Habe auch schon versucht die sagenumwobene "63" zu ändern. Verhaut mir aber nur die Werte von K1 bis K3.

    Dank im voraus.

  2. #2
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    02.12.2004
    Ort
    München
    Alter
    44
    Beiträge
    198
    Hallo!

    Probier' doch mal die Taster drei Mal hintereinander auszulesen, zu vergelichen, und wenn alle drei mal das gleiche kommt, den Wert zu verwenden.

    CU, Robin

  3. #3
    Funktioniert leider immer noch nicht richtig.

    Asuro reagiert so als ob immer Taster 6 (also Rückgabewert 1) aktiviert wäre.

    Blockiere ich nun den rechten Motor reagiert Asuro als ob K5 gedrückt worden wäre (also Rückgabewert 2).

    Woran könnte es denn liegen?

    Falsche Batterien? Kalte Lötstellen?

    Fehler im Programm ?

    Code:
    #include "asuro.h"
    int main(void)
    {
    	int count;
    	Init();
    	
    while (1) 
    {
    int poltest1 = PollSwitch();
    int poltest2 = PollSwitch();
    int poltest3 = PollSwitch();
    
    if (poltest1 == poltest2 && poltest1 == poltest3) 
    	{
    	if (poltest1==0) /*Keine Kollision, volle Kraft nach vorn*/
    		{		
    		StatusLED(GREEN);
    		MotorDir(FWD,FWD);
    		MotorSpeed(220,220);
    		}
    	else if (poltest1==32) /*Hinderniss, vorne links*/
    		{
    		StatusLED(YELLOW);
    		BackLED(ON,OFF);
    		MotorDir(FWD,RWD);
    		MotorSpeed(200,150);
    		for(count=0;count<=100;count++) {Sleep(216);};
    		}
    	else if (poltest1==1) /*Hinderniss, vorne rechts*/
    		{
    		StatusLED(YELLOW);
    		BackLED(OFF,ON);
    		MotorDir(RWD,FWD);
    		MotorSpeed(150,200);
    		for(count=0;count<=100;count++) {Sleep(216);};
    		}
    	else if (poltest1==16) /*Hinderniss, mehr vorne, weniger links*/
    		{
    		StatusLED(GREEN);
    		BackLED(ON,OFF);
    		MotorDir(RWD,RWD);
    		MotorSpeed(100,200);
    		for(count=0;count<=100;count++) {Sleep(216);};
    		}
    	else if (poltest1==2) /*Hinderniss, mehr vorne, weniger rechts*/
    		{
    		StatusLED(GREEN);
    		BackLED(OFF,ON);
    		MotorDir(RWD,RWD);
    		MotorSpeed(200,100);
    		for(count=0;count<=100;count++) {Sleep(216);};
    		}
    	else if (poltest1==18) /*Hinderniss, vorne 90°, nach rechts abdrehen*/
    		{
    		StatusLED(YELLOW);
    		BackLED(ON,ON);
    		MotorDir(RWD,RWD);
    		MotorSpeed(200,170);
    		for(count=0;count<=200;count++) {Sleep(216);};
    		}
    	else
    		{
    		StatusLED(RED);
    		MotorDir(RWD,RWD);
    		MotorSpeed(170,170);
    		for(count=0;count<=150;count++) {Sleep(216);};
    		MotorDir(FWD,RWD);
    		MotorSpeed(170,170);
    		for(count=0;count<=25;count++) {Sleep(216);};
    		};
    	}
    else {BackLED(OFF,OFF);}
    	};	
    	return 0;
    }
    [/code]

  4. #4
    Jetzt funktionierts.
    Die Batterien warn schwach *schäm*.

Berechtigungen

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