Potentiometer Q. Teensy 3.2 and existing electronics

Status
Not open for further replies.

Capt.Ron

New member
Hi all, New here and hoping to get a bit of guidance. I am working on a program that will use a teensy to turn on an android box in the car to power a simple carputer. I have sorted how to get the device to turn on and now i'm working on a way to get the screen to go into standby. I have accomplished this using a simple switch sensor, but now i cant find a place to mount the sensor. The screen in my car opens and closes, its a 2004 RX-8. I found out that the OEM system uses a potentiometer for screen position, and other users have replaced the entire system with arduino and tapped this pot for screen position. Essentially what i want to do is tell the teensy, the screen is up or its down. I think i sorted the code part. I will include below and you guys can tell me if you see something weird or that could be better.

The question is, can i connect the middle pin of the pot directly to the teensy analog pin in parallel with the existing electronics? The current setup controls opening and closing the screen, so i want to keep that working. my thought was to just pigtail a lead from the existing wiring to the teensy, and then read the pot positions and alter the code accordingly for open and closed positions. I guess what i'm asking is, do all 3 leads from the pot need to be connected to the teensy for it to work, or if it has power and ground from somewhere else can i still get a signal?

Below is my code in case anyone wants to take a look.

THANKS,
RON

// Constant Variables for comparison
const int HoodClosedValue = 950; //suspected pot value for closed
const int HoodPosTolerance = 10; //tolerance stolen from somewhere else
const int HoodOpen = 1; //defined placeholder because there is
//more than one open position
const int HoodClosed = 0; // only one closed position

// CurrentState is the new read state from the pot from Nav Hood
// Old State is the previous state stored in memory
// these values are compared and if a change is registered
// the standby button is pressed. (actualy a virtual button)

int HoodState = 0; //used for initial hood pos function
int CurrentState = 0; //stored value for now
int OldState = 0; //stored value for previous

void setup() {
// put your setup code here, to run once:
// 3 second delay before device turn on

delay(3000);
// pinMode(2, INPUT_PULLUP);
// pin 2 is the nav hood sensor, old setup to test functionality

pinMode(1, OUTPUT);
// Power button input to android box

digitalWrite(1, LOW);
//pulse to turn device on

delay(1000);
pinMode(1, INPUT_PULLUP);

//Release of power button

delay(30000);
// Gives 23 seconds for device to boot

// This is the check to see if hood is intitially up or down
// If open this does nothing, and loop starts after
// matching the old and new state for loop
HoodState=analogRead(A9);
if (HoodState < (HoodClosedValue-HoodPosTolerance)) {
OldState=HoodOpen;
// This records the oldstate as open for the loop
}

// If closed, this puts device into standby mode

else {
pinMode(1, OUTPUT);
digitalWrite(1, LOW);
delay(300);
pinMode(1, INPUT_PULLUP);

// this records the oldstate as closed for loop
// functionality of standby feature

OldState=HoodClosed;
}
}

void loop() {

// put your main code here, to run repeatedly:
//Checks current hood position

HoodState=analogRead(A9);
if (HoodState < (HoodClosedValue-HoodPosTolerance)) {
CurrentState = HoodOpen;
}
else {
CurrentState = HoodClosed;
}

// If position has changed since intialization
// this pulses standby button

if (CurrentState != OldState) {
pinMode(1, OUTPUT);
digitalWrite(1, LOW);
delay(300);
pinMode(1, INPUT_PULLUP);
OldState=CurrentState;
delay(2000);
}
}
 
I guess what i'm asking is, do all 3 leads from the pot need to be connected to the teensy for it to work

IMO, yes that seems the best: one outside pin goes to 3.3V, the other outside pin goes to ground, the middle pin goes to ADC (any Ax pin)

Any outside electronics needs care (voltage > 5V may destroy T3.2)
 
I allow to add from the NXP application note: For stable conversion by the Teensy's integrated delta-sigma ADCs, the potentiometer's impedance should be less or equal than 10kOhm and a 10-100nF capacitor should be added between the wiper and GND.
 
Status
Not open for further replies.
Back
Top