Paso 6: Muestra el código de Arduino
const int pingPin = 2;
int sensingRangeUnit = 11; int buzzerLimit = 100; int buzzerFrequency;
void setup() {}
pinMode (3, salida); pone el pin digital 3 como salida para un zumbador pinMode (4, salida); pone el pin digital 4 como salida de un LED pinMode (5, salida); pone el pin digital 5 como salida de un LED pinMode (6, salida); pone el pin digital 6 como salida de un LED pinMode (7, salida); pone el pin digital 7 como salida de un LED pinMode (8, salida); pone el pin digital 8 como salida de un LED pinMode (9, salida); pone el pin digital 9 como salida de un LED pinMode (10, salida); pone el pin digital 10 como salida de un LED pinMode (11, salida); pone el pin digital 11 como salida de un LED pinMode (12, salida); pone el pin digital 12 como salida de un LED pinMode (13, salida); pone el pin digital 13 como salida para una LED Serial.begin(9600);
}
void loop() {duración largo, pulgadas, cm;
pinMode (pingPin, salida); digitalWrite (pingPin, LOW); delayMicroseconds(2); digitalWrite (pingPin, HIGH); delayMicroseconds(5); digitalWrite (pingPin, LOW);
pinMode (pingPin, entrada); duración = pulseIn (pingPin, HIGH);
convertir el tiempo a una pulgadas de distancia = microsecondsToInches(duration); cm = microsecondsToCentimeters(duration); Serial.Print(inches); Serial.Print ("in"); Serial.Print(cm); Serial.Print("cm"); Serial.println();
Si (pulgadas < (sensingRangeUnit * 1)) {digitalWrite (4, HIGH);} else {digitalWrite (4, LOW);}
Si (pulgadas < (sensingRangeUnit * 2)) {digitalWrite (5, alto);} else {digitalWrite (5, LOW);}
Si (pulgadas < (sensingRangeUnit * 3)) {digitalWrite (6, alto);} else {digitalWrite (6, LOW);}
Si (pulgadas < (sensingRangeUnit * 4)) {digitalWrite (7, alto);} else {digitalWrite (7, LOW);}
Si (pulgadas < (sensingRangeUnit * 5)) {digitalWrite (8, HIGH);} else {digitalWrite (8, LOW);}
Si (pulgadas < (sensingRangeUnit * 6)) {digitalWrite (9, alto);} else {digitalWrite (9, LOW);}
Si (pulgadas < (sensingRangeUnit * 7)) {digitalWrite (10, HIGH);} else {digitalWrite (10, LOW);}
Si (pulgadas < (sensingRangeUnit * 8)) {digitalWrite (11, alto);} else {digitalWrite (11, LOW);}
Si (pulgadas < (sensingRangeUnit * 9)) {digitalWrite (12, HIGH);} else {digitalWrite (12, LOW);}
Si (pulgadas < (sensingRangeUnit * 10)) {digitalWrite (13, HIGH);} else {digitalWrite (13, LOW);}
Si (pulgadas < buzzerLimit) {buzzerFrequency = (((buzzerLimit-inches) * 255) / buzzerLimit); analogWrite (3, buzzerFrequency);} else {analogWrite (3, 0);} delay(100); }
largo microsecondsToInches (largo microsegundos) {/ / según ficha técnica de paralaje))), hay / / 73,746 microsegundos por pulgada (es decir sonido viajes en 1130 pies / segundo). Esto da la distancia recorrida por el ping, saliente / / y el retorno, por lo que dividimos por 2 para obtener la distancia del obstáculo. volver microsegundos / 74 / 2; }
largo microsecondsToCentimeters (largo microsegundos) {/ / la velocidad del sonido es 340 m/s o 29 microsegundos por centímetro. / / el ping viaja hacia fuera y hacia atrás, para encontrar la distancia del / / objeto tomamos la mitad de la distancia recorrida. volver microsegundos / 29 / 2;}