- Labornetzteil AliExpress    Werbung      
Ergebnis 1 bis 4 von 4

Thema: Mal wieder Asuro und die Taster

  1. #1
    Neuer Benutzer
    Registriert seit
    11.03.2006
    Beiträge
    3

    Mal wieder Asuro und die Taster

    Anzeige

    E-Bike
    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
    52
    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
    Neuer Benutzer
    Registriert seit
    11.03.2006
    Beiträge
    3
    Funktioniert leider immer noch nicht richtig. Bild  

    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
    Neuer Benutzer
    Registriert seit
    11.03.2006
    Beiträge
    3
    Jetzt funktionierts.
    Die Batterien warn schwach *schäm*.

Berechtigungen

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

    Werbung      LiFePO4 Speicher Test