#include <Servo.h>
Servo myservo1 , myservo2; // create servo object to control a servo
int lukupinnitila;
int paikka1[5];
int paikka2[5];
int potpin1 = 1; // analog pin used to connect the potentiometer
int potpin2 = 2;
int val2,val1; // variable to read the value from the analog pin
int lukupin = 10;
int tulosta = 7;
int ledi = 12;
int laskuri=0;
int viive=50;
int uusi1 = 10; //servo 1
int uusi2 = 10;// servo 2
int temp=1;
int servo1_laskuri=0;
int servo2_laskuri=0;
int vanha=100;
void setup() {
myservo1.attach(8); //servo 1
myservo2.attach(9); //servo 2
pinMode(lukupin, INPUT);
pinMode(tulosta, INPUT);
pinMode(ledi, OUTPUT);
// alkuasetus
myservo1.write(uusi1); //servo 1
myservo2.write(uusi2);//servo 2
delay(5);
}
//***************************************************
void loop() {
val1 = analogRead(potpin1); //servo 1 // reads the value of the potentiometer (value between 0 and 1023)
val1 = map(val1, 0, 1023, 0, 180); // scale it to use it with the servo (value between 0 and 180)
myservo1.write(val1); //servo 1
delay(5);
val2 = analogRead(potpin2); //servo2 // reads the value of the potentiometer (value between 0 and 1023)
val2 = map(val2 , 0, 1023, 0, 180); // scale it to use it with the servo (value between 0 and 180)
myservo2.write(val2);//servo 2
delay(5);
////////// -----------lue -------------------
lukupinnitila = digitalRead(lukupin);
if (lukupinnitila== LOW) {
digitalWrite(ledi, HIGH);//ilmoittaa että ollaan lukemassa
paikka1[laskuri]=val1; //servo1
paikka2[laskuri]=val2; //servo2
laskuri=laskuri+1;
while(lukupinnitila== LOW) {
lukupinnitila = digitalRead(lukupin);
}
}
if (lukupinnitila== HIGH) {
digitalWrite(ledi, LOW);
}
//////// ----------------TULOSTA------------------------------------------
laskuri=0;
if (digitalRead(tulosta)== LOW){//jos tulosta nappia painettu
int luku=2;
while(luku<6){
++luku;
while(temp < 150){
temp=1;
uusi1=paikka1[laskuri];//servo 1
//*************************************
while(temp < 180){ //kierroslaskuri
temp++;
digitalWrite(ledi, HIGH);
//*************************************
if(uusi1<vanha){//servoa taaksepain
-- vanha ; //vähentää yhden
myservo1.write(vanha);
digitalWrite(ledi, 0);
delay(8);//servo kaantönopeus
}
if(uusi1>vanha){//servoa taaksepain
++ vanha ; //vähentää yhden
myservo1.write(vanha);
digitalWrite(ledi, 0);
delay(8);//servo kaantönopeus
}
}
//*********
vanha=uusi1;
laskuri=laskuri+1;
}
}
}}