#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 farbigen 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: