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

Thema: Asuro mit IR Fernbedienung eines DVD Players/Beamers steuern

  1. #1
    Neuer Benutzer Öfters hier
    Registriert seit
    10.10.2005
    Alter
    37
    Beiträge
    5

    Asuro mit IR Fernbedienung eines DVD Players/Beamers steuern

    Anzeige

    Powerstation Test
    Hallo!

    Ich habe jetzt eine Steuerung programmiert die es mir ermöglicht den Asuro über den Ziffernblock bei der Tastatur fahren zulassen / zu steuern.

    Code:
    //////////////////////////////////////////////////////////////////////
    //																	//
    //   Programmiert von: Stefan Bösing								//
    //   Funktion des Programmes: Robotersteuerung über Ziffernblock	//
    //   Copyright 2005													//
    //   http://www.stebsi.com/asuro									//
    //																	//
    //////////////////////////////////////////////////////////////////////
    
    
    
    #include "asuro.h" 
    
    int main(void) 
    	{ 
    	
    	Init(); 
    	unsigned int i;
    	unsigned char j;
    	unsigned int speed;
    	char daten[] = "0";
    		
    		SerWrite("\rBin bereit zum Starten!\r",25);	
    		anfang:
    		StatusLED(GREEN);
    		SerRead(&daten[0],1,0);				// DATEN EMPFANGEN
    		if(daten[0] == '8') 					// Wenn 8 vorwärts
    			{ 
    			MotorDir(FWD,FWD); 
    			MotorSpeed(0xFF,0xFF);
    			SerWrite("\rVorwärts!\n\r",10);			
    			BackLED(OFF,OFF);
    			FrontLED(ON);
    			goto anfang;
    			}
    		if(daten[0] == '7') 					// Wenn 7 linkskurve
    			{ 
    			MotorDir(FWD,FWD); 
    			MotorSpeed(100,0xFF);
    			SerWrite("\rVorwärts links!\n\r",16);
    			BackLED(ON,OFF);
    			FrontLED(ON);
    			goto anfang;
    			}
    		if(daten[0] == '9') 					// Wenn 9 rechtskurve
    			{ 
    			MotorDir(FWD,FWD); 
    			MotorSpeed(0xFF,100);
    			SerWrite("\rVorwärts rechts!\n\r",17);
    			BackLED(OFF,ON);
    			FrontLED(ON);
    			goto anfang;
    			}		
    		if(daten[0] == '2')  					// Wenn 2 rückwärts
    			{ 
    			MotorDir(RWD,RWD);
    			MotorSpeed(0xFF,0xFF);
    			SerWrite("\rRückwärts!\n\r",11);
    			FrontLED(OFF);
    			BackLED(ON,ON);
    			goto anfang;
    			} 
    		if(daten[0] == '1') 					// Wenn 1 rückwärtslinks
    			{ 
    			MotorDir(RWD,RWD);
    			MotorSpeed(100,0xFF); 
    			SerWrite("\rRückwärts links!\n\r",17);
    			FrontLED(OFF);
    			BackLED(ON,OFF);
    			goto anfang;
    			} 
    		if(daten[0] == '3') 					// Wenn 3 rückwärtsrechts
    			{ 
    			MotorDir(RWD,RWD);
    			MotorSpeed(0xFF,100); 
    			SerWrite("\rRückwärts rechts!\n\r",18);
    			FrontLED(OFF);
    			BackLED(OFF,ON);
    			goto anfang;
    			} 
    		if(daten[0] == '4') 					// Wenn 4 nach links drehen
    			{ 
    			MotorDir(RWD,FWD);
    			MotorSpeed(125,125); 
    			SerWrite("\rDrehen links!\n\r",13);
    			FrontLED(OFF);
    			BackLED(ON,OFF);
    			goto anfang;
    			} 
    		if(daten[0] == '6') 	 				// Wenn 6 nach rechts drehen
    			{ 
    			MotorDir(FWD,RWD);
    			MotorSpeed(125,125); 
    			SerWrite("\rDrehen rechts!\n\r",15);
    			FrontLED(OFF);
    			BackLED(OFF,ON);
    			goto anfang;
    			} 
    		if(daten[0] == '5') 	 				// Wenn 5 stop
    			{ 
    			MotorDir(FWD,FWD);
    			MotorSpeed(0,0);
    			SerWrite("\rStop!\n\r",6);			
    			FrontLED(OFF);
    			BackLED(OFF,OFF);
    			goto anfang;
    			}
    		if(daten[0] == '-') 	 				// Wenn - langsamer
    			{ 
    			FrontLED(OFF);
    			BackLED(ON,ON);
    			SerWrite("\rBremsen!\n\r",9);
    			for (speed = 0xFF; speed > 0; speed --) {
    				for (i = 0; i < 0x1FFF; i++)
    				for (j = 0; j < 0x1F; j++); 
    			MotorSpeed(speed,speed);
    			}
    
    			goto anfang;
    			}
    		if(daten[0] == '+') 	 				// Wenn + schneller
    			{ 
    			FrontLED(ON);
    			BackLED(OFF,OFF);
    			SerWrite("Beschleunige!\n\r",14);
    			for (speed = 0; speed < 0xFF; speed ++) {
    				for (i = 0; i < 0x1FFF; i++)
    				for (j = 0; j < 0x1F; j++); 
    			MotorSpeed(speed,speed);
    			}
    
    			goto anfang;
    			}
    return 0; 
    }

    Nun möchte ich den Roboter gerne mit einer Fernbedienung (eines DVD-Players oder eines Beamers oder ähnliches) steuern.

    Wenn ich auf der einen Fernbedienung die Taste für oben drücke gibt mir Hyperterminal folgendes aus:

    Code:
    €]UUUUÕuUUÝ]Wu
    Ich möchte das der Asuro jetzt nach vorne fährt.

    versuche mit:

    Code:
    		SerRead(&daten[0],14,0);				// DATEN EMPFANGEN
    		if(daten[0] == '€]UUUUÕuUUÝ]Wu') 					// Wenn €]UUUUÕuUUÝ]Wu (oben) dann vorwärts
    			{ 
    			MotorDir(FWD,FWD); 
    			MotorSpeed(0xFF,0xFF);
    			SerWrite("\rVorwärts!\n\r",10);			
    			BackLED(OFF,OFF);
    			FrontLED(ON);
    			goto anfang;
    			}
    sind gescheitert.

    In anderen Themen zur ASURO Fernbedienung habe ich gelesen das man da einen umsetzer benötigt. Nur bin ich daraus nicht wirklich schlau geworden was gemeint ist.

    Dann habe ich noch was gelesen mit der RC5 Daten, aber was ich da machen muss weiß ich auch nicht.

    Viele Grüße
    Stefan

  2. #2
    Neuer Benutzer Öfters hier
    Registriert seit
    10.10.2005
    Ort
    Mainz
    Beiträge
    27
    da hast du dir ja gut was vorgenommen.

    ich bin mir aber nicht sicher ob man das so über die fernbedienung regeln kann....
    eventuell ist das signal zu schwach.

    aber ich überleg nochmal...

  3. #3
    Benutzer Stammmitglied
    Registriert seit
    25.08.2005
    Ort
    Berlin
    Beiträge
    53
    Hallo Stebsi,

    der IR-Code von Deiner Fernbedienung muss noch angepasst werden. Wenn Du die Tasten auf der DVD Bedienung betätigst (mehrmals am besten) wird der HEX Wert auf dem HT ausgegeben. Der Wert ist dann in der IRDemo.c
    unter

    #define DIARWD 0xB44B
    #define DIAFWD 0xB54A
    #define DIALEFT 0xF40B
    #define DIARIGHT 0xF708
    #define DIASTOP 0xB649

    anzupassen. Grund des scheiterns die Daten werden anders gelesen als gedacht. Stichwort Toggelbits!!

    Gruss Winne
    Angehängte Dateien Angehängte Dateien

  4. #4
    Neuer Benutzer Öfters hier
    Registriert seit
    10.10.2005
    Alter
    37
    Beiträge
    5
    Die Fernbedienung kann ich nicht anpassen.
    Die ist fertig von Panasonic =) Da kann ich nichts ändern.

    Das Einzige was ich da ausgegeben kriege sind andere Zeichenfolgen:
    z.B. auch noch "ÛûÛû" und ähnliches.

  5. #5
    Benutzer Stammmitglied
    Registriert seit
    25.08.2005
    Ort
    Berlin
    Beiträge
    53
    Sorry, wenn ich mich nicht klar ausgedrückt habe. Ich meinte eingentlich das der Code im IRDemo.c angepasst werden soll.

  6. #6
    Neuer Benutzer Öfters hier
    Registriert seit
    10.10.2005
    Alter
    37
    Beiträge
    5
    Nicht schlimm, ok

    muss da dieses "ÛûÛû" rein???

  7. #7
    Benutzer Stammmitglied
    Registriert seit
    25.08.2005
    Ort
    Berlin
    Beiträge
    53
    nein, es wird z.B. der Wert B44B angezeigt im Hyperterminal ausgegeben. Das ist dann einzutragen. ( #define DIARWD 0xB44B )
    Übertrage mal meine main.hex Datei in den Asuro und bentzte mal eine andere Fernbedienung, weil das nicht mit jeder funktioniert.
    Die Trägerfrequenz des Signals muss 36KHz betragen--> Sonst Müll. Der Code muss immer wieder der gleiche sein.

    Gruss Winne

  8. #8
    Neuer Benutzer
    Registriert seit
    03.12.2005
    Ort
    Kreuzlingen
    Alter
    58
    Beiträge
    2
    Diese Sache hat mich auch interesiert,
    Da gibt es jemand in Holland der solche sachen produziert hat. Aber die Website mit den downloads gibt's nicht mehr. (kann sie nicht finden) nur im Google cache sind noch spuren.
    Suche nach 'Henk van Winkoop Asuro'
    Das Program 13 wäre es. In einem anderen Forum wird ein Programm von ihm erwäht, das mittels der Motoren musik machen kann! (Prog 20)

  9. #9
    Neuer Benutzer Öfters hier
    Registriert seit
    10.11.2005
    Ort
    Burscheid
    Alter
    32
    Beiträge
    20
    könnt ihr auch son Programm für den RobbyRP5 entwerfen?(sowohl dieses 1. Steuerding, alsauch dieses Ir-"Rausfindprogramm") wär sehr net...ich bin etwas faul, krieg ne totale kriese, wenn etwas nicht so funst, wie ich es mir vorstelle ^^

    MFG
    Stefan

  10. #10
    Erfahrener Benutzer Robotik Einstein Avatar von Dirk
    Registriert seit
    30.04.2004
    Ort
    NRW
    Beiträge
    3.803

    IR-Fernbedienung für RP5

    Hallo Stefan,

    könnt ihr auch son Programm für den RobbyRP5 entwerfen?(sowohl dieses 1. Steuerding ...
    Gibt's schon: 9_EINFÜHRUNG_REMOTE_CONTROL2.bas

    ... als auch dieses Ir-"Rausfindprogramm")
    Gibt's schon: 2_ERWEITERUNG_LCD.bas

    Das erste Prog wird mit dem RP5 geliefert, das 2. gehört zu den Demos für die Basiserweiterung und braucht das LCD.

    Gruß Dirk

Seite 1 von 2 12 LetzteLetzte

Berechtigungen

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

12V Akku bauen