- 3D-Druck Einstieg und Tipps         
Seite 2 von 3 ErsteErste 123 LetzteLetzte
Ergebnis 11 bis 20 von 24

Thema: RP6 Terminal über PC ansprechen

  1. #11
    Anzeige

    LiFePo4 Akku selber bauen - Video
    aso... den ausdruck "strcmp" hab ich nicht gefunden. Aber die while schleife macht ja genau das was ich brauche.

    Hab jetzt nur das Problem das er irgendwie nicht zwischen den eingaben unterscheidet...
    Code:
    #include "RP6BaseServoLib.h"
    #include "RP6RobotBaseLib.h"
    
    int8_t deltaX = 0;
    int8_t deltaY = 0;
    char receiveBuffer[UART_RECEIVE_BUFFER_SIZE];
    
    
    uint8_t test = 0;
    
    void getCMD(void)
    {
    	receiveBytesToBuffer(1, &receiveBuffer[0]);
    	
    	test = receiveBuffer[0] - 48;
    	
    	if(receiveBuffer[0] == '0')
    		{
    			deltaX = deltaX;deltaY = deltaY;
    		}
    	else if(receiveBuffer[0] == 'w')
    		{
    			deltaX++;
    		}
    	else if(receiveBuffer[0] == 's')
    		{
    			deltaX--;
    		}
    	else if(receiveBuffer[0] == 'a')
    		{
    			deltaY++;
    		}
    	else if(receiveBuffer[0] == 'd')
    		{
    			deltaY--;
    		}
    
    
    }
    
    int main(void)
    {
       initRobotBase();
       
       writeString_P("\n\n   _______________________\n");
       writeString_P("   \\| RP6  ROBOT SYSTEM |/\n");
       writeString_P("    \\_-_-_-_-_-_-_-_-_-_/\n\n");
    
       writeString_P("################\n");
       writeString_P("<<RP6     Base>>\n");
       writeString_P(" Servo - Test 1 \n");
       writeString_P("  Version 1.20  \n");
       writeString_P("################\n\n");
       mSleep(2500);
    
       setLEDs(0b111111);
       mSleep(500);
       powerON();
       
       initSERVO(SERVO1 | SERVO2);
    
         
       while(true) 
       {
       
       servo1_position = MIDDLE_POSITION+deltaX;
       servo2_position = MIDDLE_POSITION+deltaY;
    	
    	getCMD();
    	
          task_SERVO();
          task_RP6System();
    	  
    	  
       }
       return 0;
    }
    das test = receiveBuffer[0] - 48; hab ich der vollständigkeit halber übernommen.

  2. #12
    Erfahrener Benutzer Roboter Genie Avatar von SlyD
    Registriert seit
    27.11.2003
    Ort
    Paderborn
    Alter
    39
    Beiträge
    1.516
    Hallo,

    > den ausdruck "strcmp" hab ich nicht gefunden

    Suchfunktion von Texteditor?


    > das test = receiveBuffer[0] - 48; hab ich der
    > vollständigkeit halber übernommen.

    48 ist ASCII für 0
    Das ist nur für die Abfrage nach Zahlen von 0 bis 9 in dem switch case - brauchst Du also nicht.

    Hab leider keine Zeit deinen Code nachzuvollziehen / Fehler zu suchen da musst Du selbst testen woran das liegt.


    MfG,
    SlyD

  3. #13
    tja die eingebaute suchfunktion findet leider nix...
    werde mich aber schon irgendwie durchschlagen...
    Thx SlyD

  4. #14
    Erfahrener Benutzer Roboter Genie Avatar von SlyD
    Registriert seit
    27.11.2003
    Ort
    Paderborn
    Alter
    39
    Beiträge
    1.516
    > tja die eingebaute suchfunktion findet leider nix...

    Die Anführungszeichen hast Du aber hoffentlich weggelassen...

    z.B. Zeile 1003

  5. #15
    ja hab ich und bei zeile 1003 steht bei mir mSleep(500);.... hoffentlich reden wir beide von der gleichen datei
    ich habe RP6Base_SELFTEST.c offen

  6. #16
    Erfahrener Benutzer Roboter Genie Avatar von SlyD
    Registriert seit
    27.11.2003
    Ort
    Paderborn
    Alter
    39
    Beiträge
    1.516
    Vielleicht hast Du eine alte Version?
    Lad mal die aktuelle runter.

    Die stellen in dem Programm sind aber auch per durchscrollen und hinschauen sehr einfach zu finden - ein paar if-then-else konstrukte mit strcmp drin.


  7. #17
    Ok passt jetzt hab ich auch diese strcmp gefunden... dank der neuen version
    Bisher hat das Programm immer blockiert wenn es auf eine neue eingabe gewartet hat... hoffentlich lässt sich das damit irgendwie lösen..

    Gruß Biohazard

  8. #18

    RTS setzen mit Eigenschaftsknoten

    RTS kann man mit einem Eigenschaftsknoten jederzeit in LabVIEW setzen. Im Buch "Praxiseinstieg LabVIEW" ISBN 3772340393, ist auf Seite 192 ein Beispiel, wie man mit der RS232 Schnittstelle eine LED ansteuert. Ein, wie oben beschriebener Reset, müsste auf diese Weise möglich sein.

  9. #19
    Thx fritzyyy für die antwort aber ich hab es ehh gewusst wie ich RTS auf Low/High setzten konnte Toll zu sehen das auch noch andere mit LabView da draußen sind....
    Gruß Biohazard

  10. #20
    So die Ansteuerung funktioniert mal fürs erste...
    http://www.youtube.com/watch?v=rOhR0VNoDxY

    Hab sie mit einer Webcam über Labview gesteuert... noch gibt es "Kinderkrankheiten" aber die werden auch noch gelöst: Der Servo wird nicht ständig gepulst sondern nur wenn das Programm einen Befehl sendet; Der Servoarm ist eigentlich nie mit seiner Position zufrieden, deshalb umkreist er die Soll-Position auch bei Stillstand des Lasers.

    Bin für Wünsche, Anregungen und Beschwerden offen

    Gruß Biohazard

Seite 2 von 3 ErsteErste 123 LetzteLetzte

Berechtigungen

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

12V Akku bauen