CCCPaste

Digital pot Lincoln


int CS = 6; // Digipot chip select pin
int UD = 4; // Digipot up / down
int INC = 5; //Digipot increments
int parkPin = 11; //park button
int drivePin = 10; // drive button
int val = 0;
const int ledPinDrive =  8; // Testing LED's
const int ledPinPark = 7; // Testing LED's
const int sensorPin = A0; // wiper pin on Digipot
const int thresholdDrive = 150; // testing threshold
const int thresholdPark = 40; // testing threshold
int buttonState1 = 0;
int buttonState2 = 0;

int sensorMin = 1023;
int sensorMax = 0;
int sensorDriveValue = 150;  // testing threshold
int sensorParkValue = 40; // testing threshold

void setup() {
  // put your setup code here, to run once:
  pinMode(CS, OUTPUT);
  pinMode(UD, OUTPUT);
  pinMode(INC, OUTPUT);
  pinMode(parkPin, INPUT);
  pinMode(drivePin, INPUT);
  pinMode(ledPinDrive, OUTPUT);
  pinMode(ledPinPark, OUTPUT);
  digitalWrite(CS, HIGH);
  digitalWrite(UD, HIGH);
  digitalWrite(INC, HIGH);

}

void loop() {
  // put your main code here, to run repeatedly:
  {
    int buttonState1 = digitalRead(parkPin); // Button setup
    int buttonState2 = digitalRead(drivePin);// Button setup
    int analogvalue = analogRead(sensorPin); // setup to Read A0
    val = analogRead(sensorPin); // value of A0
    Serial.println(val); //AO in serial monitor
    delay(5);

  }
  // val = digitalRead(drivePin); // establishing pin
  while (digitalRead(parkPin) == HIGH) { // when park button is pushed, sketch goes park void.
    Park();
  }

  while (digitalRead(drivePin) == HIGH) { // when drive button is pushed, sketch goes drive void.
    Drive();
  }


}

void Drive() {
  int analogvalue = analogRead(sensorPin);
      digitalWrite(CS, LOW); //This is what is needed to adjust
      digitalWrite(UD, HIGH); //the Digitpot
  if (analogvalue >= sensorDriveValue) {
    digitalWrite(ledPinDrive, HIGH);
//      digitalWrite(CS, LOW); //This is what is needed to adjust
//      digitalWrite(UD, HIGH); //the Digitpot
      digitalWrite(INC, HIGH); //execute in this order

  } else {
    digitalWrite(ledPinDrive, LOW); // should do nothing
  }

}

void Park() {
  int analogvalue = analogRead(sensorPin);

  if (analogvalue >= sensorParkValue) {
    digitalWrite(ledPinPark, HIGH);
    //  digitalWrite(CS, LOW); //This is what is needed to adjust
    //  digitalWrite(UD, LOW); //the Digitpot
    //  digitalWrite(INC, HIGH); //execute in this order

  } else {
    digitalWrite(ledPinPark, LOW); // should do nothing
  }

}

// // if (sensorParkValue <= sensorMax && sensorParkValue >= sensorMin){