Teensy 3.6 and ultrasound sensor

Status
Not open for further replies.

prsu0001

Member
Hey all,
I tried to get ultrasound sensor values using teensy 3.6 and arduino ide app...when i see the output it shows wierd values, sometimes it shows correct values...can anyone help me out from this? and one more thing is when i connect the same setup with arduino uno board it works well, it gives correct output.

Below is my code:

// defines pins numbers
const int trigPin = 9;
const int echoPin = 10;

// defines variables
long duration;
int distance;

void setup() {
pinMode(trigPin, OUTPUT); // Sets the trigPin as an Output
pinMode(echoPin, INPUT); // Sets the echoPin as an Input

Serial.begin(9600); // Starts the serial communication
}

void loop() {
// Clears the trigPin
digitalWrite(trigPin, LOW);
delayMicroseconds(2);

// Sets the trigPin on HIGH state for 10 micro seconds
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);

// Reads the echoPin, returns the sound wave travel time in microseconds
duration = pulseIn(echoPin, HIGH);

// Calculating the distance
distance= duration*0.034/2;



// Prints the distance on the Serial Monitor
Serial.print("Distance: ");
Serial.println(distance);
}
 
Well you didn't mention what sonar sensor you are using so going to assume something like a HC-SR04. If that is the case you might want to use the NewPing library a shot, https://forum.arduino.cc/index.php?topic=106043.0, I tend to always use the lib for those types of sensors.

But to your question the Uno is a lot slower than the T3.6 so you may want to add a test to see if a signal is received on pulseIN. Something like
Code:
while(duration == 0 && time < 100ms) duration = pulseIn(echoPin, HIGH);
This is just pseudo-code for now.
 
Status
Not open for further replies.
Back
Top