#include const byte rxPin = 0;// pin12 PA1 -->1 analog input 1 const byte txPin = 1;// pin13 PA0 -->0 analog input 0 int trigger =8 ; // pin5 PB2 -->8 PWM int echo =7 ; // pin6 PA7 -->7 analog input 7 int led1=3; // pin10 -->3 analog input 3 int led2=2; // pin11 -->2 analog input 2 SoftwareSerial mySerial(rxPin, txPin); long distancia; long tiempo; void setup(){ mySerial.begin(9600); pinMode(trigger, OUTPUT); /*activación del pin 8 como salida: para el pulso ultrasónico*/ pinMode(echo, INPUT); /*activación del pin 7 como entrada: tiempo del rebote del ultrasonido*/ pinMode(led1,OUTPUT); pinMode(led2,OUTPUT); light(led1,200); light(led2,200); } void light(int led, int time_on){ digitalWrite(led, LOW); digitalWrite(led, HIGH); delay(time_on); digitalWrite(led, LOW); } void loop(){ light(led1,200); digitalWrite(trigger,LOW); /* Por cuestión de estabilización del sensor*/ delayMicroseconds(50); digitalWrite(trigger, HIGH); /* envío del pulso ultrasónico*/ delayMicroseconds(50); tiempo=pulseIn(echo, HIGH); /* Función para medir la longitud del pulso entrante. Mide el tiempo que transcurrido entre el envío del pulso ultrasónico y cuando el sensor recibe el rebote, es decir: desde que el pin empieza a recibir el rebote, HIGH, hasta que deja de hacerlo, LOW, la longitud del pulso entrante*/ distancia= double(tiempo * 10 / 292 / 2); /*fórmula para calcular la distancia obteniendo un valor entero*/ /*Monitorización en centímetros por el monitor serial*/ mySerial.println(distancia); delay(1000); }