AlphaBot: Verzweigung: Unterschied zwischen den Versionen

Aus HSHL Mechatronik
Zur Navigation springen Zur Suche springen
Zeile 9: Zeile 9:


== Quelltext ==
== Quelltext ==
* <code>E13_Photo_Interrupter_Sensor</code>
* <code>E24_Servo_Knop</code>
* <code>E14_Wheel_Encoders</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">
Zeile 17: Zeile 17:
#include <Servo.h>
#include <Servo.h>


Servo US_SERVO;  // create servo object to control a servo
Servo US_SERVO;  // Erzeugt ein Servo Objekt, um diesen nachfolgend anzusteuern


int potpin = 0;  // analog pin used to connect the potentiometer
int potpin = 0;  // analog pin used to connect the potentiometer
Zeile 49: Zeile 49:


-->
-->
== Hausaufgaben bis zum 4. Termin ==
== Hausaufgaben bis zum 4. 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 von ganz links bis ganz rechts drehen?

Version vom 7. April 2022, 14:04 Uhr

Autor: Prof. Dr.-Ing. Schneider

Inhalt des vierten 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

  • E24_Servo_Knop


/* Deklaration */
#include <Servo.h>

Servo US_SERVO;  // Erzeugt ein Servo Objekt, um diesen nachfolgend anzusteuern

int potpin = 0;  // analog pin used to connect the potentiometer
int val;    // variable to read the value from the analog pin

void setup() {
  US_SERVO.attach(9);  // attaches the servo on pin 9 to the servo object
  Serial.begin(9600);  // init für Serielle ausgabe
}

void loop() {
  val = analogRead(potpin);            // reads the value of the potentiometer (value between 0 and 1023)
  Serial.println(val);
  val = map(val, 0, 676, 0, 180);     // scale it to use it with the servo (value between 0 and 180)
  US_SERVO.write(val);
//  for (int i=0;4;i++)
//  {
//    US_SERVO.write(0); 
//    delay(500);
//    US_SERVO.write(90);
//    delay(500);
//    US_SERVO.write(180);
//    delay(500);  
//  }
                   // sets the servo position according to the scaled value
  delay(20);                           // waits for the servo to get there
}

-->

Hausaufgaben bis zum 4. Termin

Schaut Euch die Ansteuerung Eures Servos noch einmal an. Könnt Ihr den Ultraschall von ganz links bis ganz rechts drehen?

Musterlösung


→ zurück zum Hauptartikel: Projekt Alf