Prueba con el sensor ultrasonico HC-SR04 falla error: 'XX' was not declared in

Hola gente, quería pedirles ayuda con un proyecto que estoy elaborando para hacer un dispensador de comida para mascotas a base de arduino nano y como este proyecto requiere del ya mencionado sensor, he querido hacer una prueba con el pero el código no compila en el sketch cuando cambio una simple variable de donde van conectados los pines. Para que puedan entender mejor, les cuento un poco más sobre de que va el proyecto.

El proyecto es este:

Y pues, en el esquema eléctrico proporcionado, el sensor tiene los conectores Trigger y Echo conectados a los pines D7 y D8 respectivamente, y yo he querido utilizar el código de una prueba que es la siguiente donde los tiene conectados a A0 y A1:

//Libraries
#include <Ultrasonic.h>

//Define pins ultrasonic(trig,echo)
Ultrasonic ultrasonic(A0,A1);

//Variables
int distance;

void setup() {
  Serial.begin(9600);
}

void loop()
{
  distance = ultrasonic.Ranging(CM); //Use 'CM' for centimeters or 'INC' for inches
  //Print distance...
  Serial.print("Object found at: ");
  Serial.print(distance);
  Serial.println("cm");
  //every 1sec. 
  delay(1000);
}

Como podrán observar, los pines a los que van conectados los del sensor en mi proyecto son diferentes a los que están en el código de la prueba, y pues todo bien, lo único que hice fue cambiar esos dos a los que uso (Que son D7 y D8) sin embargo, me tira error:
’D7 was not declared in the scope’

El código de la prueba lo he sacado de esta página:

Sinceramente estoy estupefacto, no puedo comprender como solo cambiar esas variables no me permite compilar el código. Por supuesto, si utilizo el código como tal, a la hora de verificar en el monitor las lecturas son erróneas y no salta nada, se ve así:

Espero puedan ayudarme :confused: necesito poder verificar la funcionalidad del sensor para poder continuar. Desde ya, les agradezo mucho por su tiempo.

Te felicito por presentar de manera clara y concisa tu consulta, y además aplicando bien todas las etiquetas!!

Compilando el código que propones al no haber ningún D7 y D8 (que luego haré un comentario al respecto) de ningún modo puede ese código darte el error que mencionas.
Crees que estas compilando algo cuando compilas otra cosa, a menos que tengas dos códigos en la misma carpeta y ese sea el error que te esta informando.
Revisa tu carpeta y verifica si no hay dos codigos .ino con distinto nombre pero similares.

Segundo tema. D7 y D8 no puden ser pines usados en un código, pero si puedes llamarlos 7 y 8 como esta en el tutorial.

Según el tutorial asi comienza con la definición de pines

#include <Servo.h> // añadimos la librería servo

long tiempo;
int disparador =7;                                                     // declaramos pin8 como trigger – dato de tipo entero largo
int entrada =8;                                                         // declaramos pin7 como echo – dato de tipo entero
float distancia;                                                        // declaramos la variable distancia como dato de tipo decimal simple
Servo miniservo;                                                   //creamos el objeto miniservo para el servo pequeño
int servo = 9;

Donde tampoco existe un D7 y D8 pero si 7 y 8. Dirás es una tontería pero no lo es.

Finalmente, si un código te da error jamás puede funcionar de modo que la captura que presentas o bien fue hecha con 7 y 8 y ahora al estar conectados a A0 y A1 lógicamente te dará 0 como respuesta del sensor ultrasónico.

Ya podrás aclarar algunas cuestiones que he supuesto y tal vez mi análisis te sirva para resolver el problema.

Aunque todas las librerías funcionan bien te recomiendo NewPing Librarypara el uso con sensores ultrasónicos.