/*
Controlling a servo position using a potentiometer (variable resistor)
by Michal Rinott <http://people.interaction-ivrea.it/m.rinott>
modified on 8 Nov 2013
by Scott Fitzgerald
http://www.arduino.cc/en/Tutorial/Knob
*/
#include <Servo.h>
Servo myservo; // create servo object to control a servo
const int potpin = A0; // analog pin used to connect the potentiometer
int val; // variable to read the value from the analog pin
const int buttonPin = 2;
int buttonState = 0;
const int ledPin = 13;
int statusAufnahme = 0; // speichert ob die Aufnahme läuft
char saveVal = []; // Array um die Servo-Werte zu speichern während der Aufnahme
void setup() {
Serial.begin(9600);
myservo.attach(9); // attaches the servo on pin 9 to the servo object
pinMode(buttonPin, INPUT);
pinMode(ledPin, OUTPUT);
}
void loop() {
buttonState = digitalRead(buttonPin);
Serial.println(buttonState);
val = analogRead(potpin); // reads the value of the potentiometer (value between 0 and 1023)
val = map(val, 0, 1023, 0, 180); // scale it for use with the servo (value between 0 and 180)
myservo.write(val); // sets the servo position according to the scaled value
delay(150); // waits for the servo to get there
if (buttonState == HIGH) {
if (statusAufnahme == LOW){
Serial.println("Aufnahme startet");
digitalWrite(ledPin, HIGH);
statusAufnahme = HIGH;
delay(200);
}else {
if(statusAufnahme == HIGH){
Serial.println("Aufnahme wird beendet");
digitalWrite(ledPin, LOW);
statusAufnahme = LOW;
delay(200);
}
}
}
}