Paso 3: Diseño de Software
El teclado LCD y HC-SR04 tienen las bibliotecas de Arduino que hay que añadir a su software de Arduino. Adjunto
Las bibliotecas de HC-SR04 tenían algunas funciones que se impresión con las medidas en pulgadas pero quería un poco mejor resolución así que escribí mi propia.
Material técnico:
Teoría de la operación: Básicamente, el usuario envía un pulso de disparador al módulo que emite una onda ultrasónica. Después de un período de tiempo el receptor regresa un reflejo. La duración determina la distancia. La documentación da una pequeña fórmula para hallar la distancia.
Distancia = ((Duration of high level) * (Sonic: 340 m/s)) / 2
Ahora se trata de un no muy claro incluso para un Geek pero había averiguado que significaba.
Distancia en metros = duración en segundos * 340 metros por segundo/2
La documentación no está muy clara pero la HC-SR04 biblioteca tiene una función llamada tiempo. Se basa en pulseIn y devuelve una duración de microseconds(uSec)
Quiero distancia en pulgadas
Usé las siguientes transformaciones algebraicas:
Distancia M = Dur nos * 340M/1000000uS/2
DistancecM = Dur nos * 10000uS / 340cM/2
Distancia en = Dur nos * 133.85827In/10000uS/2
Distancia en = Dur nos *.013386 de/2
Distancia en = Dur nos * 0,00669 en
En mi código: distanciaen = ultrasonidos. (Tiempo) * 0.00669;
Para el resto del mundo que probablemente prefiere centímetros:
cM de distancia = ultrasonidos. (Tiempo) * 0.0170;
También escribí que si la distancia es sobre 60in(5foot) entonces convierta a la salida a los pies.
El teclado LCD tiene 16 líneas de caracteres x 2 por lo que divide en cuatro secciones. El software está configurado para que le muestra continuamente la distancia. Si el usuario presiona la tecla 'Select', se guarde el valor en uno de los cuatro puntos y pasar a la siguiente ubicación.
Algunas de las medidas de cinta electrónicas fabricadas realmente calcular área y volumen pero no se molestó.
/ * Definiciones de estilo * / tabla. MsoNormalTable {mso-estilo-name: "Tabla Normal"; mso-tstyle-rowband-tamaño: 0; mso-tstyle-colband-tamaño: 0; mso-estilo-noshow:yes; mso-estilo-parent: ""; mso-padding-alt: 0 en 5.4pt 0 en 5.4pt; mso-para-margen: 0; mso-para-margen-abajo: .0001pt; mso-paginación: viuda-huérfano; fuente-tamaño: 10.0pt; font-family: "Times New Roman"; mso-ansi-language: #0400; mso-fareast-language: #0400; mso-bidi-language: #0400;}
Mi sketch de Arduino está conectado.