Glücks­rad Servomotor

#include "Servo.h"

// Bezeichnung des Motors
Servo Motor;

int Position;
int TASTER = 7;
int TasterLesen;
int LAUTSPRECHER = 6;

void setup()
{
  pinMode(TASTER, INPUT_PULLUP);
  pinMode(LAUTSPRECHER, OUTPUT);

  // Pin 9 dem Motor zuordnen
  Motor.attach(9);

  // Zufallsgenerator starten
  randomSeed(A0);

  // Motor nach links fahren
  Motor.write(180);
}

void loop()
{
  TasterLesen = digitalRead(TASTER);
  if (TasterLesen == LOW)
  {
    delay(500);
    int Minimum = 5;
    int Maximum = 175;
    int Position =  random(Minimum, Maximum);
    Motor.write(Position);
    delay(500);
    
    if (Position > 45 && Position < 90)
    {
      // Frequenzbereich 1000 bis 2000 
      for (int i = 1000; i <= 2000; i += 100)
      {
        tone(LAUTSPRECHER, i);
        delay(100);
        noTone(LAUTSPRECHER);
      }
      
      for (int i = 2000; i > 1000; i -= 100)
      {
       tone(LAUTSPRECHER, i);
       delay(100);
       noTone(LAUTSPRECHER);
      }
    }
  }
}

Mit far­bi­gen LEDs

#include "Servo.h"

// Bezeichnung des Motors
Servo Motor;

int Position;
int TASTER = 7;
int TasterLesen;

int gelbeLED = 6;
int roteLED = 5;
int blaueLED = 4;
int grueneLED = 3;

void setup()
{
  pinMode(TASTER, INPUT_PULLUP);

  for (int i = 3;i < 7; i++)
  {
    pinMode(i, OUTPUT);
  }

  // Pin 9 dem Motor zuordnen
  Motor.attach(9);

  // Zufallsgenerator starten
  randomSeed(A0);

  // Motor nach links fahren
  Motor.write(0);
}

void loop()
{
  TasterLesen = digitalRead(TASTER);
  if (TasterLesen == LOW)
  {
    delay(500);
    for (int i = 3;i < 7; i++)
    {
      digitalWrite(i, LOW);
    }

    int Minimum = 5;
    int Maximum = 175;
    int Position =  random(Minimum, Maximum);
    Motor.write(Position);
    delay(500);
    
    switch (Position)
    {
      case 0 ... 45:
        digitalWrite(gelbeLED, HIGH);      
        break;
      case 46 ... 90:
        digitalWrite(roteLED, HIGH);  
        break;
      case 91 ... 135:
        digitalWrite(blaueLED, HIGH);  
        break;
      case 136 ... 180:
        digitalWrite(grueneLED, HIGH);  
        break;
    }
  }
}

Letzte Aktualisierung: Apr. 12, 2025 @ 18:43