Glücks­rad mit 360°-Servomotor

Lese­zeit: 3 Minu­ten

Lösung
Seite als PDF

Wird der Tas­ter gedrückt, star­tet der 360°-Servomotor für eine zufäl­li­ge Anzahl von Mil­li­se­kun­den eine Bewe­gung im Uhr­zei­ger­sinn oder gegen den Uhr­zei­ger­sinn. Die Dreh­rich­tung wird eben­falls zufäl­lig bestimmt.

So sieht es aus:

Der 360°-Servomotor erlaubt eine kon­ti­nu­ier­li­che Bewe­gung: Wird kei­ne Zeit vor­ge­ge­ben, dreht sich der Motor.
Er muss zwin­gend an einem Pin mit Puls­wei­ten­mo­du­la­ti­on ange­schlos­sen werden.

Er kann sich im Uhr­zei­ger­sinn und gegen den Uhr­zei­ger­sinn dre­hen. Außer­dem kann die Geschwin­dig­keit der Dre­hung bestimmt werden.

  • 0 = maxi­ma­le Geschwin­dig­keit im Uhrzeigersinn
  • 90 = Motor anhalten
  • 180 = maxi­ma­le Geschwin­dig­keit gegen den Uhrzeigersinn

Benö­tig­te Bauteile:

  • Ser­vo­mo­tor
  • Tas­ter
  • Lei­tungs­dräh­te

Baue die Schal­tung auf.
(Fah­re mit der Maus über das Bild, um die Bezeich­nun­gen der Bau­tei­le zu sehen)

Vor­la­ge Glücksrad

Benö­tig­te Bibliothek

Das Pro­gramm:

# include "Servo.h"

// Name des Motors
Servo Motor;

// Minimum und Maximum der "Laufzeit" des Motors
int Minimum = 300;
int Maximum = 1500;

// Pin des tasters
int Taster = 7;

// Variable für die Drehrichtung
int Drehrichtung;

void setup() 
{
  // Motor an Pin 9
  Motor.attach(9);

  // Motor anhalten
  Motor.write(90);

  // Zufallsgenerator starten
  randomSeed(analogRead(0));

  // pinMode des Tasters
  // INPUT_PULLUP = Modus Eingabe und Eingangspegel auf HIGH setzen
  pinMode(Taster, INPUT_PULLUP);
}

void loop() 
{
  // Wert des Tasters lesen
  int TasterLesen = digitalRead(Taster);

  // Taster wurde gedrückt
  if (TasterLesen == LOW) 
  {
    // Drehrichtung zufällig bestimmen
    Drehrichtung = random(0, 2);

    // Motor im Uhrzeigersinn drehen
    if (Drehrichtung == 0) Motor.write(80);

    // Motor gegen den Uhrzeigersinn drehen
    else Motor.write(100);

    // zufällige Anzahl von Millisekunden drehen
    delay(random(Minimum, Maximum));

    // Motor anhalten
    Motor.write(90);
  }
}

Startseite
Aufgaben A-Z
Suchen
Downloads
Fehlermeldungen
Seite als PDF

Ver­wand­te Aufgaben:

s

Letzte Aktualisierung: 16. Feb 2024 @ 9:42