Hausaufgaben7 Tipp 2: Unterschied zwischen den Versionen

Aus HSHL Mechatronik
Zur Navigation springen Zur Suche springen
(Die Seite wurde neu angelegt: „---- → zurück zum Hauptartikel: Termin 7: Ultraschall Notbremse“)
 
Keine Bearbeitungszusammenfassung
 
(Eine dazwischenliegende Version desselben Benutzers wird nicht angezeigt)
Zeile 1: Zeile 1:
Im zweiten Schritt wird die Funktion <code>dreheRobot</code> programmiert, die den Roboter in Richtung des Ziele dreht.
== Quelltext ==
<div style="width:1200px; height:300px; overflow:auto; border: 2px solid #088">
<pre>
void dreheRobot(int DrehWinkel_s16){ // Eingang Winkel in deg,
  /* Winkelbereich -90°..90° */
  int nPower = 90;  //
  int Delay_s16 = 0;
  if(DrehWinkel_s16<-90 || DrehWinkel_s16>90){
    Serial.println("ERROR: Winkel außerhalb des gültigen Bereichs.");
  }
  else{
                                        // Sollwinkel:
  Delay_s16=abs(DrehWinkel_s16)*40/9;    // Platzdrehung abwarten Power: 90, 400ms -> 90°
  Serial.print("Delay: ");
  Serial.print(Delay_s16);
  if (DrehWinkel_s16<0){               
    nPower = nPower*(-1);              // Winkel_s16<0: Rechtsdrehung
  }
  Alf.MotorRun(-nPower,+nPower);        // Alf Drehung
  delay(Delay_s16);                                                     
  Alf.Brake();
  Serial.print(" - Drehung: ");
  Serial.println(DrehWinkel_s16);
  }
}
</pre>
</div>
----
----
→ zurück zum Hauptartikel: [[AlphaBot:_Ultraschall_Notbremse|Termin 7: Ultraschall Notbremse]]
→ zurück zum Hauptartikel: [[AlphaBot:_Ultraschall_Notbremse|Termin 7: Ultraschall Notbremse]]

Aktuelle Version vom 8. Mai 2022, 14:44 Uhr

Im zweiten Schritt wird die Funktion dreheRobot programmiert, die den Roboter in Richtung des Ziele dreht.

Quelltext

void dreheRobot(int DrehWinkel_s16){ // Eingang Winkel in deg, 
  /* Winkelbereich -90°..90° */
  int nPower = 90;  //
  int Delay_s16 = 0;
  if(DrehWinkel_s16<-90 || DrehWinkel_s16>90){
    Serial.println("ERROR: Winkel außerhalb des gültigen Bereichs.");
  }
  else{
                                         // Sollwinkel: 
  Delay_s16=abs(DrehWinkel_s16)*40/9;    // Platzdrehung abwarten Power: 90, 400ms -> 90°
  Serial.print("Delay: ");
  Serial.print(Delay_s16);
  if (DrehWinkel_s16<0){                 
     nPower = nPower*(-1);               // Winkel_s16<0: Rechtsdrehung
  }
  Alf.MotorRun(-nPower,+nPower);         // Alf Drehung
  delay(Delay_s16);                                                       
  Alf.Brake();
  Serial.print(" - Drehung: ");
  Serial.println(DrehWinkel_s16);
  }
}



→ zurück zum Hauptartikel: Termin 7: Ultraschall Notbremse