#include Servo myservo; // create servo object to control a servo int pos = 0; // variable to store the servo position int minx = 0; //local minimum vertical hieght int trans = 180; //var for changing position from A1 rheostat int lim = 25; // the limit: varies based on physical factors int HOME = 100; void setup() { //delay(5000); Serial.begin(9600); myservo.attach(9); // attaches the servo on pin 9 to the servo object is pin9 ==A0? pos = myservo.read(); // if the servo is high, or low set servo position to 0 if (pos > 0 || pos < 0){ // myservo.write(30); //directdrive servo mech myservo.write(HOME); //init position for rack and pinion //delay(3000); } } void loop() { //int sensorValue = analogRead(A1); //resistors on PSU shouldnt change //Serial.println(sensorValue); int sv = analogRead(A0); //sensor value int trans = analogRead(A1); //Serial.println(sv); //Serial.println(pos); pos = trans / lim; //0 - 26 //myservo.write(pos+100); //Serial.println(trans); // //myservo.write(-trans); if(sv < 200){ myservo.write(HOME-pos); } else{ //myservo.write(trans); myservo.write(HOME); } //if(sensorValue > 900){ // its done drawing, and out of range anyways if (sv > 600 ){ myservo.write(HOME); // go back to neutral position //delay(5); } /* */ }