#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 9 como salida: para el pulso ultrasónico*/ pinMode(echo, INPUT); /*activación del pin 8 como entrada: tiempo del rebote del ultrasonido*/ pinMode(led1,OUTPUT); pinMode(led2,OUTPUT); digitalWrite(led1, LOW); //delay(1000); //analogWrite(led2,HIGH); //analogWrite(led1,LOW); //delay(1000); //analogWrite(led2,LOW); mySerial.println("Ready......"); } void loop(){ digitalWrite(led1,!digitalRead(led1)); 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 12 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.print("Distancia "); mySerial.print(distancia); mySerial.println(" cm"); delay(1000); }