Nota
¡Hola, bienvenido a la Comunidad de Aficionados a Raspberry Pi, Arduino y ESP32 de SunFounder en Facebook! Profundiza en Raspberry Pi, Arduino y ESP32 con otros entusiastas.
¿Por qué unirse?
Soporte de expertos: Resuelve problemas posventa y desafíos técnicos con ayuda de nuestra comunidad y equipo.
Aprender y compartir: Intercambia consejos y tutoriales para mejorar tus habilidades.
Vistas previas exclusivas: Obtén acceso anticipado a anuncios de nuevos productos y avances.
Descuentos especiales: Disfruta de descuentos exclusivos en nuestros productos más nuevos.
Promociones festivas y sorteos: Participa en sorteos y promociones de fiestas.
👉 ¿Listo para explorar y crear con nosotros? Haz clic en [aquí] y únete hoy!
5.8 Función Definida por el Usuario¶
En C, podemos dividir un programa grande en los bloques básicos de construcción conocidos como función. La función contiene un conjunto de declaraciones de programación encerradas por {}. Una función se puede llamar varias veces para proporcionar reusabilidad y modularidad al programa C. En otras palabras, podemos decir que la colección de funciones crea un programa. La función también se conoce como procedimiento o subrutina en otros lenguajes de programación.
Hay las siguientes ventajas de las funciones.
Mediante el uso de funciones, podemos evitar reescribir la misma lógica/código una y otra vez en un programa.
Podemos llamar a funciones C cualquier número de veces en un programa y desde cualquier lugar en un programa.
Podemos rastrear fácilmente un gran programa C cuando se divide en múltiples funciones.
La reusabilidad es el principal logro de las funciones C.
Sin embargo, la llamada a funciones siempre es una sobrecarga en un programa C.
Hay dos tipos de funciones en la programación C:
Funciones de Biblioteca: las funciones que se declaran en los archivos de encabezado de C.
Funciones Definidas por el Usuario: las funciones que crea el programador de C, para que él/ella pueda usarlas muchas veces. Reduce la complejidad de un programa grande y optimiza el código.
En este proyecto, define una función para leer el valor del módulo ultrasónico.
Componentes Necesarios
En este proyecto, necesitamos los siguientes componentes.
Es definitivamente conveniente comprar todo un kit, aquí está el enlace:
Nombre |
ELEMENTOS DE ESTE KIT |
ENLACE |
|---|---|---|
3 in 1 Starter Kit |
380+ |
También puedes comprarlos por separado en los siguientes enlaces.
INTRODUCCIÓN DEL COMPONENTE |
ENLACE DE COMPRA |
|---|---|
Esquemático
Cableado
Código
Nota
Abre el archivo
5.8.user_function.inobajo el camino de3in1-kit\basic_project\5.8.user_function.O copia este código en Arduino IDE.
O sube el código a través del Editor Web de Arduino.
Después de que el código se haya subido con éxito, el monitor serie mostrará la distancia entre el sensor ultrasónico y el obstáculo adelante.
¿Cómo funciona?
Acerca de la aplicación del sensor ultrasónico, podemos revisar directamente la subfunción.
float readSensorData(){// ...}
El trigPin del módulo ultrasónico transmite una señal de onda cuadrada de 10us cada 2us.
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
El echoPin recibe una señal de nivel alto si hay un obstáculo dentro del alcance y utiliza la función pulseIn() para registrar el tiempo desde el envío hasta la recepción.
microsecond=pulseIn(echoPin, HIGH);
La velocidad del sonido es de 340 m/s o 29 microsegundos por centímetro.
Esto da la distancia recorrida por la onda cuadrada, ida y vuelta, por lo que dividimos por 2 para obtener la distancia del obstáculo.
float distance = microsecond / 29.00 / 2;
Toma en cuenta que el sensor ultrasónico pausará el programa cuando esté funcionando, lo que puede causar cierto retraso al escribir proyectos complejos.