AlphaBot: Antriebsmotoren ansteuern: Unterschied zwischen den Versionen

Aus HSHL Mechatronik
Zur Navigation springen Zur Suche springen
Keine Bearbeitungszusammenfassung
Zeile 4: Zeile 4:
* Wir haben die Motoransteuerung geändert, so dass Alf ein Dreieck gefahren ist.
* Wir haben die Motoransteuerung geändert, so dass Alf ein Dreieck gefahren ist.
* Wir haben uns die Inkrementalgeber angeschaut und die Werte mit dem Demo <code>E13_Photo_Interrupter_Sensor</code> angezeigt.
* Wir haben uns die Inkrementalgeber angeschaut und die Werte mit dem Demo <code>E13_Photo_Interrupter_Sensor</code> angezeigt.
* Anschließend haben wir die Umdrehungen gezählt.
* Anschließend haben wir die Umdrehungen gezählt (<code>E14_Wheel_Encoders</code>).
* Wir haben den Radumfang berechnet: <math>U=\pi \cdot d = 3,14\cdot 6,4\,cm=20,1\,cm</math>.
* Wir haben den Radumfang berechnet: <math>U=\pi \cdot d = 3,14\cdot 6,4\,cm=20,1\,cm</math>.
* Einrichtung des <code>COM Ports</code> (s. Geräte-Manager).  
* Fazit: Drehen beider Räder um 360&thinsp;°, dann fährt der Roboter 20,1&thinsp;cm vorwärts.
* Einbindung der AlphaBot Instanz
* Ausprobieren der Beispiele <code>Beispiele\AlphaBot\E01_MotorenTest</code>


== Quelltext ==
== Quelltext ==

Version vom 31. März 2022, 12:51 Uhr

Autor: Prof. Dr.-Ing. Schneider

Inhalt des dritten Termins

  • Wir haben die Motoransteuerung geändert, so dass Alf ein Dreieck gefahren ist.
  • Wir haben uns die Inkrementalgeber angeschaut und die Werte mit dem Demo E13_Photo_Interrupter_Sensor angezeigt.
  • Anschließend haben wir die Umdrehungen gezählt (E14_Wheel_Encoders).
  • Wir haben den Radumfang berechnet: .
  • Fazit: Drehen beider Räder um 360 °, dann fährt der Roboter 20,1 cm vorwärts.

Quelltext

/* Deklaration */
#include "AlphaBot.h"                   // Arduino Bibliothek einbinden      

AlphaBot Alf = AlphaBot();              // Instanz des AphaBot wird erzeugt

//const byte GESCHWINDIGKEIT_u8 = 80;     // Geschw. wählbar: 0 - 255; Min: 80

void setup()
{
  // Wird einmalig beim Start ausgeführt
  Alf.SetSpeed(80);      // Geschw. setzen: 0 - 255
  Alf.Forward(1000);     // AlphaBot fährt für 1s mit beiden Motoren vorwärts
  Alf.Brake();           // AlphaBot bremst
  Serial.begin(9600);      // Serielle Übertragung mit 9600 Bit/s starten
  Serial.println("SETUP");
}

void loop()
{ 
  // Wird zyklisch ausgeführt
  delay(1000);            // 1s Warten
  Serial.println("Loop"); // Im Loop passiert nichts.
}


Hausaufgaben bis zum 3. Termin

  1. Fahre 1s geradeaus.
  2. Drehe den AlphaBot um 90° nach rechts.
  3. Wiederhole die Sequenz 4x, so dass der AlphaBot ein Quadrat fährt.

Musterlösung


→ zurück zum Hauptartikel: Projekt Alf