This code compiles for me:
#include <Ultrasonic.h>
/*Opiron Electronics by A.Girod
Programación de un sensor de aparcamiento con alarma visual y acústica
Mediante la libreria Ultrasonic
by Anton Girod (girodanton@gmail.com)
bajo licencia Creative Commons Attribution-ShareAlike 3.0*/
#include "Ultrasonic.h"
Ultrasonic ultrasonic(12,13); // En lugar de declarar los Pin echo y Pin trig, puedo hacerlo directamente con esta función
int Pinrojo=6;
int Pinverde=5;
int buzzer=4;
void setup() {
Serial.begin (9600);
pinMode(Pinverde,OUTPUT); //Definimos los pines, notar que ya no definimos los pines del sensor
pinMode(Pinrojo, OUTPUT);
pinMode(buzzer,OUTPUT);
}
void loop() {
int cm;
Serial.print("Duración del pulso de recepción:");
Serial.print(ultrasonic.Timing()); //Aqui obtenemos el tiempo del pulso de eco en high
Serial.println(" us");
cm=ultrasonic.Ranging(cm); //Aqui hacemos la conversión a cm
Serial.print("Distancia: ");
Serial.print(ultrasonic.Ranging(CM));
Serial.println(" cm");
if (cm>20) //20 cm es la distancia de emergencia
{
digitalWrite(Pinverde, HIGH); //En caso que un objeto esté lejos, pintamos el LED verde
digitalWrite(Pinrojo, LOW);
digitalWrite(buzzer, LOW);
}
else if (cm<20)
{
digitalWrite(Pinverde, LOW); //Si el objeto está muy cerca, hacemos sonar la alarma buzzer y el LED rojo
digitalWrite(Pinrojo, HIGH);
digitalWrite(buzzer, HIGH);
}
delay(500);
}