AlphaBot: Verzweigung: Unterschied zwischen den Versionen

Aus HSHL Mechatronik
Zur Navigation springen Zur Suche springen
 
(3 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 2: Zeile 2:


== Inhalt des vierten Termins ==
== Inhalt des vierten Termins ==
* Wir haben die Motoransteuerung geändert, so dass Alf ein Dreieck gefahren ist.
* Wir haben die Motoransteuerung geändert, so dass Alf eine feste Strecke fährt.
* Wir haben uns die Inkrementalgeber angeschaut und die Werte mit dem Demo <code>E13_Photo_Interrupter_Sensor</code> angezeigt.
* Wir haben das Poti ausgelesen.
* Anschließend haben wir die Umdrehungen gezählt (<code>E14_Wheel_Encoders</code>).
* Wir haben den Servomotor mit den Potiwerten angesteuert.
* Wir haben den Radumfang berechnet: <math>U=\pi \cdot d = 3,14\cdot 6,4\,cm=20,1\,cm</math>.
* Fazit: Drehen beider Räder um 360&thinsp;°, dann fährt der Roboter 20,1&thinsp;cm vorwärts.


== Quelltext ==
== Quelltext ==
Zeile 40: Zeile 38:
-->
-->


== Hausaufgaben bis zum 4. Termin ==
== Hausaufgaben bis zum 5. Termin ==
Schaut Euch die Ansteuerung Eures Servos noch einmal an. Könnt Ihr den Ultraschall von ganz links bis ganz rechts drehen?
Schaut Euch die Ansteuerung Eures Servos noch einmal an. Könnt Ihr den Ultraschall in 1° Schritten von ganz links bis ganz rechts und wieder zurück drehen lassen?


== Musterlösung ==
== Musterlösung ==
* [[Hausaufgaben3_Tipp_1|Tipp 1]]
* [[Hausaufgaben4_Tipp_1|Tipp 1]]
* [[Hausaufgaben3_Tipp_2|Tipp 2]]
* [[Hausaufgaben4_Tipp_2|Tipp 2]]
* [[Hausaufgaben3_Lösung|Lösung]]
* [[Hausaufgaben4_Lösung|Lösung]]


----
----
→ zurück zum Hauptartikel: [[Projekt_Alf_–_Mobile_Robotik|Projekt Alf]]
→ zurück zum Hauptartikel: [[Projekt_Alf_–_Mobile_Robotik|Projekt Alf]]

Aktuelle Version vom 7. April 2022, 19:16 Uhr

Autor: Prof. Dr.-Ing. Schneider

Inhalt des vierten Termins

  • Wir haben die Motoransteuerung geändert, so dass Alf eine feste Strecke fährt.
  • Wir haben das Poti ausgelesen.
  • Wir haben den Servomotor mit den Potiwerten angesteuert.

Quelltext

  • E24_Servo_Knop


/* Bibliothek einbinden */
#include <Servo.h>

Servo usServo;  /* Erzeugt ein Servo Objekt, um den Servo des Ultraschall anzusteuern */

int AnalogPin_s16      = 0;  /* An Analogpin A0 ist das Poti angeschlossen    */
int PotiWert_s16       = 0;  /* Variable für die Stellung des Potis 0..676    */
int ServoStellung_s16  = 0;  /* Variable für die Stellung des Servos 0°..180° */

void setup() {               /* Einmalige Systeminitialisierung               */
  usServo.attach(9);         /* Verbindung der Servo mit einem Digitalpin     */
  Serial.begin(9600);        /* Init für serielle Ausgabe                     */
}

void loop() {                                            /* Main Schleife */
  PotiWert_s16 = analogRead(AnalogPin_s16);              /* Potistellung wird ausgelesen */ 
  Serial.println(PotiWert_s16);
  ServoStellung_s16 = map(PotiWert_s16, 0, 676, 0, 180); /* Die Stellung des Potis wird auf 0°..180° skapiert */
  usServo.write(ServoStellung_s16);                      /* Der Servo soll sich an die Position drehen */ 
  delay(15);                                             /* Wir warten 15ms, bis der Servo seine Position erreich hat */
}

-->

Hausaufgaben bis zum 5. Termin

Schaut Euch die Ansteuerung Eures Servos noch einmal an. Könnt Ihr den Ultraschall in 1° Schritten von ganz links bis ganz rechts und wieder zurück drehen lassen?

Musterlösung


→ zurück zum Hauptartikel: Projekt Alf