Familiarizarse con la estructura condicional if-else en C mediante un proyecto práctico con Arduino.
Conecta el sensor ultrasónico, el ventilador y el relevador al Arduino según las especificaciones de pines definidas en el código y esquema proporcionado.
Código:
// Definir los pines del sensor ultrasónico
const int trigPin = 2;
const int echoPin = 3;
// Definir el pin del VENTILADOR
const int fanPin = 13;
// Definir la distancia de activación en centímetros
const int distanciaActivacion = 10;
void setup() {
// Inicializar el puerto serie
Serial.begin(9600);
// Configurar los pines
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);
pinMode(fanPin, OUTPUT);
}
void loop() {
// Generar un pulso corto en el pin de disparo
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
// Leer el tiempo de eco del sensor
long duracion = pulseIn(echoPin, HIGH);
// Convertir el tiempo a distancia en centímetros
int distancia = duracion * 0.034 / 2;
// Imprimir la distancia en el monitor serie
Serial.print("Distancia: ");
Serial.print(distancia);
Serial.println(" cm");
// Verificar si la distancia es menor que la distancia de activación
if (distancia < distanciaActivacion) {
// Encender el Ventilador
digitalWrite(fanPin, HIGH);
} else {
// Apagar el Ventilador
digitalWrite(fanPin, LOW);
}
// Esperar un breve momento antes de la próxima lectura
delay(100);
}
Se definen las constantes trigPin y echoPin que representan los pines del sensor ultrasónico, y fanPin que representa el pin del ventilador.
Se establece la distancia de activación en 10 centímetros mediante la constante distanciaActivacion.
En la función setup(), se inicia la comunicación serial a una velocidad de 9600 baudios utilizando Serial.begin(9600). Luego se configuran los pines trigPin, echoPin, y fanPin como salidas o entradas según corresponda mediante pinMode().
La función loop() se ejecuta repetidamente.