Paso 4: Mi código
Asegúrese de guardar y cargar cualquier código utilizas para arduino en primer lugar.
En caso de que mi archivo de código en la parte inferior no funciona aquí es:
[código]
/ * Sensor HC-SR04 (ultrasónico)
https://www.dealextreme.com/p/HC-sr04-Ultrasonic-...
Este bosquejo Lee un telémetro de ultrasonidos HC-SR04 y devuelve la distancia al objeto más cercano en rango. Para ello, se envía un pulso en el sensor para iniciar una lectura, luego escucha un pulso volver. La longitud del pulso regresan es proporcional a la distancia del objeto desde el sensor.
El circuito:
* Conexión VCC del sensor conectado a + 5V
* Conexión GND del sensor conectado a tierra
* Conexión del sensor atado pin digital 2 de TRIG
* ECHO conexión del sensor atado pin digital 4
Código original de Ping))) ejemplo fue creado por David A. Mellis adaptado para HC-SR04 por Tautvidas Sipavicius este código de ejemplo está en el dominio público. */
const trigPin int = 2;
const echoPin int = 4;
LED #include "FastLED.h"
¿Cuántos leds en su tira?
#define NUM_LEDS 60
Para chips led como Neopixels, que tienen una línea de datos, la tierra y el poder, sólo / / necesario para definir DATA_PIN. Para chipsets led que son SPI base (cuatro cables - datos, reloj, / de tierra y energía), al igual que los LPD8806 definen DATA_PIN y CLOCK_PIN
#define DATA_PIN 3
#define CLOCK_PIN 13
Definir la matriz de leds CRGB leds [NUM_LEDS];
void setup() {}
FastLED.addLeds (leds, NUM_LEDS);
sensor de ultrasonidos
inicializar la comunicación serial:
Serial.Begin(9600); }
void loop() {}
sensor de ultrasonidos
establecer las variables durante el ping,
y el resultado de la distancia en pulgadas y centímetros: larga duración, pulgadas, cm;
El sensor se activa mediante un pulso alto de microsegundos 10 o más.
Dar un breve impulso de baja previamente para asegurar un pulso limpio alto:
pinMode (trigPin, salida);
digitalWrite (trigPin, LOW);
delayMicroseconds(2);
digitalWrite (trigPin, HIGH);
delayMicroseconds(10);
digitalWrite (trigPin, LOW);
Leer la señal del sensor: un alto pulso que
duración es el tiempo (en microsegundos) desde el envío
del ping a la recepción de su eco de un objeto.
pinMode (echoPin, entrada);
duración = pulseIn (echoPin, HIGH);
convertir el tiempo en una distancia
pulgadas = microsecondsToInches(duration);
cm = microsecondsToCentimeters(duration);
Serial.Print(inches);
Serial.Print ("in");
Serial.Print(cm);
Serial.Print("cm");
Serial.println();
Delay(100);
LED
Encienda el LED, luego pausa
Si (cm < = 60) {}
para (int i = 0; i < 60; i ++) {}
LEDs [i] = CRGB::Red;
FastLED.show();
Delay(50);
Ahora apague el LED, luego pausa
LEDs [i] = CRGB::Black;
FastLED.show(); Delay(50);
} }
else if (cm > 60 & & cm < = 200) {}
Encienda el LED, luego pausa
para (int i = 0; i < 60; i ++) {}
LEDs [i] = CRGB::Red;
FastLED.show();
Delay(100);
} }
Else {}
para (int i = 0; i < 60; i ++) {}
Ahora apague el LED, luego pausa
LEDs [i] = CRGB::Black;
FastLED.show();
Delay(100);
} }
}
largo microsecondsToInches(long microseconds) {}
Según ficha técnica de paralaje para el PING))), hay
73,746 microsegundos por pulgada (es decir, el sonido viaja a 1130 pies por
en segundo lugar). Esto da la distancia recorrida por el ping, saliente
y, por lo que dividimos por 2 para obtener la distancia del obstáculo.
Ver: http://www.parallax.com/dl/docs/prod/acc/28015-PI...
volver microsegundos / 74 / 2; }
largo microsecondsToCentimeters(long microseconds) {}
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 de la
objeto que tomamos la mitad de la distancia recorrida.
volver microsegundos / 29 / 2; }
[/ code]