Paso 2: Codificación de HC-SR04
Usted necesitará tener el monitor serie del Arduino funcionando para ver el resultado del bosquejo a continuación. Si no está familiarizado con el monitor serial ahora es tu oportunidad de utilizarlo! Es una gran herramienta para la depuración y todo eso. En el aspecto de interfaz de Arduino para arriba en la esquina derecha, el botón para iniciar al monitor de serie está ahí. A mi me parece como una lupa, sólo haga clic en él y el monitor se abra (o seleccione Herramientas/serie Monitor, o Ctrl + Mayús + M).
Bien habría sido un simple bosquejo poco si yo no comentar ** fuera de él! :-)
Sketch de Arduino Begin-
Definición de constantes (constantes son cosas que no va a cambiar, obtendrá un error de compilación si se intenta cambiar el valor de una constante dentro del bosquejo)
const int triggerPin = 7; crea una constante llamada "triggerPin" y se asigna el pin digital 7 que
const echoPin int = 8; crea una constante llamada "echoPin" y asigna el pin digital 8 a él
Definición de Variables (variables puede y normalmente se cambia dentro de un esquema, básicamente son ubicaciones de almacenamiento para valores)
duración de int = 0; crea una variable denominada "duración" para almacenar el valor devuelto por pulseIn, el valor está siendo programado en "0"
int distancia = 0; crea una variable para almacenar el valor calculado para estar a la distancia a un objeto delante del sensor, el valor está siendo programado en "0"
void setup() / / utilizar esta sección para configurar la placa y otras características según lo requerido por el programa
{
Serial.Begin(9600); inicializar comunicaciones serie a través de USB entre Arduino y la computadora, vas a necesitar
definir modos de pin
pinMode (triggerPin, salida); "triggerPin" se utilizará para la salida, el número pin se declara arriba bajo definición de Variables
pinMode (echoPin, entrada); "echoPin" se utilizará para la entrada, el número de pin pin es declarado arriba bajo definición de Variables
} / / fin de la instalación
todo sobre este punto sólo se lee una vez por un programa - en el inicio o reinicio
void loop() / / el bosquejo en la sección de bucle es leer continuamente y repetido hasta poder apagar o reset
{
digitalWrite (triggerPin, HIGH); comienza el wave(s) ultrasonidos HC-SR04 módulo de la
Delay(5); breve pausa para la causa - necesaria para que el módulo funcione correctamente (se puede bajar el número, corro en 1 en otros bocetos)
digitalWrite (triggerPin, bajo); se detiene el wave(s) ultrasónico hacia fuera desde el módulo de HC-SR04
duración = pulseIn (echoPin, HIGH); función especial para determinar la longitud del tiempo que el pin Eco tenía alto el último ciclo completo de ráfagas de sonido
Delay(10); breve pausa para la causa. Este retraso es para la estabilidad, también no corta un retraso y worky
distancia = (duración/2) / 74; transformación de duracion a distancia (el valor almacenado en "duración" se divide por 2, que resultado se divide luego por 74 **) ** para centímetros (cm) dividen por 58, gracias coytar!
Delay(500); demora para la estabilidad - puede jugar con él pero puede también romper cosas hacerlo - usar 500 por defecto
Serial.Print(Distance); envía el valor calculado para estar a la distancia al monitor serial
Serial.println ("pulgadas"); agrega la palabra "pulgadas" después del valor de la distancia anterior y comienza una nueva línea en el monitor serial
Serial.println(); añade una línea en blanco en el serial monitor para facilitar la lectura
} / / Fin del bucle
_________________________________________________
OK, después de leer mi Instructable me di cuenta de que el bosquejo anterior realmente no cumple mi definición de "simple". Así que aquí está el mismo bosquejo exacto, comentado ligeramente.
HC-SC04 ultrasonidos distancia módulo Sketch de Brad
const int triggerPin = 7; desencadenar en 7
const echoPin int = 8; Eco 8
duración de int = 0; mantener valor de pulseIn
int distancia = 0; contener valor para la distancia calculada
void setup()
{
Serial.Begin(9600);
pinMode (triggerPin, salida); definir modos de pin
pinMode (echoPin, entrada);
}
void loop()
{
digitalWrite (triggerPin, HIGH); empezar a enviar sound wave(s)
Delay(5); necesario, puede ajustarse (no menos de 10us)
digitalWrite (triggerPin, bajo); módulo para envío de wave(s)
duración = pulseIn (echoPin, HIGH); determinar cuánto tiempo el pin eco era alto para la última ola completa
Delay(10); necesario, puede ajustar - cuidadosamente
distancia = (duración/2) / 74; Delay(500); calcular la distancia ** para dividen 58 centímetros (cm) ** gracias coytar!
Delay(500); demora para la estabilidad - puede jugar con él pero puede también romper cosas hacerlo - usar 500 por defecto
Serial.Print(Distance); enviar el valor actual almacenado en la distancia al monitor serial
Serial.println ("pulgadas"); después de la distancia anterior se muestra la palabra "pulgadas"
Serial.println(); crea una línea en blanco en el serial monitor para facilitar la lectura
}
Allí, ahora es un simple boceto!
Los archivos incluyen .ino son;
1. HCSR04BareBones.ino - este archivo es muy comentado e incluye algunas de las especificaciones básicas para el HC-SR04 módulo así como las instrucciones de cableado.
2. BareBonesLight.ino - ligeramente comentó