#include <Servo.h>
Servo Servo1;
int AnalogOut = 0;
int NewAnalogOut = 0;
int pin_button = 2;
int pin_button_state = 0;
int pin_button_state_last = 0;
int storage[800];
int storage_loc = 0;
int recording = 0;
void setup() {
Serial.begin(9600);
Servo1.attach(3);
pinMode(pin_button, INPUT_PULLUP);
}
void loop() {
pin_button_state = digitalRead(pin_button);
if (pin_button_state != pin_button_state_last){
if (pin_button_state = HIGH){
recording++;
if (recording == 2){
storage[storage_loc] == 777;
}
}
delay(50);
}
pin_button_state_last = pin_button_state;
if (recording == 0) {
int sensorValue = analogRead(A0);
NewAnalogOut = map (sensorValue, 0, 1023, 0, 180);
if (abs(NewAnalogOut - AnalogOut) > 2) {
Servo1.write(AnalogOut);
AnalogOut = NewAnalogOut;
}
}
delay(1);
if (recording == 0) {
recording = 1;
if (storage_loc < 800) {
storage[storage_loc] = NewAnalogOut;
delay(100);
Serial.println(storage[storage_loc]);
storage_loc++;
}
}else if (recording > 1) {
while ( 1 == 1) {
storage_loc = 0;
if (storage_loc < 800 || storage[storage_loc] != 777) {
Servo1.write(storage[storage_loc]);
delay(100);
}
}
}
}