//libs
#include <stdio.h>
//Ultrasonic
const int Trig = 3; //pin 3 es trigger del sensor
const int Echo = 2; //pin 2 es echo del sensor
#define PotSens A0 //Pin A0 es el centro del pot las otras dos terminales, una a tierra y la otra a vcc
#define OutPin 5 //pin de salida de la señal
long duration;
int cm;
int PotDatta = 0;
float Pot2cm = 0;
int Offset = 2; // cambia el offset
void setup() {
//Pinmode
pinMode(Trig, OUTPUT);
pinMode(Echo, INPUT);
pinMode(PotSens, INPUT);
pinMode(OutPin, OUTPUT);
}
void loop() {
HCsens();
PotDatta = analogRead(PotSens);
Pot2cm = 0.0293255132*(PotDatta);
if ((Pot2cm >= (cm + 0.3)) || (Pot2cm <= (cm - 0.3))){
digitalWrite(OutPin, LOW);
}
else{
digitalWrite(OutPin, HIGH);
}
}
int HCsens(){
digitalWrite(Trig, LOW);
delayMicroseconds(2);
digitalWrite(Trig, HIGH);
delayMicroseconds(10);
digitalWrite(Trig, LOW);
duration = pulseIn(Echo, HIGH);
cm = us2Cm(duration) - Offset;
}
float us2Cm (float microseconds) {
return microseconds / 29 / 2;
}