Forum: PC Hard- und Software hilfe serielleschnittstelle


von bello (Gast)


Lesenswert?

Hallo zusammen,
ich bin grad dabei ein system zu entwickeln, roboterarm muss objekte 
greifen.
die koord. wurden durch kamera in grabmodul gespeichert und durch 
serielleschnittstelle an der STR912FW44 weiter geleitet und dann zu 
Roboter.
das Arm greift jetzt die Objekte, die für die Kamera sichtbar sind, aber 
möchte jetzt wenn kein Objekt in der kamera sich befindet, dass das Arm 
ein Objekt in eine feste Position auserhalb greift habe vieles versucht 
aber geling mir das noch nicht kann mir jemand helfen wie ich das machen 
kann
danke für jede hilfe

von vielleicht so (Gast)


Lesenswert?

Den Arm in eine definierte Position fahren ?

von Wegstaben V. (wegstabenverbuchsler)


Lesenswert?

1.
warum machst du denn hier im Forum cross-postings?
Beitrag "serielleschnitstelle"
Glaubst du das bringt dir Bonuspunkte?


2.

> das Arm greift jetzt die Objekte, die für die Kamera sichtbar sind, aber
> möchte jetzt wenn kein Objekt in der kamera sich befindet, dass das Arm
> ein Objekt in eine feste Position auserhalb greift habe vieles versucht
> aber geling mir das noch nicht kann mir jemand helfen wie ich das machen

was genau gelingt dir denn nicht? Vielleicht solltest du erst mal 
lernen, Gedanken zu sortieren, und dich "auszudrücken", dann klappts 
auch mit dem programmieren besser ...



Als (Pseudo) Programm würde ich das so formulieren:

if (es befindet sich kein Objekt vor der kamera)
then
  fahre zu einer festen position außerhalb des Sichtbereichs
  greife zu
endif


oder was genau suchst du jetzt? einen speziellen Bibliotheksaufruf für 
eine nur dir bekannten Programmiersprache????

von bello (Gast)


Lesenswert?

danke für ihre antworte erstmal..

mein programm sieht so aus, und das Arm tut nur das was durch die 
serielle schnittstelle reinkommt (fals ein objekt in Kamera sich ist) 
sont tut gar nicht...
und was ich wissen wollte wie soll ich das machen, wenn durch 
serielleschnittstelle (getkey) nicht gesendet wird das das program 
andere Koord. an das Arm weiter leitet.




int main (void)


 {
init_serial();

  /*Visualisierungsport*/

  SCU->GPIOOUT[7]=0x5555;
  GPIO7->DDR        = 0xFF;     //  Alle Portpins auf Output
  GPIO7->DR[0xFF*4] = 0x00;  //Alle Portpins auf Input

 SCU->GPIOOUT[3]   = 0x0000;
  GPIO3->DDR        = 0x9F;          /* P3.0..7 Input (Push Buttons) 
*/

  /*Sprachmodulinput*/

  SCU->GPIOOUT[5]   = 0x0000;   //P5 Output Mode 0
  GPIO5->DDR        = 0x00;    //Alle Portpins auf Input


  while     (1)
  {

   while (InputStatus==0x00)  //solange kein Wort gesprochen wird,
   {
    GetInputStatus ();
   }
   OutputWert = InputStatus;

   sendchar (OutputWert)  ;

/*Handshaking: Sende Objektcode*/


   while (Variable!=a)

/*Handshaking: Wiederhole die While-Schleife so lange, bis a empfangen 
worden ist*/

   {
    Variable = getkey()  ;  //Der über ser. Schnittst empf. Wert
   }

   sendchar (b)  ;

   while (Koordx == 0x00)
   {        //in der Funktion getkey() gespeichert werden
    Koordx = getkey()  ;
   }

   sendchar (x);                 /*Handshaking*/

   while (Koordy == 0x00)
   {
    Koordy = getkey();

   }
 sendchar (Y);                   /*Handshaking*/

   decide ();
   execute();
   InputStatus=0x00;
   Koordx = 0x00;        //        Anfangswerte=0
   Koordy = 0x00;

  }
 }

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.