AlphaBot: Verzweigung: Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
(5 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 | * Wir haben die Motoransteuerung geändert, so dass Alf eine feste Strecke fährt. | ||
* Wir haben | * Wir haben das Poti ausgelesen. | ||
* Wir haben den Servomotor mit den Potiwerten angesteuert. | |||
* Wir haben den | |||
== Quelltext == | == Quelltext == | ||
* <code> | * <code>E24_Servo_Knop</code> | ||
<div style="width:1200px; height:300px; overflow:auto; border: 2px solid #088"> | <div style="width:1200px; height:300px; overflow:auto; border: 2px solid #088"> | ||
<pre> | <pre> | ||
/* | /* Bibliothek einbinden */ | ||
#include <Servo.h> | #include <Servo.h> | ||
Servo | Servo usServo; /* Erzeugt ein Servo Objekt, um den Servo des Ultraschall anzusteuern */ | ||
int | int AnalogPin_s16 = 0; /* An Analogpin A0 ist das Poti angeschlossen */ | ||
int | 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() { | void setup() { /* Einmalige Systeminitialisierung */ | ||
usServo.attach(9); /* Verbindung der Servo mit einem Digitalpin */ | |||
Serial.begin(9600); | Serial.begin(9600); /* Init für serielle Ausgabe */ | ||
} | } | ||
void loop() { | void loop() { /* Main Schleife */ | ||
PotiWert_s16 = analogRead(AnalogPin_s16); /* Potistellung wird ausgelesen */ | |||
Serial.println( | 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 */ | |||
/ | |||
// | |||
delay( | |||
} | } | ||
</pre> | </pre> | ||
</div> | </div> | ||
--> | --> | ||
== Hausaufgaben bis zum | |||
Schaut Euch die Ansteuerung Eures Servos noch einmal an. Könnt Ihr den Ultraschall von ganz links bis ganz rechts drehen? | == 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 == | == Musterlösung == | ||
* [[ | * [[Hausaufgaben4_Tipp_1|Tipp 1]] | ||
* [[ | * [[Hausaufgaben4_Tipp_2|Tipp 2]] | ||
* [[ | * [[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, 20: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