LBotics.at

Der Taster wird direkt mit einem digitalen Eingang des Arduino UNO Board und dem GND verbunden.

Anschluss eines Tasters mit Verwendung des internen Pull Up Widerstandes an den digitalen Eingang Pin 4

Programmierbeispiel

Bei diesem Beispiel fährt der Roboter so lange vorwärts, bis dieser mit dem Taster auf der Vorderseite an einer Wand anstößt und dann stehenbleibt.

#include <Adafruit_RGBLCDShield.h>
#include <Adafruit_MotorShield.h>

Adafruit_MotorShield MotorShield = Adafruit_MotorShield();
Adafruit_DCMotor *Motor_Port1 = MotorShield.getMotor(1);
Adafruit_DCMotor *Motor_Port2 = MotorShield.getMotor(2);

void setup()
{
MotorShield.begin();
pinMode(4, INPUT_PULLUP);
}

void loop()
{
int TasterZustand = digitalRead(4);
Motor_Port1->setSpeed(100);
Motor_Port1->run(FORWARD);
Motor_Port2->setSpeed(100);
Motor_Port2->run(FORWARD);
if (TasterZustand == 1)
{
Motor_Port1->run(RELEASE);
Motor_Port2->run(RELEASE);
}
}
Erklärungen zu diesem Programmierbeispiel

1: #include <Adafruit_MotorShield.h>
2: #include <Adafruit_RGBLCDShield.h>

Einbinden der benötigten Header-Dateien.

4: Adafruit_MotorShield MotorShield = Adafruit_MotorShield();

Zunächst wird das Objekt MotorShield vom Typ Adafruit_MotorShield erzeugt.

5: Adafruit_DCMotor *Motor_Port1 = MotorShield.getMotor(1);

Über den Pointer Motor_Port1 wird in der Folge der Motor, der an Port 1 angeschlossen ist, angesteuert.

9: MotorShield.begin();

Zu Beginn des Programms muss das Objekt MotorShield initialisiert werden.

10: pinMode(pin, mode);

Mit dieser Funktion wird das Verhalten eines der 14 I/O PINs festgelegt.

pin: 0, …, 13 mode: OUTPUT, INPUT, INPUT_PULLUP

15: digitalRead(pin);

Diese Funktion dient zum Lesen des Zustands wenn ein PIN als Eingang konfiguriert ist.

pin: 0, …, 13 return: LOW, HIGH

16: Motor_Port1->setSpeed(100);

Mit der Funktion setSpeed(speed) wird die Geschwindigkeit bzw. die Pulsbreite des PWM-Signals festgelegt.

speed: 0 … 255

17: Motor_Port1->run(FORWARD);

Die Funktion run(mode) steuert die Drehbewegung des Motors.

mode: FORWARD, BACKWARD, RELEASE